How do I import a customer’s Excel or CSV purchase order into Shopify?
Order importers for Shopify expect a file in their template, so you end up copying your customer’s spreadsheet into someone else’s columns. NeatPO reads the buyer’s own layout instead: it finds the header row, works out which column is the product, the quantity, the unit and the price, and keeps the sheet and cell of every value so you can check it.
No install needed for the sample. Plans start at $149/month, billed by Shopify, with a 7-day trial.
Do it now
- Upload the .xlsx or .csv exactly as the customer sent it — no reformatting, no deleting their logo rows or notes.
- Check the review screen: every line shows the cell it came from, the matched Shopify variant and any issue that needs your decision.
- Approve and create the Shopify draft order.
What it looks for in a spreadsheet
A purchase order sheet usually starts with a few header lines — PO number, buyer, date, currency — and then a table. NeatPO reads the header fields it recognises and looks for a table header row with at least a product column (SKU or description) and a quantity column. Unit, unit price and line total columns are used when present.
Rows after a second header row, subtotal and tax lines, and blank separator rows are not silently turned into products; anything left unread is reported.
Numbers that mean different things in different countries
“1.250” is one and a quarter in the US and twelve hundred and fifty in Germany. A CSV exported from a European system often writes prices as 12,50 and thousands as 1.250. NeatPO uses the document’s locale and currency hints to read numbers; when a value could honestly be read both ways, it becomes an issue for you to resolve instead of a coin toss. Money is kept as an exact decimal with the currency’s own number of decimals (JPY has none, KWD has three).
Workbooks with several sheets
Some buyers send one workbook with an order sheet and an archive tab, or one sheet per delivery. NeatPO reads one order per document and tells you which sheet it used; it does not merge sheets into one order, because merging two deliveries into one draft is a mistake you would only find at fulfilment.
A product import template is not a purchase order
If the file is a Shopify product export or import template — Handle, Title, Variant SKU, Variant Price — it describes your catalog, not what a customer wants to buy, and NeatPO says so instead of inventing an order from it.
The honest limits
- Formats: .xlsx and .csv (and PDFs with text). Old .xls files need re-saving as .xlsx.
- One purchase order per file; up to 300 product lines.
- Formulas are read by the value saved in the file. A formula with no saved value is flagged, and a sheet that was never recalculated can carry stale numbers, which the review screen shows as printed.
Checked against the product on October 7, 2026.