Purchase Order Generator
A printable purchase order on the same tested arithmetic as the invoice tool, with the labels a supplier expects and the order number where they look.
Enable JavaScript to change the document; what is below is the default, and it prints.
Sequential with no gaps is a rule about your whole series, which a tool that makes one document cannot enforce.
Their purchase order number, a project code, whatever the other side will search for.
One line each. Your tax registration number belongs here in most jurisdictions.
One a line. "Description | quantity | unit price | tax percent" is the full form; "3 x Licence @ 9.99" and "Hosting: 240" both work too. A line starting with # is a note.
Used for any line that does not carry its own rate.
Line by line, or once on the subtotal. Both are permitted in the EU and the UK if you are consistent, and they can differ by a penny. The document says which it used.
A percentage discount is spread across the lines in proportion, so the per-line tax still adds up to the total.
Empty uses the default. "Tax invoice", "Proforma invoice" and "Credit note" are different documents in some jurisdictions, so the word matters.
Purchase order
Ordered by
Bucket Ltd
14 Example Street
London E1 6AN
VAT GB123456789
Supplier
A Client Ltd
1 Another Road
Manchester M1 2AB
| Description | Qty | Unit | Tax | Amount |
|---|---|---|---|---|
| Paper, A4, 80gsm | 40 | £4.25 | 20% | £170.00 |
| Ink, black | 2 | £18.00 | 20% | £36.00 |
| Subtotal | £206.00 |
|---|---|
| Tax, line by line | £41.20 |
| Total | £247.20 |
Terms
Deliveries accepted Monday to Friday, 9am to 4pm. Quote the order number on the delivery note.
- An invoice is a legal document in most places, with required fields that vary: a unique sequential number, your tax registration number, the customer's, the date of supply, and specific wording for a reverse charge or an exemption. This tool does the arithmetic and the layout, not the compliance.
- Sequential numbering usually means no gaps, which is a rule about your whole series rather than about one document. A tool that generates a number for each invoice separately cannot guarantee it.
A purchase order and an invoice are the same document read from opposite ends. One promises money for work not done yet; the other asks for money for work done. So this runs on the same tested arithmetic as the invoice tool, with the labels a supplier expects: ordered by, supplier, order date, delivery by.
What a purchase order is actually for is the number. It is the thing a supplier quotes on their invoice, the thing your accounts team matches against, and the reason an invoice with no PO number sits in a pile for three weeks. Which is why the number is the first field and it appears at the top of the document.
How to use
- Put in the order number. Whatever your series is, keep it consistent: a supplier will type it into their system by hand.
- Fill in both sides, then the lines:
Description | quantity | unit price | tax percent, or the shorthands. - Print it, or download the HTML to email.
Example
Forty reams of paper and two boxes of ink, with £25 off and taxed delivery:
Subtotal $206.00
Discount -$25.00
Net $181.00
Tax, on the subtotal $36.20
Shipping $15.00
Total $232.20
The tax method is printed on the document, because a purchase order that disagrees with the supplier’s invoice by a penny wastes somebody’s afternoon on both sides.
Pitfalls
The order number is the point. Put it on the order, ask for it on the invoice, and match on it. Everything else is detail.
A purchase order is a commitment in most places. Accepted by the supplier, it forms a contract on the terms written on it, which is why the terms field exists and is worth filling in.
Specify the goods properly. “Paper” invites the wrong paper. Size, weight, colour, part number: the line description is what arrives.
Say when and where. Delivery date and delivery address prevent the most common dispute, which is a pallet arriving on a day nobody is there to sign for it.
Tax on a purchase order is an estimate. The supplier’s invoice is the document that determines tax, and their rate or registration status may differ from your assumption.
Do not use it as a receipt. An order records what you asked for. Goods received and invoice approved are two more documents, and matching all three is the control that catches mistakes.
Currency is a symbol, not a rate. An order priced in another currency needs the rate and its date agreed in writing, since the invoice may land weeks later.
Compatibility
Runs in the browser: nothing is uploaded, and the document is built locally. The PDF comes from the browser’s own print dialogue.
The arithmetic is shared with the invoice generator, which means it is the same tested module: both tax rounding methods, a proportionally spread percentage discount, taxed shipping, and a rounding helper that handles the cases a double gets wrong. Both the arithmetic and the markup are mirrored in PHP and compared on every build.
The document differs from an invoice only in its labels and its default wording, which is decided by which tool you are on rather than by a field, since an order that says “invoice” at the top is worse than useless.
The downloaded file carries its own stylesheet and prints the same anywhere.