Free Invoice Generator
Fill in the lines and download a clean invoice PDF — no account, no email, no watermark. Every figure is computed in whole cents, so the lines always add up to the total your client will check.
A worked example, computed by the engine above
A logo project: $1,200.00 for the logo, three rounds of revisions at $150.00 each, and seven stock photos at $12.50. That is a subtotal of $1,737.50. A 5% goodwill discount takes $86.88 off, leaving $1,650.62 as the taxable amount — the discount comes off before tax, because tax is owed on what was actually charged. Sales tax at 7.25% on that base is $119.67, for a total of $1,770.29. With a $500.00 deposit already received, the balance due is $1,270.29. Every number in this paragraph was produced by the same code that builds your PDF.
Assembled as a document — Harbor Lane Studio billing Fennel Bakery — the same figures carry the engine's labels. The heading reads INVOICE. With the number field left blank, the document is numbered INV-20261001 from its date, which is why two invoices built blank on the same day would share a number: type your own, and keep the sequence yourself. The tax line is labelled Tax (7.25%) because no label was typed. And because a deposit was received, the stack prints the total, then the amount paid, then a bottom line called Balance due — the only figure the client is being asked for.
The full walk-through is its own guide: How invoice totals are computed takes the engine through a series of fictional documents, rule by rule, every figure computed when the page was built. The guides index covers the rest of the paperwork.
Why the lines always add up
Computers store decimals approximately. In almost every context that is harmless; on an
invoice it is a dispute. The classic demonstration is that 0.1 + 0.2 evaluates to 0.30000000000000004 — and across dozens of lines those fractions of a cent accumulate into a subtotal that does not
match the column above it. This tool holds every amount as a whole number of cents and rounds each
line once, where the line is printed, so a client adding up your document by hand gets your answer.
How each line is computed
A line is quantity × unit price, rounded to a cent immediately, half away from zero. The subtotal is the sum of those rounded lines and nothing else. Quantities are held to four decimal places and unit prices to two, so the figure on the page is the figure the arithmetic used.
Take a consultant's invoice: a discovery workshop billed at 3.3333 hours × $120.00, a build sprint of 12.75 hours at the same rate, and 37.5 miles of site-visit mileage at $0.67 a mile. The engine prints the workshop line as $400.00 — the exact product sits a fraction of a cent under it and rounds up. The sprint is $1,530.00. The mileage line is $25.13: the exact product ends in half a cent, and half away from zero takes it up, where banker's rounding would have taken it to the even neighbour below. The subtotal is $1,955.13, which is exactly what you get by adding the three printed lines. Keeping full precision and rounding only at the end would give $1,955.12 — a counterfactual worked here for comparison only, outside the engine, which never computes it. It is marginally closer to the exact arithmetic, and $0.01 short of the column above it. A document has to reconcile in the hand of the person checking it, so this engine rounds once, at the line. With no tax and nothing paid, the bottom line here simply reads Balance due $1,955.13.
The order of operations
Subtotal → discount → taxable base → tax → shipping → total → amount paid → balance due. The discount comes off before tax, because tax is owed on what was actually charged. Shipping is added after tax, which is a simplification this engine documents rather than hides.
A garden-supply invoice: twelve ceramic planters at $18.50 and twelve saucers at $4.25, tax added on top at 6%, and $24.90 of shipping. The subtotal is $273.00; the tax is $16.38, computed on the lines alone; shipping of $24.90 is added after it; the total — and, with nothing paid, the balance due — is $314.28. The shipping never enters the tax base. Some jurisdictions tax freight, and this tool does not model that; if yours does, enter the delivery charge as a line item instead. The same order with a $24.90 delivery line and an empty shipping field gives a subtotal of $297.90, tax of $17.87 and a total of $315.77 — $1.49 more tax, because the charge now sits inside the base. A line item also sits inside any percentage discount, which the shipping field does not. The engine does not decide which arrangement is right for you; it computes whichever you enter, in that order, every time.
Tax added on top, or already included
The tax selector has three settings — no tax, added on top, already included — and the choice is only about what the prices you typed already contain. The rate you type is the rate applied; the label field only changes what the line is called.
A photographer quotes all-in prices: a half-day shoot at $450.00 and forty edited images at $6.25 each, with tax marked as already included at 20%. The subtotal is $700.00. The engine finds the tax inside it by dividing by 1 + the rate: the pre-tax amount is $583.33 and the tax is $116.67, printed on a line the engine labels VAT (included) (20%) when no label is typed. The total stays $700.00, because the tax was already in the prices.
The first misreading is subtracting the percentage. Twenty percent of $700.00 is $140.00, which is $23.33 too much — a fifth more than the correct figure, because in the already-included mode this engine applies the rate to the pre-tax amount, not to the gross one: the subtracted figure is always one-plus-the-rate times the correct one. The second misreading is leaving the selector on added on top with inclusive prices: the engine then does exactly what it was told and adds $140.00 on top, for a total of $840.00, and every individual figure looks plausible. Which mode applies to your prices is a question this tool does not answer; Sales tax vs. VAT explains the two shapes.
The bottom line, and why it is called balance due
What the final figure is called is set by the document type, not typed by you, because the label is the claim the document makes. The heading is INVOICE, RECEIPT or QUOTE; the bottom line is Balance due, Amount paid or Quote total. A receipt that says balance due invites a second payment; a quote that says it reads as a demand for money that is not owed yet.
Assemble one line — gutter clearing at $180.00 — three ways, and the arithmetic is identical while the wording changes. The invoice is headed INVOICE, numbered INV-20261001, and ends with Balance due $180.00. The receipt is headed RECEIPT, numbered RCT-20261001, and ends with Amount paid $180.00. The quote is headed QUOTE, numbered QTE-20261001, and ends with Quote total $180.00. The already-paid field is offered on the invoice only: the engine ignores it for a receipt, where the whole total is by definition what was paid, and for a quote, where nothing has been paid. That is why a receipt built here never shows a balance — if a balance is what you need to show, the document you need is an invoice.
Already paid, and overpayment: a copywriter's October retainer of $800.00, against which the client has already sent $850.00. The engine returns a total of $800.00, an amount paid of $850.00 and Balance due $0.00: the balance floors at zero rather than going negative, and the paid figure still prints, so the overpayment is visible. What happens to it next is not something this engine tracks, because it stores nothing between visits.
Limits the engine enforces
The engine refuses what it cannot print exactly, with a message rather than a wrong number. Tax rates are accepted up to 100% and discounts up to 100%, each with at most four decimal places; a rate past the ceiling is answered with “The discount cannot exceed 100%.” or “The tax rate cannot exceed 100%.” rather than applied. Past the line limit the answer is “A document holds at most 200 lines.” Notes are capped at 600 characters.
A discount can reduce a document to zero, never below it. Two workshop seats at $95.00 with a 100% discount and tax added on top at 8% produce a discount of $190.00, a taxable base of $0.00, tax of $0.00 and a total of $0.00 — the tax falls to zero with the base rather than being charged on a price nobody paid. The generator offers 10 currency symbols; the symbol is a label printed on the document, no conversion is performed and no exchange rate is applied. A logo image is read on your device, scaled to its box, re-encoded as PNG or JPEG and drawn into the PDF — never uploaded.
What the fields accept
The fields read numbers the way people type them and refuse the ambiguous ones. Typed as a unit price, $1,250.00 is read as $1,250.00, and 1.250,00, with the comma as the decimal mark, is read as $1,250.00. In a money field a lone separator followed by exactly three digits, after a whole part that is not zero, is read as a thousands group — 1.250 becomes $1,250.00 and 2.125 becomes $2,125.00 — so type 1.25 if you mean one and a quarter. In the quantity and rate fields a lone separator is the decimal mark: 3,5 is 3.5 and 1,250 is 1.25. A percent sign on a rate is allowed, so 8.875% is 8.875. A price typed as 0.125 — three decimals after a zero — is refused (“Enter a valid unit price with at most 2 decimal places.”) rather than read as a thousands group; -5 is refused (“Unit price cannot be negative.”); and 12.345.67 is refused (“Enter a valid unit price without ambiguous separators.”) rather than guessed at.
What this tool does not do
It is a document generator, not an accounting system or tax advice. It does not file anything, track whether you were paid, chase late payers, apply per-jurisdiction tax rules, or decide whether shipping is taxable where you trade — shipping is added after tax here, which is not correct everywhere. It does not store your invoices, so nothing is recoverable once you close the tab: download the PDF. If you need recurring billing, payment links or bookkeeping, you need software with an account, and this is deliberately not that.
Read more
- How invoice totals are computed — the engine's rules, each one worked on a fictional document.
- Methodology and accuracy — the rules in one place, with the limits and what is deliberately not modeled.
- What to put on an invoice — the fields, one by one.
- Payment terms — what net 30 and the rest mean, and why a date beats a phrase.
- How to number invoices — schemes, gaps, and keeping your own register.
- Invoice vs. receipt vs. quote — which document makes which claim.
- All guides
Questions
Is it really free, and is there a watermark?
Yes, and no. The PDF is yours, unmarked, with no account and no email required. Advertising is not active in this pre-release build; if added later, it will appear alongside the site rather than branding your documents.
Where do my client details go?
Nowhere. The document is assembled and drawn into a PDF inside your browser, so your clients, prices and notes are never uploaded. There is no server to send them to and no database to leak.
Why do the line amounts always add up exactly?
Because every figure is computed in whole cents as an integer, never as a decimal. Money in floating point drifts — 0.1 + 0.2 is famously 0.30000000000000004 — and on a hundred-line invoice that drift becomes a total your client can disprove with a calculator. Each line is rounded once, at the line, so the printed lines sum to the printed subtotal.
What is the difference between tax added and tax included?
Added (US sales tax) means the tax sits on top of your prices. Included (VAT/GST retail) means your prices already contain it, so the tax is extracted from the total rather than added to it — divide by 1 + the rate, never subtract a percentage. Choosing the wrong one changes the tax line and the total.
Should I send an invoice or a receipt?
An invoice asks for money that is owed; a receipt confirms money already paid. Sending a receipt when you meant an invoice tells your client the bill is settled. Use the receipt generator once you have actually been paid.
Why is shipping left out of the tax?
Because this engine adds shipping after tax: subtotal, then discount, then tax on what remains, then shipping, then the total. That is a documented simplification — some jurisdictions tax freight, and this tool does not model that. If yours does, enter the delivery charge as a line item instead of in the shipping field, so it sits inside the taxable base.
What happens if the amount already paid is more than the total?
The balance due shows zero rather than a negative figure. The document still prints the total and the amount paid, so the overpayment is visible on the page. The tool does not track payments or carry anything forward between visits, because it stores nothing.
What are the largest rates and the finest quantities the generator accepts?
Tax rates up to 100% and discounts up to 100%, each with at most four decimal places. Quantities are held to four decimal places, so 3.3333 hours does not drift; unit prices are accepted to two. A discount can reduce a document to zero but never below it, and a document holds up to 200 lines.
A document generator, not accounting or tax advice. It does not store anything — download the PDF before closing the tab.