Loading the invoice editor…

Your data, in an open format

katlab invoicer keeps nothing on a server, and it doesn’t lock you in either. If this site disappeared tomorrow, you would lose nothing.

Three ways your data outlives this website

  1. Offline copy. Download the complete app (about 1 MB). Unzip it, run python3 -m http.server in the folder and open http://localhost:8000 — it works without internet and never contacts katlab.
  2. Every PDF carries its data. Each PDF you download contains the document as an attached invoice.json file. Drop the PDF onto the Documents page (here or in the offline copy) and it comes back — with its number, lines, client and payments.
  3. Backups in plain JSON. Settings → Backup → Download backup saves everything in the format below, readable by any program.

Backup file (schemaVersion 2)

{
  "app": "katlab-invoicer",
  "schemaVersion": 2,
  "exportedAt": "2026-09-23T10:00:00.000Z",
  "data": {
    "meta":       [{ "id": "activeBusinessId", "value": "…" }],
    "businesses": [Business],
    "clients":    [Client],
    "products":   [Product],
    "docs":       [Document],
    "payments":   [Payment]
  }
}

Conventions

Document

Totals are not stored — they are always recomputed from the lines, so a backup can never contain totals that disagree with its items.

Payment, Client, Product

Data inside each PDF

PDFs contain an embedded file invoice.json (relationship Source) with {"app": "katlab-invoicer", "kind": "document", "schemaVersion": 2, "doc": Document, "payments": [Payment]}. Most PDF readers show it under Attachments.

Share links

Share links put the document after the # in the address — the part browsers never send to a server. Format: v1.z.<data> (compressed), v1.e.<salt>.<iv>.<data> (AES-GCM encrypted with a key derived from your password using PBKDF2-SHA256, 600,000 iterations), or v1.r.<data> (uncompressed, for older browsers).

Frequently asked questions

What happens to my invoices if katlab invoicer shuts down?

Nothing is lost: your data is already on your device, every PDF contains its own data, the backup format is documented here, and the offline copy runs without this website.

Can I read the backup in Excel?

The backup is JSON. Most spreadsheet tools can import JSON; the fields are documented above.