Free invoice builder & GST billing software for India. Make GST invoices, quotations, bills of supply and credit notes as PDF; GSTR-1/3B reports. Free invoice maker for shops, freelancers & small businesses.
The project's README from github.com/IamRamgarhia/Free-GST-Billing-Software. As one markdown file: README.md.
Create GST-compliant invoices, file GSTR-1 / GSTR-3B / GSTR-2B reconciliation, track TDS / TCS, bill international clients in 22 currencies, manage inventory — all without paying a single rupee. Ever.
Free forever. Works on your computer, even offline. No tracking. No ads. No signup.
Your data never leaves your computer. No cloud and no limits. Open source, so you can check every claim yourself.
A free invoice builder and invoice maker for shop owners, freelancers, consultants, traders and small businesses in India: make a GST invoice, quotation (proforma / estimate), bill of supply, credit note or delivery challan in minutes and save it as a PDF. Free billing software and a free, open-source alternative to Tally, Vyapar, Zoho and myBillBook.
Always the newest version · about 16 MB · Windows, macOS and Linux in one ZIP · release notes
⬇ Download ZIP | 📦 Releases | 📖 Documentation | ⚡ 3-Step Install | 🧾 First Invoice in 5 Minutes | 📸 Screenshots | 🐛 Report Bug
127.0.0.1, this computer itself, and refuses requests from other websites.npm run release:zip.resmon → Network) shows the app's node.exe making no outside connections with Offline mode on. You can even block it in the firewall: the app keeps working, only the update check stops.| What | When | Offline mode |
|---|---|---|
| Check for a new version (asks GitHub for the version number; nothing about you is sent) | By itself, a few seconds after opening, then every 6 hours | Stopped |
| The public supporters list (read from GitHub; nothing is sent) | By itself, when Support & About shows | Stopped |
| Your own Google Drive | Only if you set it up | Automatic copies stopped |
| Installing and updating | When you click Install / Update | Only when you click |
| Help pages, Report a problem, WhatsApp, GST portal links | When you click them | Only when you click |
That is the complete list. No analytics, no ads, no error-tracking service, and no server of ours that receives your data.
Read the full answer: every address the app connects to, and more ways to check →
The download ZIP holds a launcher for each system, a plain-English READ ME FIRST.txt, and a _system/ folder with everything else. Extract the ZIP, double-click the launcher for your computer, click Install — it sets itself up, needs no administrator rights, and opens the app in your browser when it is done.
Free-GST-Billing/
├── Free GST Billing - WINDOWS.hta ← Windows: double-click this
├── Free GST Billing - MAC.command ← macOS
├── Free GST Billing - LINUX.sh ← Linux / NAS
├── READ ME FIRST.txt ← step-by-step, in plain English
└── _system/ ← the app (hidden after install)
The Windows launcher — one button to install, then one button to open. Everything else is under More options.
1. Download the ZIP → https://github.com/IamRamgarhia/Free-GST-Billing-Software/releases/latest/download/Free-GST-Billing.zip
2. Right-click the ZIP → Extract All → pick a folder you'll remember
3. Open the EXTRACTED folder. Each launcher is named after the system it is for
— double-click yours:
Free GST Billing - WINDOWS.hta (opens a window with buttons)
Free GST Billing - MAC.command (opens Terminal)
Free GST Billing - LINUX.sh (opens Terminal — chmod +x first if needed)
⚠ Extract the ZIP first. Windows lets you double-click the launcher while you are still looking inside the ZIP — but then it unpacks that one file on its own to a temp folder, and the launcher correctly reports
_systemfolder is missing even though Explorer is showing it to you.
Prefer one command? Paste this into PowerShell — no admin rights needed:
[Net.ServicePointManager]::SecurityProtocol='Tls12'; irm https://raw.githubusercontent.com/IamRamgarhia/Free-GST-Billing-Software/main/install.ps1 | iex
It fetches the latest release, installs it to
%LOCALAPPDATA%\Programs\Free GST Billing, installs Node.js if you do not have
it, and creates the Desktop shortcut. See Option 1b
for how to choose a different folder.
The launcher:
npm install inside _system/ (one-time, ~2 min)From then on, click the Free GST Billing icon on your Desktop: it starts the app and opens it in its own window. To update / backup / restore / move to another PC / stop the server, use the in-app ⚙ Control Panel in the sidebar (or the launcher in the app folder). No batch files, no CMD windows.
☁ Can I host it online (Railway, Render, Supabase)? Not yet. The app has no login on its server, so anyone who found the address could read or delete your books, and it keeps its data as files, not in a database. Why, and what to do instead. Using it from a phone or tablet on the same Wi-Fi is planned for the update on Saturday 7 November 2026.
Real screens from the app, with a made-up demo business (DiceCodes, fake GSTIN and bank details).
![]() Dashboard: overdue invoices, totals, low stock and every invoice in one list. |
![]() New invoice: fill in the form, the preview updates as you type. |
![]() Exports under LUT: bill in dollars, no IGST, the declaration printed for you. |
![]() GST returns: GSTR-1 and GSTR-3B built from your invoices. |
![]() Cash book: cash in and out, with the cash in hand. |
![]() Dark mode: one click at the top right. Invoices still print in normal colours. |
More screenshots, next to the steps they show, in the documentation.
A step-by-step guide for the very first invoice you create after installing. Targeted at users who've never used billing software before.
You need: Windows 10/11 PC, ~50 MB free disk, your business name + bank details (optional, can be added later). No coding knowledge required. No internet needed after install.
Documents\FreeGSTBill)Free GST Billing - WINDOWS (each launcher is named after the system it is for)http://localhost:47371, and a Free GST Billing icon is on your Desktop for next timeEasier: one line, no ZIP, no warnings. Press Windows + R, paste this, press Enter:
powershell -ExecutionPolicy Bypass -c "[Net.ServicePointManager]::SecurityProtocol='Tls12'; irm https://raw.githubusercontent.com/IamRamgarhia/Free-GST-Billing-Software/main/install.ps1 | iex"It installs the app, adds Desktop and Start-menu icons and opens it in its own window. Run it again any time to update or repair.
💡 Tip: Click the small Install App icon in your browser's address bar to make the app open in its own window like Tally or Word — no browser chrome, looks and feels native.
The Welcome Wizard appears automatically on first launch.
That's it. The PDF saves to Saved Invoices/<Client Name>/<Month>/ and the invoice is logged in your bills list with a unique number.
After clicking Download PDF you get three sharing options inline:
Open the Dashboard. The invoice shows in the list with a status badge.
unpaid → partial → paid)Once you're comfortable with the basics, explore:
📖 Full walkthrough — see docs/USER_GUIDE.md or the online documentation, which the app's User Guide button opens.
Most billing software in India — Zoho Invoice, Vyapar, Tally, myBillBook — charges you monthly, stores your financial data on their servers, and locks you in. Free GST Billing Software is the open-source alternative that changes everything.
If you're paying for billing software, you can stop now.
Every 🆕 row below is a feature we shipped in v1.10 that competitors either paywall, cripple in the free tier, or don't offer at all.
| Feature | Free GST Billing Software | Tally Prime | Vyapar | Zoho Books | ClearTax GST |
|---|---|---|---|---|---|
| Price | ✅ Free forever | ₹22,500–₹67,500 one-time | ₹2,599+/year | ₹899–₹2,999/month | ~₹3,599/year+ |
| GST invoices (CGST/SGST/IGST) | ✅ | ✅ | ✅ | ✅ | ✅ |
| 🆕 UTGST for intra-UT supplies | ✅ Auto-detected | ⚠ Manual | ❌ | ⚠ Manual | ⚠ Manual |
| GSTR-1 / GSTR-3B JSON export | ✅ | ✅ (paid tier) | ⚠ CSV only | ✅ (Standard+) | ✅ |
| GSTR-2B reconciliation | ✅ | ✅ (paid tier) | ❌ | ✅ (Premium) | ✅ |
| E-Way Bill JSON | ✅ | ✅ | ❌ | ✅ | ✅ |
| TDS / TCS on invoices | ✅ Form 26Q / 27EQ-ready | ✅ | ❌ | ✅ | ✅ |
| 🆕 TCS on right base + ₹50L threshold | ✅ Auto (Circular 17/2020) | ⚠ Manual | ❌ | ⚠ Manual | ⚠ Manual |
| 🆕 Income Tax (ITR) with 234B/C interest | ✅ Free | ❌ | ❌ | ⚠ CA add-on | ✅ (separate product) |
| Multi-business / multi-GSTIN | ✅ Unlimited | ✅ (Gold tier) | ⚠ Silver tier | ✅ (Premium) | ✅ |
| Multi-account payments per business | ✅ Unlimited | ✅ | ⚠ Paid | ✅ | ✅ |
| Custom per-line units (kg, ltr, Hrs + custom) | ✅ | ⚠ Limited | ⚠ Paid | ✅ | ⚠ Limited |
| 22-country multi-currency | ✅ | ⚠ Paid | ❌ | ✅ (Premium) | ❌ |
| Offline-first (works without internet) | ✅ | ✅ | ⚠ Limited | ❌ Cloud | ❌ Cloud |
| Your data on YOUR computer (no cloud) | ✅ | ✅ | ⚠ Cloud sync | ❌ Cloud | ❌ Cloud |
| Open-source (MIT licensed) | ✅ | ❌ Proprietary | ❌ Proprietary | ❌ Proprietary | ❌ Proprietary |
| No signup / no email collected | ✅ | ✅ | ❌ Phone+OTP | ❌ Email login | ❌ Email login |
| Recurring invoices auto-generation | ✅ | ✅ | ⚠ Paid | ✅ | ⚠ |
| 🆕 9 one-click design presets (Modern / Corporate / Retail Brand / …) | ✅ | ❌ | ⚠ 2-3 templates (paid tier) | ⚠ Paid | ❌ |
| 🆕 Split-view live preview (settings + preview side-by-side) | ✅ | ❌ | ❌ | ⚠ Small preview | ❌ |
| 🆕 User-configurable PDF colours (accent, header, text, divider) | ✅ Every colour | ❌ | ❌ | ⚠ Accent only (paid) | ❌ |
| 🆕 Print margins (mm) — top/bottom/left/right | ✅ | ⚠ Paid tier | ❌ | ⚠ Paid | ❌ |
| 🆕 Multi-language section labels (English/Hindi/Tamil/Marathi/Bengali) | ✅ Free | ⚠ Paid | ❌ | ❌ | ❌ |
| 🆕 Multi-page Rule 48 (Original/Duplicate/Triplicate) — rows never cut | ✅ | ✅ | ⚠ Paid Gold | ⚠ Paid | ⚠ Paid |
| 🆕 Watermark (DUPLICATE / DRAFT / custom) on PDF | ✅ | ⚠ Paid | ⚠ Paid Silver | ✅ | ⚠ Paid |
| 🆕 Auto-print payment receipt (with view/edit/delete history) | ✅ | ⚠ Paid | ⚠ Paid | ⚠ Paid | ⚠ Paid |
| 🆕 Bulk PDF export with progress + cancel | ✅ Free | ⚠ Paid | ❌ | ⚠ Paid | ⚠ Paid |
| 🆕 Ctrl+K command palette (search invoices/clients/products) | ✅ | ❌ | ❌ | ❌ | ❌ |
| 🆕 Notification bell (overdue + low stock + filings + updates) | ✅ | ⚠ Basic | ⚠ Paid | ✅ | ⚠ |
| 🆕 Automatic daily backup + Trash bin (30-day retention) | ✅ Free | ⚠ Manual export | ⚠ Paid cloud-sync | ✅ Cloud-only | ✅ Cloud-only |
| 🆕 Transactional restore (rollback on error) | ✅ | ❌ | ❌ | ❌ | ❌ |
| 🆕 Setup wizard with 6 business-type presets | ✅ | ❌ | ⚠ Basic | ⚠ Basic | ⚠ Basic |
| 🆕 In-app searchable user guide | ✅ | ❌ External PDF | ❌ External | ❌ External | ❌ External |
| 🆕 Barcode + QR of invoice number on PDF | ✅ Every invoice | ⚠ Paid | ⚠ Paid | ❌ | ❌ |
| 🆕 Feedback QR (Google Reviews link) on PDF | ✅ | ❌ | ❌ | ❌ | ❌ |
| 🆕 Google Drive backup + PDF upload (opt-in) | ✅ Free (your OAuth) | ❌ | ⚠ Paid | ✅ (Premium) | ❌ |
Last verified 2026. Competitors' features change; verify on their pricing pages.
If we priced every 🆕 feature at the going rate on the paid alternatives:
Total that would cost you ~₹8,000–₹15,000/year on the competing stack. Here: ₹0, forever, MIT-licensed.
🆕 What's new (v1.10.30 → v1.10.42, shipped 2026)
- Direct-HTML vector thermal print (v1.10.42) — 58/80mm receipts skip the raster PDF path and go straight to the printer as vector text. Sharp glyphs on 203-dpi thermal heads, smaller print jobs. User-toggle to switch back to Via-PDF for finicky printers.
- Payment / receipt reconciliation (v1.10.41) — Dashboard auto-heals any orphaned receipts against their invoice; stale-editor saves can no longer wipe a payment recorded in another tab.
- REPRINT badge polish (v1.10.41) — moved to top-right so it never overlaps the logo; default OFF for freelancers/services (retail/POS can opt in).
- Bill of Supply / Delivery Challan (v1.10.39) — the "no GST" invoice types now correctly remove GST from the invoice total.
- PDF colour crash fix (v1.10.40) — swapped
color-mix(in oklab, …)forrgba(); PDF Save & Download works on every browser again.- Invoice PDF polish (v1.10.38) — accent-tinted TOTAL DUE anchor, footer-block containers matching Bill To, smart Terms format default (services → formatted, goods → compact).
- Payment Accounts — Account Holder Name + Account Type (v1.10.37) — invoices now show whose name is on the bank and whether it's Savings/Current.
- Portal print preview + settings redesign + business-type gating (v1.10.36) — split-view collapses to one column on mobile, sections gated by business preset (freelancer no longer sees thermal-only options), reusable page-header card across every screen.
- Vector-HTML thermal preview + OCR line items (v1.10.35) — OCR now extracts HSN / qty / rate / tax% per line and fuzzy-matches your saved product catalogue.
- In-app ConfirmModal + PromptModal (v1.10.34) — every native browser confirm/prompt replaced with a theme-aware in-app modal.
- Complete 4-mode discount system (v1.10.25) — Net / Unit / Price-with-Tax + invoice-level Total discount.
- Client credit balance (v1.10.24) — overpayments carry forward and apply to the next bill automatically.
- Focus mode + Ctrl+K command palette + Notification bell (through v1.10.36) — keyboard-first workflow for POS speed.
Full history: CHANGELOG.md. Earlier v1.10 milestones (UTGST bucket, GST Rule 48 multi-copy, 9 design presets, print margins, multi-language labels, daily backup + Trash bin, transactional restore) remain — see the feature tables below.
| Feature | Details |
|---|---|
| 5 Invoice Types | Tax Invoice, Proforma/Estimate, Bill of Supply, Credit Note, Delivery Challan |
| 🆕 Cancel Invoice (not delete) | A saved invoice keeps its number for GST. Cancelling stamps CANCELLED on the PDF and removes it from totals, reports and GST returns; stock goes back. Any other status un-cancels it |
| 🆕 Logo, signature and stamp | Upload each separately with its own size slider; signature and stamp print centred, side by side, above the signatory name |
| 🆕 GSTIN fills in the state | Type a client's GSTIN and the State is filled from it, offline. A mistyped GSTIN is caught by the checksum the number carries, before it reaches a return |
| Auto GST Calculation | CGST + SGST for intra-state, IGST for inter-state — uses Place of Supply override and SEZ flag (Section 16, IGST Act) |
| 🆕 UTGST Bucket | Intra-UT supplies for Chandigarh, Ladakh, Andaman & Nicobar, Lakshadweep, Dadra & Nagar Haveli / Daman & Diu correctly file as CGST + UTGST instead of CGST + SGST — required by GSTN portal (Chapter II of GST Act) |
| 🆕 Interstate Detection Guard | Blank business-state produces a warning + block instead of silently defaulting to intra-state (fresh installs can no longer ship interstate invoices with wrong tax split) |
| HSN/SAC Codes | Add HSN or SAC codes per line item with correct tax rates |
| Per-Line Units of Measurement | kg, ltr, mtr, ft, hrs, pcs, sqft + 15 more — plus user-defined custom units (Carat, Bundle, anything). UQC propagated to GSTR-1 and E-Way Bill |
| TDS / TCS on Invoices | Section 194Q / 194C / 194J / 194I / 194H / 194O / 195 (TDS) and 206C(1H) / 52 (TCS) with per-quarter Form 26Q / 27EQ-ready CSV reports |
| 🆕 TCS on Right Base + ₹50L Threshold | Section 206C(1H) computed on receipt including GST per CBDT Circular 17/2020 (not pre-GST subtotal). ₹50 lakh annual per-counterparty threshold properly enforced — no over-collection on the first invoice |
| UPI QR Code | Auto-generated QR code on every Indian-rupee invoice from your UPI ID |
| Multi-Currency | Bill in INR + 21 other currencies (USD, EUR, GBP, AED, AUD, SGD, CAD, MYR, ZAR, NGN, KES, SAR, NPR, BDT, LKR, PKR, PHP, IDR, NZD, etc.) with locale-correct formatting and amount-in-words for each |
| Country-Aware Tax Labels | "GST" for India, "VAT" for UAE/UK/EU, "SST" for Malaysia, "MwSt" for Germany, "TVA" for France, "PPN" for Indonesia — auto-applied based on seller country |
| 3 PDF Styles | Classic / Modern / Minimal layouts with customisable accent colour and high-quality multi-page export |
| 🆕 9 One-Click Design Presets | Modern (indigo, filled headers) · Classic (mono ALL CAPS, SMART BAZAAR style) · Corporate (navy + gold, premium) · Minimalist (hairlines, airy) · Colorful (warm orange, retail/cafe) · Compact (max lines per page) · Enterprise (blue accent, e-commerce feel) · IT Services (deep navy heading) · Retail Brand (logo-first, HSN column). Each preset shapes both PDF colours + thermal typography in one click |
| 🆕 Multi-Page Rule 48 Compliant PDF | DOM-level pagination snaps page breaks to safe row boundaries — table rows never cut mid-content across pages. Multi-copy (ORIGINAL / DUPLICATE / TRIPLICATE) correctly duplicates every page for goods invoices |
| 🆕 Print Margins (mm) | Top / Bottom / Left / Right margins in mm — shifts content inside every PDF page. Essential for pre-printed letterhead and printers with built-in edge margins |
| 🆕 PDF Font Family | Helvetica (default, cleanest) · Times New Roman (traditional / formal) · Courier (monospace / receipt style). Independent of thermal typography setting |
| 🆕 PDF Font Scale (80% – 140%) | Slider that multiplies with the base size preset. Fit more per page (80%) or bump up for older customers (140%) — proportional across the whole invoice |
| 🆕 Multi-Language Section Labels | English, Hindi, Tamil, Marathi, Bengali — or override any individual label to match your brand. BILL TO → बिल किसे, TAX INVOICE → கர சாலான், etc. |
| 🆕 PDF User Colours | Fully user-configurable palette — primary text, muted text, accent, accent text, header background, divider colour. Live preview updates as you type |
| 🆕 Print & PDF Split-View Live Preview | 70+ settings on the left, sticky preview on the right. Tabs for PDF (A4) · Thermal (80mm) · Split view — every change reflects instantly without scrolling |
| Granular PDF Field Control | 30+ togglable fields grouped by section (Header, Client, Items table, Totals, Footer). Hide-all / Reset-default in one click |
| Round-off + Currency Exchange Rate Snapshot | Optional round-to-nearest-rupee line and FX rate stored on the invoice for accurate historical reports |
| Rich-Text Terms & Notes | Bold, italic, underline, lists, headings, links — all DOMPurify-sanitised. 13 India-specific Terms presets by business type (SME, Freelancer, Manufacturer, Retail, Restaurant, IT/SaaS, Construction, Medical, Education, Transport, Real Estate, E-commerce, Export-LUT) |
| Amount in Words | Indian format (Crore, Lakh) for INR, international format (Million, Thousand) for foreign currencies — correctly named per currency (Dollars, Dirhams, Pounds, Pence, Riyals, Halalas, Naira, Kobo, etc.) |
| Quotation to Invoice | Convert any Proforma/Estimate to Tax Invoice in one click |
| Auto-Save + Save-Before-Leave | Auto-saves to sessionStorage as you type; only persists to bills list once meaningful (client + priced item). Browser-close / Back prompts to save |
| Custom Invoice Numbers | Branded prefix, separator style, financial year, zero-padded digits — atomic counter (no duplicate numbers under concurrent saves) |
| Private Internal Notes | Add notes only you can see (not printed on the PDF) |
| Rich-Text Extra Pages | Attach formatted content (tables, lists, scope of work) as additional PDF pages |
| Feature | Details |
|---|---|
| GSTR-1 Data | B2B invoices (with GSTIN), B2C aggregated by tax rate, B2C Large (inter-state > Rs.2.5 L), HSN summary with UQC, Credit Notes (CDNR / CDNUR), Document Summary (Table 13) |
| GSTR-3B Computation | Output tax liability, Input Tax Credit from expenses + purchases (auto-routed to IGST or CGST+SGST per inter-state flag), net tax payable — ready to copy into GST portal |
| GSTR-1 + GSTR-3B JSON Export | Download GSTN offline-tool format JSON files (schema v1.7) and upload directly to gst.gov.in — no manual data entry |
| GSTR-2B Reconciliation | Import GSTR-2B JSON downloaded from the GST portal; auto-matches each entry against your purchase records by supplier GSTIN + invoice number. Flags Matched / Amount-mismatch / Books-only / 2B-only entries with filterable summary and CSV export |
| TDS / TCS Reports | Per-quarter, per-section aggregation of TDS receivable (deducted by clients) and TCS collected. CSV exports formatted as direct input for Form 26Q and Form 27EQ quarterly returns |
| CSV Exports | Download B2B, B2C, B2C Large, HSN, CDNR, Doc Summary reports as CSV for your CA or portal upload |
| Step-by-Step Filing Guide | Interactive walkthrough for filing GSTR-1 and GSTR-3B on the GST portal — late-fee math up-to-date with CGST Amendment Act 2023 |
| NIL Return Guide | Auto-detects zero-activity periods with instructions for filing NIL returns |
| E-Way Bill JSON | Download NIC-format JSON (schema v1.0.1221) for e-way bill portal upload (goods > Rs.50,000). PIN codes auto-extracted from address; correct supplyType for outward bills |
| SEZ Client Flag | Tick on a client and supplies are auto-charged IGST regardless of state (Section 16, IGST Act) |
| Soft Tax-ID Validation | GSTIN / VAT / TRN / EIN format check per country with friendly warning — never blocks save |
| Filing Checklist | Interactive checklist with progress tracking, deadlines, and penalty info |
| Feature | Details |
|---|---|
| Client Ledger | Save clients with GSTIN, track outstanding amounts, view payment history |
| Product Catalog | Save products with HSN/SAC, rate, GST %, unit, stock quantity — auto-fills during invoicing |
| Stock Management | Auto-deducts stock on invoice creation, restores on deletion, low stock tracking |
| Expense Tracker | Record expenses with category, vendor, GST % for automatic ITC calculation |
| Recurring Invoices | Templates for retainer clients — weekly, monthly, quarterly, yearly with auto-advance |
| Payment Receipts & Vouchers | Generate payment receipts linked to invoices with amount in words |
| 🆕 Auto-Print Payment Receipt | Recording a payment auto-opens a printable receipt (business header, receipt number, invoice number, mode, amount in Indian words, running balance). Print via browser Print → Save as PDF |
| 🆕 Payment History CRUD | Every payment has a stable id + Receipt (reprint) / Edit note / Delete actions. Deleting a payment recomputes totals + status automatically |
| 🆕 Notification Bell | Overdue invoices, low stock, upcoming GST filings, and update banners all surface in a single click-out popover with badge count. Mark all as read clears it — and each section remembers exactly what was cleared, so a genuinely new overdue invoice brings the alert back on its own |
| 🆕 Ctrl+K Command Palette | Spotlight-style search across invoices, clients, products, and every settings section. Select an invoice → opens for edit in one keystroke |
| 🆕 Setup Wizard | 3-step first-run wizard with 6 business-type presets (Retail / Freelancer / Restaurant / Wholesale / Manufacturing / Service). Configures paper size, language, and defaults in 90 seconds |
| Purchase Bills | Record purchase invoices for ITC tracking and expense management |
| Multi-Business Profiles | Run several businesses side by side, each with its own GSTIN, bank details, logo and signature — and its own separate books. Invoices, dashboard totals, expenses, purchases, payment receipts, recurring templates, reports, GST returns and Income Tax all follow whichever business is selected, so one company's figures never appear under another. Your client list stays shared |
| Feature | Details |
|---|---|
| Profit & Loss Statement | Revenue vs. expenses breakdown (excluding GST) with net profit/loss and margin % |
| Monthly P&L Breakdown | Month-by-month financial performance |
| Outstanding & Aging | Track unpaid invoices with auto-overdue detection and days overdue counter |
| Low Stock Alerts | Monitor inventory levels across your product catalog |
| GST Return Summaries | GSTR-1, GSTR-3B, HSN summaries auto-generated from your invoices and expenses |
| Dashboard Stats | Total revenue, tax collected, invoice count, outstanding amount at a glance |
| 🆕 Client Analytics | Top clients by revenue, worst payers (average days-to-payment), client mix — data straight from your invoice ledger |
| 🆕 Product Performance | Best-sellers, most units sold, revenue by product — surfaces which items to restock or push |
| 🆕 Income Tax (ITR) Computation | Full-featured ITR module: old vs. new regime compare, salary/business/capital-gains slabs, deductions with senior-citizen-aware 80D caps, Section 234B/234C interest with calendar-month accuracy, surcharge with 15% cap on 111A/112A gains (Finance Act 2022), presumptive-mode advance-tax schedule, ITR-4 Sugam field map |
| Feature | Details |
|---|---|
| PDF Download | High-quality, multi-page PDF — render scale max(3, devicePixelRatio × 2), JPEG 0.95, deflate-compressed. Sharper text, modest file size |
| WhatsApp Sharing | Share invoices directly via WhatsApp (desktop app or web, auto-detected) |
| One-click email with invoice summary | |
| Google Drive Auto-Upload (PDFs) | Invoices auto-upload to your own Google Drive after download (optional, OAuth via your Client ID) |
| Google Drive JSON Backup | Optional checkbox in Export to upload the JSON backup to your Drive's <Folder> - Backups subfolder alongside the local download |
| Granular Backup / Restore | Pick exactly what to back up via checkboxes — profile, profiles, invoices, clients, products, expenses, purchases, recurring, receipts, terms templates, settings, local prefs (custom units, theme, region, modules). Import previews counts before restoring |
| 🆕 Automatic Daily Backup + Trash Bin | Every day the server snapshots your entire data/ folder into data/backups/YYYY-MM-DD/. 30-day retention with auto-purge. Deleted invoices move to a Trash bin (30-day retention) with one-click Restore |
| 🆕 Transactional Restore | Restoring a backup snapshots your live data FIRST — if the restore errors partway through, it rolls back automatically. No more losing everything on a bad restore |
| 🆕 Bulk PDF Export with Progress + Cancel | Combine any selection of invoices into one multi-page PDF, or download them as separate PDFs (one per invoice) in a ZIP. Pick any date range with From / To. Progress toast every 5 invoices, event-loop yield between renders, Cancel button. Works on 50+ invoices without freezing the tab |
| CSV Import | Bulk import clients and products from CSV files |
| Mobile Web Share | Web Share API attaches PDF to WhatsApp or any app on mobile |
| Feature | Details |
|---|---|
| 30+ Invoice Display Toggles | Show/hide every field: logo, business name, address, phone, email, state, GSTIN, client address/phone/email, place of supply, invoice number/date, due date, HSN, qty, unit, rate, discount, tax, subtotal, amount in words, round-off, bank details, UPI QR, signature, signatory caption, Terms, Notes — grouped by section with Hide-all / Reset |
| Region Preference | Pick India only / International / Both. Adapts every menu, picker, and tax label without losing data |
| Modules Page | Turn off entire feature groups you don't need (recurring invoices, expenses, purchases, GST returns, integrations) — sidebar shrinks to match |
| Custom Invoice Numbering | Branded prefix, separator (/ - #), financial year toggle, starting number, digit padding |
| Terms & Conditions | Rich-text editor (B/I/U, lists, headings, links) + 13 India business-type starter templates + reusable saved-template library |
| Multi-Business Profiles | Separate profiles with different GSTIN, bank details, logo, signature, country, currency. Switcher in the header for one-click context change — the dashboard and every report re-filter immediately, with no reload. Records saved before you began separating businesses stay visible under all of them and are never hidden; a one-click Assign to ‹business› prompt lets you attach them when you are ready |
| Dark Mode | Full dark theme with automatic persistence and theme-aware utility classes everywhere |
| Own Desktop icon | One click starts the app and opens it in its own window, no browser tabs |
| Online documentation | Every screen explained, with search; the User Guide button and each screen's ? help open it |
New to computers? Follow the step-by-step guides, with every click explained: Windows · Mac · Linux / NAS · Updating · Using the Terminal
Windows: press Windows + R, paste, press Enter:
powershell -ExecutionPolicy Bypass -c "[Net.ServicePointManager]::SecurityProtocol='Tls12'; irm https://raw.githubusercontent.com/IamRamgarhia/Free-GST-Billing-Software/main/install.ps1 | iex"
Mac / Linux: open Terminal, paste, press Return:
curl -fsSL https://raw.githubusercontent.com/IamRamgarhia/Free-GST-Billing-Software/main/install.sh | bash
It checks the computer, downloads the release (packages included), installs to %LOCALAPPDATA%\Programs\Free GST Billing / ~/Applications/Free GST Billing / ~/.local/share/free-gst-billing, adds an icon (Desktop + Start menu, a Mac app, a Linux menu entry) and opens the app in its own window. The same line updates or repairs an existing install in place: _system/data is backed up first and never touched. Remove with -Uninstall (Windows: & ([scriptblock]::Create((irm <url>/install.ps1))) -Uninstall) or | bash -s -- --uninstall; data is only deleted if you type DELETE.
Documents\FreeGSTBill) — right-click the ZIP → Extract AllFree GST Billing - WINDOWS.htaThat's it. The launcher installs Node.js if you don't have it. From then on, click the Desktop icon: it starts the app and opens it. Update, Backup, Restore, Move to another PC and Stop Server are in the app's ⚙ Control Panel, and in the launcher in the app folder.
Do not run the launcher from inside the ZIP. Windows will let you double-click it while you are still browsing the compressed folder, but it unpacks only that one file to a temp folder — so the launcher reports
_systemfolder is missing, which is true of the temp folder it was copied into. Extract the ZIP, then open the launcher from the extracted folder.
The one-line install (Option 0) takes the folder from FREEGSTBILL_DIR. In PowerShell:
$env:FREEGSTBILL_DIR = 'D:\Apps\Free GST Billing'
[Net.ServicePointManager]::SecurityProtocol='Tls12'; irm https://raw.githubusercontent.com/IamRamgarhia/Free-GST-Billing-Software/main/install.ps1 | iex
On Mac / Linux: curl -fsSL .../install.sh | FREEGSTBILL_DIR=/srv/free-gst-billing bash. If the app is already in that folder it is updated in place; the data folder is never touched.
Why port 47371? IANA-unassigned range, well above the 3000-range that every dev server fights over. If it's ever busy, the server auto-scans upward and writes the chosen port to
data/port.txt— the Start launcher always opens the right URL. Always use the Desktop shortcut.
git clone https://github.com/IamRamgarhia/Free-GST-Billing-Software.git
cd Free-GST-Billing-Software
npm install
npm start # production build + serve on http://localhost:47371
For live-reload development:
npm run dev # dev server on http://localhost:5173 · API on http://localhost:47371
Every install (the launcher, the one-line command, Mac and Linux) puts a Free GST Billing icon on your computer: the blue B, on the Desktop and in the Start menu on Windows. Click it every day: it starts the app if it is not running and opens it in its own window. Update, backup, restart and stop are in the app's ⚙ Control Panel.
Use only this icon. Don't use the browser's own Install app button (in Chrome or Edge's address bar): that icon opens a window but cannot start the app, so after a restart it only shows "Needs a Quick Start". If you already have one, right-click it and choose Uninstall.
The app has no login on its server yet, so it must not be put on the internet. See Can I put it online?.
Free GST Billing Software auto-generates all the data you need for GSTR-1 and GSTR-3B filing. Here's the workflow:
Step 1 ──► Enter invoices throughout the month as you normally would
│
Step 2 ──► Go to GST Returns page → Review GSTR-1 data (B2B, B2C, HSN, Credit Notes)
│
Step 3 ──► Export GSTR-1 JSON → Upload directly to gst.gov.in
│
Step 4 ──► Review GSTR-3B summary → Copy figures into the GST portal and file
│
Step 5 ──► Mark the return as filed to track your compliance status
The app includes a step-by-step interactive filing guide with screenshots and tips for both GSTR-1 and GSTR-3B. It even covers NIL return filing for months with no activity.
No CA needed for basic GST filing. The app does all the calculations — you just upload and confirm.
| Layer | Technology |
|---|---|
| Frontend | React 19, Vite 7 |
| Backend | Express 5 (Node.js) |
| PDF Generation | jsPDF + html2canvas |
| Icons | Lucide React |
| QR Codes | qrcode |
| Security | DOMPurify (XSS protection) |
| Storage | File-based JSON — no database needed |
| Offline | PWA with service worker caching |
No database. No Docker. No cloud setup. Clone, install, run. Your data lives in a simple
data/folder as plain JSON files.
color-mix(oklab) for rgba() (v1.10.40)Want a feature? Ask for it here and let us know.
Every Saturday we release one update with that week's fixes and new features. The app tells you when it is ready (Update in the sidebar) and keeps your data. Anything urgent, such as the app not opening, is fixed straight away.
You get a reply on the issue when it ships. How the week runs: docs/WEEKLY_RELEASES.md.
See CHANGELOG.md for a detailed history of every release. The latest updates are also in the app, under Support & About → What's new.
The deep-dive material lives in docs/:
| Who | How They Use It |
|---|---|
| Freelancers & Consultants | Invoice clients for projects, retainers, hourly work. Bill international clients in USD/EUR/GBP. |
| Small Shops & Retail Stores | Quick bill generation with UPI QR code for instant payment. Stock tracking and low-stock alerts. |
| Service Businesses (IT, consulting, design) | Professional tax invoices with HSN/SAC codes. Recurring invoices for retainer clients. |
| Manufacturers & Traders | GST tax invoices with HSN codes, delivery challans, e-way bill JSON, stock management. |
| Startups & New Businesses | Zero-cost billing from day one. No commitment, no vendor lock-in. |
| CAs & Tax Consultants | Generate invoices for advisory fees. Use GST filing tools and CSV exports for clients. |
| Exporters | Multi-currency invoices with GST toggles for export billing. |
| Anyone Who Wants to Self-File GST | Built-in filing guide replaces the need for a CA for basic GSTR-1 and GSTR-3B filing. |
Free GST Billing Software is built and maintained by DiceCodes. It is:
We believe every business in India deserves professional billing software without paying monthly fees.
So what's the catch? There isn't one, and your data is not the product.
If the app saves you time, you can help keep it going:
princeramgarhiaa-1@okaxis (also as a QR code in the app, under Support & About)Work with DiceCodes: custom software and web apps, customising this app for your business, setup and data migration, support plans, AI integration and automation, and mobile apps. [email protected]
| Question | Answer |
|---|---|
| Where is my data stored? | In a data/ folder on your computer as plain JSON files. No server, no cloud, no database. |
| Can anyone access my invoices? | No. The app runs on localhost — not accessible from the internet or other computers. |
| What if I uninstall? | Control Panel → Remove… removes the app and its icons in one click. Tick boxes choose whether your data, PDFs and backups go too; by default your data/ folder stays, and reinstalling brings everything back. |
| Do I need internet? | Only to download the app and its updates. Everything else works offline. Turn on Offline mode (Settings → Privacy & internet) and it never goes online by itself. |
| How do I backup? | Settings → Export Data → save JSON file. Import on any machine. |
Since v1.10.0, the Express server accepts requests only from
localhost (127.0.0.1, [::1]). If you run the server on one
machine and access it from a POS tablet on the same Wi-Fi:
Find the server machine's LAN IP (e.g. 192.168.1.42).
Open server.js, find the CORS middleware near the top
(search for v1.10.0 — CORS lockdown), and add your LAN origin
to the allowlist regex:
/^https?:\/\/192\.168\.1\.42(:\d+)?$/i.test(origin) ||
Restart the server.
From the tablet's browser, hit http://192.168.1.42:47371/.
If you don't lock the middleware to specific IPs, any device on the same Wi-Fi (including guests) can hit your server. That's the trade — the default is safest, LAN access is opt-in.
We welcome contributions from the community. Here's how you can help:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)You can also contribute by:
http://localhost:47371 (production install)http://localhost:5173 (developer mode, optional)PDFs and JSON backups will auto-upload to your own Google Drive after every download.
Free-GST-Billing-Software/
├── server.js # Express API server (default port 47371, auto-scans if busy)
├── src/
│ ├── App.jsx # Root layout, sidebar navigation, dark mode
│ ├── store.js # API client for all data operations
│ ├── utils.js # Currency formatting, number-to-words, GST helpers
│ ├── components/
│ │ ├── Dashboard.jsx # Invoice list, filters, stats, payment tracking
│ │ ├── InvoiceGenerator.jsx # Create/edit invoices with live preview
│ │ ├── InvoicePreview.jsx # Invoice PDF template
│ │ ├── ClientsView.jsx # Client ledger & management
│ │ ├── InventoryView.jsx # Product catalog & stock management
│ │ ├── ExpenseTracker.jsx # Business expense tracking with ITC
│ │ ├── RecurringInvoices.jsx # Recurring invoice templates
│ │ ├── ReceiptVoucher.jsx # Payment receipt generation
│ │ ├── ReportsView.jsx # P&L reports & analytics
│ │ ├── GSTReturns.jsx # GSTR-1, GSTR-3B, HSN reports, filing guide
│ │ ├── SettingsView.jsx # Profile, templates, multi-business, backup
│ │ └── Toast.jsx # Notification system
│ └── services/
│ └── googleDrive.js # Google Drive OAuth & upload
└── data/ # Local JSON storage (gitignored)
Find the message you see. None of these touch your invoices: they stay in the _system\data folder inside the app folder, and every update backs them up first to Documents\FreeGSTBill Backups.
The
_systemfolder is hidden. To see it in File Explorer: View → Show → Hidden items.
| You see | What to do |
|---|---|
| "Some files are missing" or "extract the ZIP first" | The app can't run from inside the ZIP. Right-click the ZIP → Extract All, open the new folder, then double-click Free GST Billing - WINDOWS. |
| "Windows protected your PC" | The app isn't code-signed (a certificate costs about $300 a year). Click More info → Run anyway. |
| Mac: "could not be executed because you do not have appropriate access privileges" | Open Terminal, type chmod +x (with a space), drag Free GST Billing - MAC into the window, press Enter, and open it again. Downloads from v1.10.82 don't need this. |
| Mac: "cannot be opened because Apple cannot check it" / "unidentified developer" | The app isn't signed by Apple. Control-click the file → Open → Open, once. Or System Settings → Privacy & Security → Open Anyway. |
"Node.js … is too old", npm ERR!, or a file named npm-debug.log in _system |
The PC has an old Node.js. v1.10.81 and later fix this themselves: click Install or Open App again. On an older version: install Node.js LTS from nodejs.org, delete only _system\node_modules, then click Install. Never delete _system\data. |
| "could not install the app's dependencies" / "cannot reach the internet" | The first install needs the internet. Check the connection; in an office, a proxy or firewall may block registry.npmjs.org. Click Install again: it carries on where it stopped. |
| "Still starting…" / "The server has not answered in 90 seconds" | The first start after an install or update is slow while antivirus checks the new files. Wait a minute and open http://localhost:47371. Still nothing? Close the black window and open the app again from its icon. |
| "Free GST Billing is already installed on this computer, in: …" | You extracted a new ZIP into a new folder. Your invoices are in the folder it names: click Update the installed copy in the launcher, then delete the new folder. |
| "The app cannot write to its own folder" | Don't keep it in C:\Program Files. Move the whole Free-GST-Billing folder to Documents or D:\ and open it from there. |
| "Drive … is almost full" | The install needs about 400 MB free. Empty the Recycle Bin or delete old downloads. |
| "Node.js was downloaded but will not run" | Antivirus removed it. Add the app folder to its exclusions and click Install again. |
| "Install Node.js LTS now?" (winget) | The app couldn't download Node.js itself and offers Windows' own installer. Type Y to accept (Windows may ask permission), or install it yourself from the page it opens. |
| "Cannot connect to server", "This site can't be reached", or a blank page | The app isn't running. Click the Free GST Billing icon on your Desktop. |
| The update finished but nothing changed | Reload the page with Ctrl + F5. |
| Forgot the app PIN | In the app folder (next to the launcher), create an empty text file named RESET-PIN and reload the app. The PIN is removed; invoices aren't touched. |
| Linux / Mac / NAS: "Node.js … is too old" or "not installed" | The message lists the command for your system (apt, dnf, pacman, apk, brew or nvm). Install Node.js 20, then open the launcher again. |
Still stuck? Report a problem with the message you see and a screenshot (hide your GSTIN and bank details). If the app doesn't start, add what node -v and npm -v show in Command Prompt. More answers: troubleshooting guide.
Yes — MIT licensed open-source software. No subscription, no premium tier, no "free trial" that expires, no usage limits. The full feature set is available to every user forever. We make zero rupees from this directly.
Yes. It works as a free invoice builder even if you only need a clean invoice: add your business once, pick a client and items, and save the invoice as a PDF or print it. Not GST-registered? Use Bill of Supply (no GST on the invoice). Billing clients abroad? Choose Outside India or Both in the first-run setup and bill in their currency. Quotations are the Proforma / Estimate type and turn into an invoice in one click.
No. All your invoices, clients, products, and settings are stored as plain JSON files in a data/ folder next to the app on your computer. Nothing leaves your machine unless you explicitly turn on the optional Google Drive backup feature (in which case it goes to your own Google Drive, not ours).
The software generates GSTR-1, GSTR-3B, and GSTR-2B reconciliation data in CSV and the GSTN offline-tool JSON format. You upload these files directly to gst.gov.in — no third-party intermediary. The built-in step-by-step filing guide walks you through the GSTN portal once you've downloaded the files.
Yes, completely. After installation everything runs on localhost:47371 on your computer. The only optional internet-using features are Google Drive backup, the in-app update notifier (checks GitHub for new versions), and WhatsApp sharing.
Yes. Free GST Billing Software supports 22 countries with locale-correct currency formatting, country-aware tax labels (GST / VAT / SST / MwSt / TVA / PPN / Sales Tax), and amount-in-words in the right currency name (Dollars, Dirhams, Pounds, Rand, Naira, Pesos, etc.). Set your Region Preference in Settings to International or Both.
Tax Invoice, Proforma / Estimate, Bill of Supply (for exempt goods or non-GST sellers), Composition scheme invoice (with Rule 46A declaration), Credit Note, Delivery Challan.
Yes. You can add unlimited business profiles (each with its own GSTIN, bank accounts, logo, signature, and country setting) under Settings → Business Profile → Add New Profile, and switch between them from the business name at the top of the sidebar. Each one can have its own invoice numbering.
The .hta launcher is Windows-only, but the app itself works on macOS and Linux — a NAS included — from the release ZIP (Free GST Billing - LINUX.sh) or via npm install + npm start. See the Quick Start section. From v1.10.66, Control Panel → Update Now also works on Linux / NAS installs made from the release ZIP (it needs unzip or python3); restart the app, or its container, afterwards.
Updates only refresh the app code and dependencies. Your data/ folder (invoices, clients, products, settings) and Saved Invoices/ PDF archive are never touched. The updater also saves a backup ZIP to Documents\FreeGSTBill Backups before it changes anything.
No, and no Android app is planned. Using the app from a phone or tablet on the same Wi-Fi as your computer is planned for the update on Saturday 7 November 2026.
CSV import is supported today for clients and products. Direct Tally XML import is on the Coming Soon roadmap. Free-form Excel import requires manual mapping today.
This project is licensed under the MIT License — free to use, modify, and distribute.
⬇ Download Now · ⭐ Star on GitHub · 📖 Read the User Guide · 🐛 Report an Issue · 📧 Email DiceCodes
Free GST Billing Software by DiceCodes · MIT Licensed · v1.10.42
Free GST billing software India · Free GST invoice software for small business · Open source GST billing software · Free alternative to Tally Prime Vyapar Zoho Books ClearTax myBillBook Marg ERP · No subscription invoice software · Offline billing software India · GSTR-1 GSTR-3B filing software free · GSTR-2B reconciliation tool free · TDS Form 26Q TCS Form 27EQ software · Section 194Q 206C(1H) TCS calculator with ₹50 lakh threshold · UTGST invoice software · CGST SGST IGST auto calculator · E-way bill JSON generator free · HSN SAC code invoice generator · Bill of Supply generator · Delivery Challan software · Credit Note Debit Note software · Proforma invoice estimate software · Composition scheme invoice · UPI QR invoice maker · Thermal receipt printer software 58mm 80mm · Direct vector thermal print software · POS billing software free India · Retail shop kirana billing software · Restaurant cafe billing software · Freelancer consultant invoice software India · Multi-currency invoice generator (USD EUR GBP AED SGD AUD JPY) 22 countries · Country-aware VAT SST MwSt TVA PPN tax labels · Recurring invoice software · Payment receipt voucher software · Bulk PDF invoice export · Google Drive backup billing software · Automatic daily backup + Trash bin · Multi-business multi-GSTIN switcher · Multi-language invoice Hindi Tamil Marathi Bengali · Dark mode PWA billing app · Rich-text Terms & Conditions with 13 India presets · OCR bill scan tesseract · Ctrl+K command palette · Split-view live PDF preview · Income Tax (ITR) computation old vs new regime 234B 234C · Client credit balance carry-forward · Watermark DUPLICATE DRAFT PDF · Rule 48 multi-copy (Original Duplicate Triplicate) · WhatsApp share invoice PDF · Self-file GST return software · GST invoice software without subscription · No signup no login billing software · Vyapar alternative open source · Tally alternative free · Zoho Books alternative · ClearTax alternative · myBillBook alternative · Marg ERP alternative · Made in India
Made in India 🇮🇳 · DiceCodes
Free invoice builder & GST billing software for India. Make GST invoices, quotations, bills of supply and credit notes as PDF; GSTR-1/3B reports. Free invoice maker for shops, freelancers & small businesses.