InfrastructureSource available

    Invoicing that stays in your browser.

    Make GST invoices and keep simple books for your business, entirely inside your own browser.

    Rohit Singh | Mr. ChartistAuthor and builder
    Dashboard
    Invoices
    Runs on
    Your computer
    Setup
    About 3 minutes
    Licence
    Mr. Chartist Non-Commercial Source License
    Updated
    Built with
    • React 19
    • TypeScript
    • Vite 8
    • Zustand
    • CSS Modules
    • html-to-image
    • jsPDF
    01Overview

    What you get.

    1. GST-ready tax invoices, quotations, proforma invoices, credit notes and delivery challans, each with a UPI scan-to-pay QR.

    2. 26 print templates and a Design Studio for colours, fonts and paper size (A4, A5 or 80 mm thermal).

    3. Receivables with aging, party ledgers and printable client statements, plus payment reminders in English and Hinglish.

    4. Purchases, expenses, stock, day book, profit and loss, and bank reconciliation from your CSV statements.

    5. GSTR-1 and GSTR-3B working papers, e-Invoice and e-Way Bill JSON, Tally XML and CSV exports for your accountant.

    6. Your data never leaves the browser. Back it up as a file, to a folder, or as a passphrase-encrypted backup.

    03How it works

    From start to finish.

    1. Enter

      Pages and a Zustand store hold the document you are editing. Every rupee amount is calculated in one file, src/lib/invoice-calc.ts, so totals match everywhere.

    2. Save

      The data layer writes to browser tables under the mrchartist_inv_ prefix. It snapshots the sender profile onto the invoice, refuses duplicate numbers, respects the books lock date and records an audit entry.

    3. Derive

      Receivables, books, reports, stock and GST papers are built from those saved records by small tested functions in src/lib, so they reconcile with the dashboard.

    4. Output

      A template engine renders the paper. html-to-image and jsPDF make the PDF. Separate builders write CSV, Tally XML, GSTR JSON and e-Invoice JSON.

    5. Protect

      A hashed PIN, idle lock and passphrase-encrypted backups guard the data. A service worker makes the app work offline, and auto-backup writes to a folder you choose.

    04Run it

    Run it on your computer.

    You need

    • Node.js 22 or higher
    • Git
    • About 3 minutes
    • Internet only for the first install
    Open a terminal and run
    git clone https://github.com/MrChartist/Invoice.git
    cd Invoice
    npm install
    npm run dev
    Then open http://localhost:5173 in your browser.
    Prefer step by step?Show
    1. 1Install Node.js 22 or higher (nodejs.org). Older versions will not run the test suite.
    2. 2Clone: git clone https://github.com/MrChartist/Invoice.git && cd Invoice
    3. 3Install: npm install
    4. 4Start the dev server: npm run dev, then open http://localhost:5173.
    5. 5On first visit, choose a name and a PIN. Then open Settings and add your business profile: GSTIN, address, bank and UPI ID.
    6. 6Create your first invoice and use Preview to download the PDF. Optionally load the sample data from the Dashboard to explore, and remove it later.
    7. 7Open Settings, then Data & backup, and download a backup or connect a folder for automatic backups. Browser data is lost if you clear site data.
    8. 8Before changing code, run: npm run typecheck && npm run lint && npm test && npm run build.
    9. 9For production: npm run build creates dist/. Serve it from any static host that returns index.html for unknown paths and serves sw.js from the root. Read the licence before hosting it for other people.
    05Install with AI

    Let an AI install it for you.

    Claude

    Best when you want architecture explanation, codebase understanding, and a clean implementation plan before edits.

    You need

    • Repo access
    • README context
    • Terminal if using Claude Code

    How to use: 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.

    You are my setup assistant. Install and run "Invoice" on my computer, then confirm it works. I am not a developer, so explain every step in simple English.
    
    Repository: https://github.com/MrChartist/Invoice
    What it is: Make GST invoices and keep simple books for your business, entirely inside your own browser.
    Built with: React 19 + TypeScript + Vite 8 + Zustand + CSS Modules + html-to-image + jsPDF
    
    Rules
    1. Ask which operating system I use (Windows, macOS or Linux) and give commands for that system only.
    2. Check what is already installed (Git, Node.js or Python versions) before installing anything. If something is missing, tell me where to download it and wait.
    3. Ask me before installing anything globally or changing system settings.
    4. Never ask me to paste passwords or API keys into this chat. If a key is needed, tell me which file to put it in.
    5. Do not edit the project's source code unless I ask.
    6. Read the README first. If it disagrees with the steps below, follow the README and tell me why.
    
    Steps from the guide
    1. Install Node.js 22 or higher (nodejs.org). Older versions will not run the test suite.
    2. Clone: git clone https://github.com/MrChartist/Invoice.git && cd Invoice
    3. Install: npm install
    4. Start the dev server: npm run dev, then open http://localhost:5173.
    5. On first visit, choose a name and a PIN. Then open Settings and add your business profile: GSTIN, address, bank and UPI ID.
    6. Create your first invoice and use Preview to download the PDF. Optionally load the sample data from the Dashboard to explore, and remove it later.
    7. Open Settings, then Data & backup, and download a backup or connect a folder for automatic backups. Browser data is lost if you clear site data.
    8. Before changing code, run: npm run typecheck && npm run lint && npm test && npm run build.
    
    When the steps are done
    - Start the app and tell me the exact address to open. Expected address: http://localhost:5173
    - If an error appears, read it, fix the cause and retry. After three failed attempts, stop and explain the problem simply.
    - Finish with five short lines: what the app does, how to start it again, how to stop it, where its data is stored, and one thing I can try first.
    - This is an information tool. It is not investment advice.
    
    If you can run a terminal (Claude Code), do it yourself. If you are chat only, give me one command block at a time and wait for me to reply before the next.
    06FAQ

    Questions about Invoice.

    Best next step

    Run it, then read the code.

    Run npm run dev, load the sample data, create one invoice and download the PDF. Then ask an AI to explain src/lib/invoice-calc.ts before touching any GST logic.

    Your privacy, your choice

    Essential storage keeps sign-in and preferences working. Optional analytics helps improve the website. Read our Privacy Policy.

    Privacy settings

    Essential sign-in storage and your saved preferences stay enabled. Analytics is optional, and you can change your choice anytime.

    Turning analytics off clears our analytics cookies and local assistant metrics. The page reloads to stop a previously loaded analytics service. Your account and learning progress stay saved.

    Read the Privacy Policy