TinyFileLab

Home›PDF›Invoice generator

Your client's details stay in this tab

Invoice generator

Fill it in, watch the totals, download a proper PDF. No account, no watermark, and your client's details never leave this tab.

From — you
Bill to — your client
Lines
DescriptionQtyUnit price Amount
Tax, discount and the rest
Payment details
Notes and terms
Fill in a line and the totals appear
Totals that survive an auditEvery amount is whole cents from the moment you type it — no floating-point drift between the screen and the PDF.
Real text, not a pictureThe PDF is searchable and machine-readable, which is what accounts payable software needs to pay you without a human retyping it.
Reusable next monthSave the whole invoice as a small .json file, load it back, change two dates and send it again.

The arithmetic is the whole job

An invoice is a short document with one hard requirement: the numbers have to add up, and they have to still add up when your client's bookkeeper checks them against a bank transfer. That sounds trivial until you notice how many invoice tools do their sums in floating point. Add fifteen lines of £0.07 in JavaScript and you get 1.0499999999999998. Round it for display and the total on the page disagrees with the total in the file by a penny.

Here every amount is converted to whole minor units — cents, pence, sen — the moment you type it, and stays an integer until the last moment. Quantities are kept as integers too, scaled by ten thousand, so 0.25 hours at €95 is exact rather than nearly exact. Currencies without minor units are handled properly: yen, won and dong have no decimal place here, because they have none in reality.

What comes out

A PDF with real text in it. Not a screenshot, not a picture of a table — selectable, searchable, copy-and-pasteable text using the fonts that are built into every PDF reader. That matters more than it sounds: accounts payable departments increasingly run invoices through extraction software, and a text PDF gets read correctly while an image gets kicked into a manual queue. It also means the file is a few kilobytes rather than a few hundred.

The layout is fixed and deliberately plain: your details and the client's side by side, a line-item table with the money right-aligned, then subtotal, discount, shipping, tax and total. Long descriptions wrap inside the table cell. Invoices with more lines than fit on one page carry on to the next, and the column headings repeat at the top of each page so the second sheet is still readable on its own.

Tax, both ways round

Two treatments cover almost every case. Added to the prices is the normal business-to-business arrangement: the tax is calculated on the discounted subtotal and appears as its own line. Already inside the prices is what you want for consumer pricing in the UK, the EU, Australia and elsewhere, where the advertised figure includes VAT or GST; the total does not change, and the invoice states how much tax is inside it. Shipping can be taxed or not, which is the single most common place a rate gets applied to the wrong base.

Discounts come off before tax, which is the ordinary treatment in most jurisdictions. A percentage discount is applied to the subtotal and rounded once, not per line, so the figure on the invoice is the figure you would get by hand.

Nothing is stored, so save the file

There is no account and no database, which also means nothing is remembered between visits. Instead, Save as .json writes the whole invoice — your details, the client's, every line — to a small file on your machine. Next month, load it back, change the number and the dates, and generate the new PDF. Keep one saved file per regular client and the recurring invoice takes about twenty seconds.

The client's name, address and your bank details never leave the browser tab. For a document that contains, by definition, both parties' addresses and your account number, that is not a small detail.

Limits worth knowing before you start

There is no logo. Embedding an image would mean either reading a file from your disk into the PDF — which is possible but adds a lot of weight — or fetching it from a URL, which would break the promise that nothing leaves the page. Your business name is set in bold at the top instead.

The built-in PDF fonts cover Western European languages. Accented characters, the euro, pound and yen signs all print correctly. Chinese, Japanese, Korean, Cyrillic, Greek, Arabic and Hebrew do not, because reproducing them needs an embedded font file that would be a hundred times the size of the invoice. Currencies whose symbol is outside that range — the rupee, the won, the peso — print as their three-letter code instead, which is unambiguous and is what banks use anyway.

Finally: this makes an invoice, it does not make it legal. Whether you must show a tax number, a sequential invoice number, a reverse-charge note or a payment-terms statement depends on where you are registered. The fields are all here; knowing which ones your tax authority requires is your side of the bargain.

Common questions

Is it really free, with no watermark?

Yes. There is no account, no trial, no per-invoice limit and nothing stamped on the PDF. The page is static files on a CDN, so there is no running cost to recover.

Where is my data stored?

Nowhere. Everything you type stays in the browser tab, the PDF is assembled in memory, and closing the tab discards it. That is why the Save as .json button exists — it is the only copy that survives, and it lands on your own disk.

Can I add my logo?

No. Putting an image in the PDF would mean either bundling an image encoder into the page or fetching the logo from a server, and the second one would break the promise that nothing is uploaded. Your business name appears in bold at the top.

How do I handle VAT that is already in my prices?

Set the tax treatment to “Already inside the prices”. The total stays exactly what your line prices add up to, and the invoice shows how much tax is contained in it — which is what a VAT-inclusive invoice is required to state.

Will the totals match my accounting software?

They should. Amounts are held as whole cents throughout, percentage discounts are rounded once against the subtotal rather than per line, and tax is calculated on the discounted base. Those are the conventions most accounting packages use.

Can I invoice in a currency with no decimal places?

Yes. Japanese yen, Korean won, Vietnamese dong and Indonesian rupiah are treated as whole-unit currencies, so nothing is shown or calculated to two places.

Does it do recurring invoices?

Not automatically, but saving the .json file and loading it next month gets you most of the way: change the invoice number and the two dates, and download the new PDF.

Which languages can the PDF print?

Western European ones. The PDF uses the fonts built into every reader, which cover accented Latin letters and the euro, pound, dollar and yen signs. Chinese, Japanese, Korean, Cyrillic, Greek, Arabic and Hebrew text will not print correctly.