Install
Start hereInstall Node.js v18+ (recommended: v20+).
Institutional-grade, zero-backend, privacy-first invoice generator built for Indian financial consultants, freelancers, and small businesses. Generates pixel-perfect, GST-ready PDF invoices entirely in the browser — no servers, no sign-ups, no data leaving your machine. Features 20+ professional templates via a registry-based TemplateEngine, Indian FY numbering (INV/FY25-26/0001), UPI QR code generation, multi-profile sender management, and full client CRM — all stored in localStorage with JSON export/import backup.
What the README tells you
0 ⭐ | 1 fork | 18 commits | Private license. The README documents complete project structure tree (73+ files), 20+ template registry system, Indian financial compliance (FY numbering, Lakhs/Crores, GSTIN, PAN, UPI QR), 7-step usage guide, localStorage persistence schema with 7 keys, File System Access API backup, .cursorrules for AI assistants, and chunk-splitting Vite config. Languages: TypeScript 83.4%, CSS 15.1%.
A quick practical feature map before you open the source code.
Dashboard — Revenue tracking with stats cards, quick actions, and recent invoice list. Professional layout with sidebar navigation.
Invoice Creator — Split-pane UI with form editor on left and real-time A4 preview on right. Line-item editor with quantity, rate, GST auto-calculation. Client selector with search modal. Template gallery with 20+ designs on the right panel.
20+ Template Engine — Registry pattern where each template is metadata (id, name, category, layout, accent, fontFamily). 4 layout types (classic/corporate/minimal/centered) × dynamic accent colors = 20+ distinct visual styles with zero code duplication via TemplateEngine.tsx.
Indian Financial Compliance — FY numbering (INV/FY25-26/0001, auto-increments per FY), Amount in Words (Indian system: Lakhs/Crores), GSTIN support (sender + client), PAN display, UPI QR code auto-generation from UPI ID for instant payments.
Client CRM — Full client database with add/edit/delete, GSTIN storage, search modal for quick selection during invoice creation.
Transactions Ledger — All saved invoices with status management (Paid/Sent/Overdue), duplicate, and delete actions.
Multi-Profile Settings — Create multiple sender profiles (company name, logo, signature, PAN, GSTIN, bank details: A/C No, IFSC, UPI ID). Switch profiles per invoice.
Data Persistence — localStorage under mrchartist_inv_* prefix (7 keys: settings, invoices, clients, items_catalog, transactions, auth, template). JSON Export/Import + Chrome File System Access API for direct disk sync. PIN-based local authentication.
Follow these steps to get Invoice Creator running on your machine.
Setup Path
Follow the README flow first. Once the app opens locally, use the AI prompts below to trace the data flow and make focused changes.
Install Node.js v18+ (recommended: v20+).
Clone. git clone https://github.com/MrChartist/Invoice.git && cd Invoice
git clone https://github.com/MrChartist/Invoice.gitInstall. npm install
npm installStart dev server. npm run dev — opens on http://localhost:5173 with HMR.
npm run devCreate your account with a 4-digit PIN on first visit. Set up company profiles in Settings.
For production. npm run build outputs to dist/, deployable to any static host (Vercel, Netlify, GitHub Pages).
Preview production build. npm run preview.
Pick your AI tool, copy the prompt, and let it handle the entire setup and codebase walkthrough for you.
Best when you want the assistant to operate inside the editor and handle setup end-to-end.
Ready-to-use prompt ↓
Open https://github.com/MrChartist/Invoice. Clone the repository, inspect the README first, then set up the project locally using the exact setup steps from the README. Before editing anything, explain the stack, folder structure, data flow, required environment variables, and the safest first customization for this project: Run npm run dev, create a test invoice with a template, then ask an AI to explain the TemplateEngine registry pattern before customizing templates.
How it works: Paste the prompt into Antigravity after choosing the repo. Ask it to read the README first, run setup commands, keep changes small, and explain every file it touches before editing.
Best when you want command-by-command setup, debugging, code edits, and verification in a local workspace.
Ready-to-use prompt ↓
I want to work on https://github.com/MrChartist/Invoice. First read the README and summarize what the project does. Then give me the exact commands for my operating system to clone, install, configure environment variables, and run it locally. After it runs, inspect the codebase and propose one small change that matches this goal: Run npm run dev, create a test invoice with a template, then ask an AI to explain the TemplateEngine registry pattern before customizing templates.
How it works: Paste the prompt into Codex with the repository URL. Ask it to run the project, identify the stack from files instead of guessing, make scoped edits, and verify with build or browser checks.
Best when you want architecture explanation, codebase understanding, and a clean implementation plan before edits.
Ready-to-use prompt ↓
Analyze https://github.com/MrChartist/Invoice from the README and source structure. Create a clear architecture map, explain the main modules, identify setup risks, and recommend a safe implementation plan for extending it. Focus especially on: Ask the AI to map the component architecture: pages/ (Dashboard, InvoiceCreator, Transactions, Clients, Settings, LoginPage) → components/ (form/, preview/, templates/, modals/, ui/) → store/ (Zustand + React Context) → lib/ (auth, localDb, utils). Ask it to explain the TemplateEngine registry pattern: how template metadata (layout, accent, font) drives rendering in TemplateEngine.tsx without code duplication. Ask it to trace the PDF export pipeline: InvoicePreview component → html-to-image capture → jsPDF A4 rendering → download. Ask it to explain the Indian FY numbering logic in utils.ts and how amount-in-words uses Lakhs/Crores instead of Millions/Billions. IMPORTANT: Read .cursorrules first — no Tailwind (CSS Modules only), no backend, no @react-pdf/renderer, respect snapshotting (use invoice.sender not global settings), keep Indian FY numbering.
How it works: Paste the prompt with the GitHub link. Ask Claude to read the README, map modules, list risks, and produce a practical plan before using Claude Code or another agent to implement.
After setup, use these focused questions to get the most value from your AI assistant.
AI Briefing Mode
Use these prompts after the repo runs locally. The goal is to make the AI trace the system before it changes code.
Ask the AI to map the component architecture: pages/ (Dashboard, InvoiceCreator, Transactions, Clients, Settings, LoginPage) → components/ (form/, preview/, templates/, modals/, ui/) → store/ (Zustand + React Context) → lib/ (auth, localDb, utils).
Ask it to explain the TemplateEngine registry pattern: how template metadata (layout, accent, font) drives rendering in TemplateEngine.tsx without code duplication.
Ask it to trace the PDF export pipeline: InvoicePreview component → html-to-image capture → jsPDF A4 rendering → download.
Ask it to explain the Indian FY numbering logic in utils.ts and how amount-in-words uses Lakhs/Crores instead of Millions/Billions.
IMPORTANT: Read .cursorrules first — no Tailwind (CSS Modules only), no backend, no @react-pdf/renderer, respect snapshotting (use invoice.sender not global settings), keep Indian FY numbering.
Best Next Step
Run npm run dev, create a test invoice with a template, then ask an AI to explain the TemplateEngine registry pattern before customizing templates.