This tool generates fake purchase orders for testing procurement software and ERP system demos. Each document includes a PO number, a date, a fictional vendor and buyer, a set of priced line items, and correctly computed subtotal, tax, and grand total. Because the maths reconciles, you get test data that behaves like the real thing without touching anyone’s actual records.
How it works
The generator assembles a complete, internally consistent purchase order:
- It creates a PO number in the form
PO-YYYY-NNNNN, a recent date, and picks a random vendor and buyer. - It draws two to five distinct catalogue items, assigning each a random quantity and a unit price within a realistic band for that item.
- It computes each line total as quantity times unit price, sums them into a subtotal, applies your tax rate, and adds tax to produce the total.
All money values are rounded to two decimal places at each step so the document reconciles exactly when fed into accounting or procurement software.
How the maths works
For each line item:
line total = quantity × unit price (rounded to 2 d.p.)
Then:
subtotal = sum of all line totals
tax amount = subtotal × (tax rate / 100)
grand total = subtotal + tax amount
Rounding happens at the line-item level, not the final total, so when software re-computes the grand total from the exported CSV it will reproduce the same result rather than accumulating floating-point drift. This is the same approach most accounting systems use and is important for testing reconciliation logic.
Document fields at a glance
| Field | Format | Example |
|---|---|---|
| PO Number | PO-YYYY-NNNNN | PO-2026-04821 |
| Date | ISO date | 2026-06-15 |
| Vendor | Generated company name | Apex Supply Co. |
| Buyer | Generated company name | Meridian Ltd. |
| Line items | 2–5 catalogue items | Office Chair ×3 @ £89.00 |
| Subtotal | Two decimal places | £267.00 |
| Tax | Rate applied to subtotal | £53.40 (20%) |
| Grand total | Subtotal + tax | £320.40 |
Common testing scenarios
- Import validation: generate five POs and import them into your procurement system to verify the PO number key, date parsing, and multi-line-item handling all work correctly.
- Tax rate edge cases: set the rate to 0 to test a tax-exempt path, then to 5, 10, and 20 to verify your software rounds correctly at each rate — different tax rates can expose rounding bugs that flat-rate data misses.
- Total reconciliation: export and re-sum the line totals programmatically to confirm your import pipeline does not recompute totals in a way that drifts from the document.
- ERP demo: use a stack of three or four POs with the same vendor to show an approval queue in a product walkthrough without involving real financial records.
Tips and notes
- Set the tax rate to match the locale your software targets — for example 20 for UK VAT or 0 for tax-exempt tests.
- The copy-as-text output is convenient as a fixture file or for pasting into a bug ticket.
- Treat every value as fictional; never mix this output with real vendor or financial data.
- Everything runs locally in your browser, so you can generate as many distinct POs as your test suite needs.