Stockist WMS Help centre

The purchase order import file

  • Reference
  • Inbound
  • For: Admin, Warehouse Manager, Account Manager
  • Checked on 27 October 2026

The columns of the CSV file that imports Purchase Orders, what each one takes, and what each reason for a rejected row means.

In short

This lists the columns of a Purchase Order import file and the reasons a row is rejected. Use it when you build a file from a client's spreadsheet, or fix the rows an import sent back.

The file

  • A CSV file, with commas or semicolons between values.
  • The first row names the columns, in any order and any capitals. Columns it doesn't know are ignored.
  • Each other row is one expected line. Rows with the same purchase_order_number and client_code make one order.
  • The order's supplier, dates and notes come from its first row. Later rows can leave them blank.
  • At most 2000 rows in one file. Split a longer file into several.
  • Orders are imported as Drafts. An order with any rejected row isn't imported at all.

Columns

Column Needed What it takes
purchase_order_number Yes The client's own number for the order, such as HB-PO-0142
client_code Yes The client's code, such as HEB
supplier_name Yes Who the client ordered from
sku Yes The client's SKU, such as HB-LAV-BALM-50
expected_quantity Yes A whole number of at least 1
supplier_reference No The supplier's own order reference
ordered_at No The date the client placed the order, written YYYY-MM-DD, such as 2026-01-14
expected_delivery_date No Written YYYY-MM-DD
notes No Notes on the order
unit_cost No Zero or more, with at most four decimal places, such as 2.85
line_notes No Notes on the line, at most 1000 characters

Hebden Botanicals' order HB-PO-0142 with two lines is two rows. Both give HB-PO-0142 and HEB, with HB-LAV-BALM-50 on one and HB-SALT-SCRB-200 on the other. Only the first needs the supplier and dates.

Why a row is rejected

The rejected rows download as purchase-order-import-rejections.csv, with the columns row, purchase_order_number, reason and message. Rows are numbered as a spreadsheet numbers them, with the header as row 1.

Reason What to fix
Missing value Fill in the required value the row left blank.
Invalid value Write the date as YYYY-MM-DD, or shorten the text, as the message says.
Unknown client Use a client code that exactly one client has.
Client account refuses orders The client is on hold, closed or past its last trading date. Ask its Account Manager.
Unknown product Add the product to the client first, or correct the SKU.
Invalid quantity Give a whole number of at least 1.
Duplicate purchase order The client already has an order with that number. Use a new number.
Product repeated on the order Put the product's whole quantity on one row.
Conflicting order details Make the order's supplier, dates and notes match its first row, or leave them blank.
Order not imported Another row of the same order was rejected. Fix that row and import the order again.

Still stuck? Email [email protected]