Local-First Invoicing: Private, Offline-Ready, and Free Forever
Most "free" invoice tools have the same business model: you type your client list, your prices, and your revenue into their database, and eventually you pay to keep accessing your own data. We built Free Invoice Generator the opposite way — local-first. Your invoices are stored in your own browser, work continues without internet, and no account is ever required. This post explains exactly how that works, where your data physically lives, and how to back it up properly.
What "local-first" actually means
When you type in the editor, the data is written to IndexedDB — a structured database built into every modern browser, stored on your device's disk. Not a cookie, not a temporary cache: a real database that persists across restarts. Concretely:
- Drafts save automatically about a second after you stop typing. Close the tab mid-invoice, reopen tomorrow, everything is there.
- Your business profile — name, address, GSTIN, logo, bank details, UPI ID — is remembered so invoice number two takes seconds.
- Clients and catalog items live in the same vault, ready for reuse on the next document.
- Invoice numbering continues correctly, with issued numbers locked against accidental reuse.
None of that touches our servers. You can open your browser's developer tools and literally look at the vault yourself — the data is on your machine, readable by you, deletable by you.
Why privacy matters more on invoices than almost anywhere
An invoice tool sees your entire business: who your clients are, what you charge each one, your monthly revenue, your bank account, your address. That is the most commercially sensitive dataset a small business has. With a server-first tool you are trusting a company to hold it, secure it, not mine it, and not lock it behind a future paywall. With local-first, the question never arises — data that never leaves your device cannot leak from anyone else's server.
Offline mode: invoicing without internet
Because the app is a Progressive Web App (PWA), the entire editor — templates, tax logic, PDF engine — is cached on your device by a service worker after the first visit. That means:
- You can open the app with airplane mode on and create a complete invoice.
- Preview, print, and PDF download work fully offline — generation happens on your device, not on a server.
- You can install it from the browser menu ("Install app" / "Add to Home Screen") and it opens like a native app on desktop and mobile.
Shop with patchy internet, invoicing from a train, a client's basement office — the tool simply does not care. The only features that genuinely need a connection are the optional cloud ones: OTP login, cloud sync, public share links, and email sending.
Local-first vs cloud-first: honest comparison
| Aspect | Local-first (this app) | Typical cloud invoice SaaS |
|---|---|---|
| Account required | No — open and type | Yes, before anything works |
| Works offline | Fully, including PDF | Rarely, usually read-only |
| Who holds your client list | You | The vendor |
| Cost over time | Free | Free trial → $10–30/month |
| Multi-device sync | Optional, via email OTP | Built-in (it is their whole model) |
| Data export | One-click JSON + CSV anytime | Varies; often gated or partial |
We are not religious about it — that last row on the right is why we also built optional cloud sync. The difference is that with us, cloud is a choice you make, not a condition of entry.
Backups: the one responsibility local-first gives you
If your data lives only on your device, your device is the single point of failure. Two built-in answers:
- JSON backup. One click exports everything — drafts, clients, catalog, settings — into a single file. Restore it on any machine and you are exactly where you left off. Do this monthly; it takes ten seconds.
- CSV export. Your invoice list exports to CSV for spreadsheets or handing to an accountant at filing time.
Things to know (the fine print, plainly)
- Browser storage is per-browser, per-profile. Chrome and Firefox on the same laptop have separate vaults. Pick one browser for invoicing, or use cloud sync to bridge devices.
- "Clear browsing data" can wipe IndexedDB if you tick the wrong box. This is the #1 reason to keep a JSON backup or an OTP-synced cloud copy.
- Incognito windows discard everything when closed. Fine for a one-off invoice you also download; wrong for ongoing work.
- Shared computers: anyone using your browser profile can see your drafts. On a shared machine, export a backup and clear the vault when done.
Moving to a new computer (or browser)
Because your data is yours, migration is refreshingly boring:
- On the old machine, click Backup and save the JSON file — it contains your profile, drafts, clients, catalog, numbering counters, everything.
- Move the file however you like: USB stick, email to yourself, cloud drive. It is a normal file; you own it.
- On the new machine, open the app and Restore the file. Thirty seconds later you are invoicing from exactly where you stopped — same next invoice number, same saved clients.
Compare that with the SaaS version of the same move: export requests, format lock-in, and hoping the "download my data" button produces something another tool can read. A plain JSON file you can open in any text editor is the most honest data portability there is.
The speed nobody advertises
Local-first has a side benefit that only shows up when you use it daily: everything is instant. No spinner while a server saves your draft, no re-authentication in the middle of typing, no "service temporarily unavailable" on the morning your biggest invoice is due. Autosave writes to your own disk in milliseconds; template switches, previews, and PDF generation run entirely on your device. Server-rendered invoice tools feel fine on good office Wi-Fi and miserable everywhere else — a tool that works on a train works everywhere.
Who is local-first perfect for?
Freelancers who invoice a handful of clients monthly, small shops that print at the counter, consultants who value confidentiality, and anyone in a low-connectivity area. If you run a five-person billing team needing shared access, a server-first system earns its subscription — but for the vast majority of independent businesses, local-first plus an occasional backup is simpler, faster, and more private.
Next steps: see how passwordless cloud sync works when you do want multi-device access, or jump into the two-minute GST invoice guide.