-
Get the template
Download the Excel template, then fill in a row for each line item. Reuse the same PO # on several rows to put multiple items on one purchase order. Add a Ship To address only for orders that go somewhere other than your business address.
-
Upload your file
No file chosenAccepts .xlsx, .xls or .csv — read in your browser, never uploaded.
-
Generate
How to generate purchase orders from Excel
Click Download Excel template to get a spreadsheet with the right columns and example rows. Fill in one row per line item — the columns cover your business (the buyer), the vendor, where to deliver, the PO number and dates, the item description, quantity and agreed unit price, plus optional discount, tax and notes. To put several items on one purchase order, give those rows the same PO #. Save the file, upload it here, and click Generate to download a ZIP containing one PDF per purchase order.
Different suppliers, different delivery addresses
Each purchase order carries its own vendor and, optionally, its own Ship To address. Order office supplies to head office, steel to a job site and stock to a warehouse from one spreadsheet: fill in Ship To Name and Ship To Address on the orders that need them and leave them empty on the rest — an empty ship-to is simply left off that PO. The Delivery Date column sets the date each supplier should deliver by.
What the template columns mean
The template has 18 columns, and only four of them are required: Vendor Name, Item Description, Qty and Unit Price. If any of those headers is missing, the upload is rejected with a message naming it. A purchase order is skipped — and listed as skipped in the summary — when it has no vendor name or no valid line items. The optional columns are PO #, Order Date, Delivery Date, Currency, Business Name, Business Details, Vendor Details, Ship To Name, Ship To Address, Discount, Discount Type, Tax Rate, Tax Label and Notes. Values that describe the whole order are taken from its first row. Dates can be written as YYYY-MM-DD or M/D/YYYY. Discount Type accepts % or percent for a percentage and anything else for a flat amount. Currency accepts USD, EUR, GBP, CAD, AUD, NZD, JPY, CNY, CHF, INR, SGD, ZAR, BRL or MXN; a blank or unrecognised code falls back to USD.
Nothing is uploaded
Your spreadsheet is read entirely in your browser — it is never sent to a server. The PDFs are built on your device by a self-hosted PDF engine and zipped locally. There is no row limit, no order limit and no sign-up; you get a single purchase-orders.zip with one A4 PDF per PO, each named after its PO number and vendor. Every purchase order is drawn by the same code as the Purchase Order Generator, so a bulk PO and a single one with the same details are identical.