For developers

Free invoice generator for developers

Free invoice generator for freelance developers: hourly and sprint billing, decimal hours, JSON export, share links and local-only storage — no account.

Developers bill by the hour, by the sprint or by the milestone, often to clients in other countries, and they tend to be sceptical of tools that need an account to produce a PDF. The invoice itself is simple; the friction is in numbering, formatting and not wanting client data on someone else's server.

Simple Invoice is a static web app. Data lives in your browser's local storage, exports as JSON you can version or script against, and shares as a URL fragment that never reaches a server. The hourly template handles decimal hours and long timesheets.

What gets in the way

Account walls for a PDF

Signing up, verifying an email and accepting terms to produce one document is disproportionate — and hands over every client's details.

Hours, not units

Timesheet-style billing needs decimal quantities, a unit column and a table that fits a month of entries on a page.

Data you cannot get out

Invoicing data locked in a vendor's format is a problem the day you want to move, script or archive it.

How Simple Invoice helps

No account, no server

Open the app and start. Nothing is uploaded; the app works offline once loaded.

Decimal hours and dense tables

7.5 hours × rate, per day or per task, in a compact grid that paginates with a repeated header.

Portable JSON

Export the current invoice as JSON and keep the file wherever you archive business documents.

Share links without hosting

The invoice is compressed into the URL fragment; the client opens a read-only view, no upload involved.

Start from the Hourly invoice

An hourly invoice template listing dates worked, hours and rate per line in a dense timesheet-style table. Edit in your browser, export a PDF — free.

  • Sprint 14 — API integration and tests — 32 h
  • Bug fixes — issue #412, #418 — 3.5 h
  • Deployment and monitoring setup — 6 h
  • Code review and pairing — 4 h

Invoicing tips for developers

Treat invoicing like a release process: automated where possible, versioned, reproducible.

  • Bill on a fixed cadence — per sprint or per fortnight — and duplicate the previous invoice.
  • One line per task or day with ticket references in the details row; the client's PM can match them to the board.
  • Round hours consistently and say how (to the quarter hour, for example) in your terms.
  • Use a continuous sequence with a year token — numbering best practices.
  • Export each invoice as JSON when you want an editable archive alongside its PDF.
  • For clients abroad, format for their locale and agree the currency first — international invoicing.

Questions developers ask

Where exactly is my data?

In your browser's local storage, on this device. The editor's Export menu downloads the current invoice as JSON. Clearing site data removes the browser copy, so keep exported files you need.

Does it work offline?

Editing, saving and exporting work without a connection once the app and fonts have loaded. Loading the app the first time needs a connection.

How does the share link work?

The invoice is serialised, compressed with lz-string and placed after #. Browsers do not send the fragment to servers; the receiving page decodes it locally.

Keep reading

Built for the way developers actually bill

A simple invoice generator for the invoices you send every week.