Freelance invoice and quotation builder

Build an invoice or quotation for your own country, check the maths, and export a PDF. Everything happens in this browser.

This tool does not provide tax, legal, or accounting advice. Verify your tax registration status and current requirements before issuing an invoice.

What this tool does

It builds one document at a time: an invoice or a quotation, with your details, your client’s details, as many line items as you need, discounts, tax, and a PDF at the end. The preview beside the form updates as you type, so the totals are visible while you are still editing rather than only after an export.

Country presets cover 46 countries and 35 currencies. Choosing a country sets the labels a reader in that country expects, the local tax name, the identifier fields that belong on the document and the usual currency. You can override any of it.

Everything stays in this browser. The document is held in local storage so a refresh does not lose your work, the PDF is generated in the page, and nothing is sent anywhere. That also means clearing your browser data clears your invoices, so export the PDF or the JSON when you are done.

How the totals are calculated

Money is handled in whole minor units — cents, pence, paise — and never as a floating-point number of pounds. Floating-point arithmetic cannot represent 0.10 exactly, which is why hand-rolled invoice maths so often ends up a penny out on a long document.

The order of operations is fixed, and it matters, because discounting after tax and discounting before tax produce different numbers.

  1. Line gross is quantity multiplied by unit price.
  2. A per-line discount, as a percentage or a fixed amount, is subtracted; it is clamped so a line can never go negative.
  3. The subtotal is the sum of the line nets.
  4. An overall discount, again percentage or fixed, is subtracted from the subtotal.
  5. The taxable base is the discounted subtotal restricted to the lines you marked taxable, with the overall discount split pro rata so no cent is lost or invented.
  6. Tax is applied at your rate, either added on top (tax-exclusive) or extracted from the amounts you already typed (tax-inclusive).
  7. The total is the discounted subtotal plus tax, or simply the discounted subtotal when your figures already include it.

Quotations, and what changes

A quotation is the same document with different words: the heading changes, and the due date becomes a "valid until" date. The arithmetic is identical, which is the point — a quote your client accepts should become an invoice without anything being retyped.

The PDF, and why it looks the way it does

The PDF is written byte by byte in this page, with no library fetched from anywhere and no rendering service involved. It uses the standard PDF base fonts, which is why the layout is plain: those fonts are guaranteed to exist in every reader, so the document cannot arrive at your client with substituted text or missing glyphs.

A consequence worth knowing before you type: the base fonts cover the Latin-1 range. Characters outside it — Greek, Cyrillic, Chinese, Japanese, Korean, many Indic scripts — cannot be embedded, so use the JSON export or print to PDF from your browser if you need them.

You can add your own logo. It is read in the page, scaled, and embedded in the file; it is never uploaded.

Tax is your responsibility, not this tool’s

This tool does not provide tax, legal, or accounting advice. It applies the rate you type to the lines you mark, and it labels the fields the way a document from your country usually labels them. It does not know whether you are registered, which rate applies to what you sold, whether a reverse charge applies, or what your invoice numbering must look like to satisfy an audit.

The country presets are a convenience for labels and formatting. They are not a compliance check, they are not kept current with every rule change, and no automated check in this product can tell you that a document is legally correct. Verify your registration status and current requirements before issuing an invoice, and ask an accountant when a document matters.

What it deliberately does not do

The scope is one document, built and exported. Everything below is out of it.

  1. No payment QR code in any country: those payloads are bank-specified, and a subtly malformed one could misdirect a real payment.
  2. No client database, no recurring invoices, no numbering sequence enforced across documents.
  3. No payment processing, no accounting ledger and no bookkeeping integration.
  4. No emailing: you download the PDF and send it yourself.
  5. No currency conversion, and no exchange rates are fetched.
  6. No multi-user access and no cloud sync, because there is no server.