Blog · 22 October 2026 · 7 min read

Restock Ops purchase order fields: reference, expected date, shipping

Every header field on a Restock Ops purchase order, what it changes, how the total is computed and where each value shows up: Receive page, list, CSV.

A purchase order in Restock Ops is mostly lines: a variant, a quantity, a unit cost, a tax rate. Above the lines sits a header with a dozen fields that are easy to skip when you are in a hurry to send the order. Some of them are just for your records. Others quietly decide the order of the Receive page, the total you compare against the supplier invoice, and what lands in the CSV export.

This post goes through the header field by field: what the app does with the value, when you can still change it, and where it reappears. It does not cover the lines themselves or the receiving flow, which have their own posts. If you have been leaving Reference and Expected delivery empty, the section on the Receive page is the reason to stop.

When the header can be edited

The header is editable while the purchase order is a draft, after it has been marked as ordered, and while it is partially received. It locks when the order is closed or cancelled. The one exception is the destination location, which is fixed once the order is marked as ordered because incoming quantities have already been written against it; the post on choosing the destination location covers why.

So a supplier confirmation number that arrives two days after you placed the order can still be typed in, and an expected date that slips can be moved. Changing either writes nothing to Shopify. Header fields live in Restock Ops only; Shopify sees quantities and costs, not paperwork.

Reference

The field is labelled Reference, with a hint that it is for the supplier order or confirmation number. Put whatever the supplier will recognise when you phone them: their sales order number, the quote reference, the proforma number. Restock Ops gives every purchase order its own PO number, and the supplier almost never knows it.

The reference shows next to the PO number on the Receive page, so the person unpacking a delivery can match the box label to the right order without opening each one. It also has its own column in the CSV export, which is where an accountant reconciling supplier invoices will look for it.

Expected delivery

Expected delivery is a date, and it does more than any other header field. The Receive page lists every ordered or partially received purchase order sorted by expected date, earliest first, with orders that have no date falling to the end in creation order. Fill it in and the page becomes a delivery schedule; leave it empty and it is a pile.

The date is also a column on the purchase orders list and in the CSV, and it feeds the incoming projection on the reorder report, which treats units on open orders as arriving on that date when it decides whether a variant needs reordering. An order with no expected date still counts as incoming, just without a day attached.

Update the date when the supplier tells you it has slipped. Nothing bad happens if you do not, but the Receive page will keep showing the late order at the top, above deliveries that are actually due this week.

Notes

Notes is a free text area for the order as a whole: delivery instructions, who approved it, why the quantity on one line is odd. It is shown on the purchase order page and nowhere else. It is not sent to the supplier and not exported, so treat it as an internal sticky note rather than part of the paper trail.

Invoice number, status, due date and total

Four fields track the supplier invoice separately from the goods. Invoice number is the supplier's. Status is one of None, Unpaid or Paid, and when it is Paid the page shows the date it was marked. Due date is the payment date from the invoice terms. Invoice total is the amount on the invoice itself, typed in by you.

That last one matters because the invoice total is independent of the total Restock Ops computes from the lines. They should match, and when they do not, one of them is wrong: a price changed between quote and invoice, a line was short-shipped and credited, or a freight charge appeared that was not on the order. Keeping both figures side by side on the page is a cheap way to catch that before the invoice is paid.

Invoice number, status and due date are in the CSV export and the status appears as a column on the purchase orders list, so an unpaid-invoices view is a sort away.

Shipping and discount

Shipping and Discount are two money fields on the header. Shipping is added to the total, discount is subtracted. Both are order-level figures: they apply to the purchase order as a whole and are not spread across the lines.

That has one consequence worth knowing. When a receipt is committed, the unit cost written to Shopify's cost per item comes from the line's unit cost only. Shipping on the header is not allocated into it, and neither is the discount. If you want freight in your cost of goods, which the post on what to include in cost per item argues you usually do, divide it into the line unit costs yourself before receiving. The header field is for making the PO total match the invoice, not for costing.

Neither shipping nor discount is in the CSV export. The export is line-based, and an order-level charge has no line to sit on; the invoice total column is the place to look for the all-in figure.

How the total is computed

Two details in that table trip people up. The subtotal uses quantity ordered, not quantity received, so a partially received order shows its full committed value until it is closed. And tax is rounded per line rather than once at the end, which is how most supplier invoices do it too; if your supplier rounds once on the grand total, the two can differ by a cent on long orders.

All amounts are in the purchase order's currency, which is set from the supplier record when the order is created. The total is shown in that currency on the purchase orders list as well, without conversion.

Totals shown on the purchase order page
RowHow it is calculated
UnitsUnits received over units ordered, summed across lines
SubtotalSum of quantity ordered multiplied by unit cost, per line
TaxEach line's subtotal multiplied by its tax percentage, rounded to the cent per line, then summed
ShippingThe header shipping field, as entered
DiscountThe header discount field, as entered, shown as a negative
TotalSubtotal plus tax plus shipping minus discount

Where each field reappears

Header fields and the places they show up
FieldPO listReceive pageCSV exportReorder report
ReferenceNoYes, next to PO numberYesNo
Expected deliveryYesYes, and sets the orderYesYes, as arrival date
NotesNoNoNoNo
Invoice numberNoNoYesNo
Invoice statusYesNoYesNo
Invoice due dateNoNoYesNo
Invoice totalNoNoNoNo
ShippingIn the totalNoNoNo
DiscountIn the totalNoNoNo

A reasonable minimum

If filling in a header feels like admin for its own sake, do three things: type the supplier's reference as soon as you have it, set an expected date even if it is a guess, and set the invoice status to Unpaid when the invoice arrives and to Paid when it is settled. Those three keep the Receive page in delivery order, make a box matchable to an order, and give you a list of what you owe. Everything else is optional and can be added later, right up until the order is closed.

If you are tracking costs closely, add the invoice total too, and glance at it against the computed total before paying. The cost history will tell you what was written to Shopify; the two totals tell you whether the invoice agrees with what you ordered.

FAQ

Can I change the expected delivery date after the purchase order is marked as ordered?

Yes. Every header field except the destination location stays editable until the order is closed or cancelled. Changing the date reorders the Receive page and moves the incoming units to the new date in the reorder report. Nothing is written to Shopify.

Does the shipping cost on the purchase order go into Shopify's cost per item?

No. Cost per item is written from each line's unit cost at receiving, using the method chosen in Settings. Shipping and discount on the header only affect the purchase order total. If freight should be part of your unit cost, spread it into the line unit costs before you receive.

Why is the subtotal unchanged after I received only half the order?

Because the subtotal is quantity ordered times unit cost, not quantity received. It represents what you committed to buy. The Units row shows received over ordered so you can see progress at a glance; the subtotal moves only if you edit lines or quantities.

Where do I see which purchase orders have unpaid invoices?

The purchase orders list has an Invoice column showing the status for each order, and the CSV export includes invoice number, status and due date. Set the status to Unpaid when an invoice arrives and to Paid when it is settled; the paid date is recorded on the order.

Try it on your store. Restock Ops adds purchase orders with partial receiving, supplier notes, cost history, barcode labels, scanner stocktakes and a reorder report on top of Shopify inventory. From $19/month, 14-day free trial.

Install on Shopify Watch the demo

Sources