Receiving is where a purchase order pays off: the stock you ordered becomes stock you can sell. In Stockroom, receiving happens right on the purchase order - enter what arrived, and your Shopify inventory updates at the location you choose. Receive everything at once, or in as many partial deliveries as it takes. You can also record what each delivery actually cost, so your product costs stay accurate.
When a purchase order can be received
Two buttons appear on a purchase order once it's been marked as Ordered, and stay available while it's Partial (some items received, some still outstanding). Receive & count opens the receiving card, where you enter or scan what actually arrived - that is the flow below. Receive all takes the whole remaining order in one step, without opening the card; see Receiving a whole order without counting. Draft POs can't be received yet - mark them as ordered first.
1. Open the Receive stock card
Open the purchase order and click Receive & count. A Receive stock card opens right on the page:
Receive to location - where this stock is arriving. It defaults to the PO's destination, and you can pick any of your Shopify locations.
A line-by-line table showing Product, Ordered, Already received, Receive, and Unit cost.
An Invoice # field for the supplier's invoice number on this delivery, and an optional Note (handy for "Box 2 of 3" or "2 units damaged").
A Received date - defaults to today. Entering a delivery that actually arrived earlier? Pick that day, and the receipt, your reports, and your cost history all use it.
On a purchase order that ships to more than one location, each line also shows a For {location} badge, so you receive the right items to the right place.
2. Enter what arrived
Every line's Receive quantity starts at zero, so you can scan or type what actually turned up without clearing a number first. Scan to count sits at the top of the card - each scan adds one to the matching line.
Whole order arrived? Click Max counts and every line fills with the quantity still outstanding - then adjust anything that came up short. For a partial delivery, either enter just the lines that arrived, or click Max counts and lower the ones that fell short. Lines left at zero are skipped, so you can receive them in a later delivery. Stockroom won't let you receive more than what's outstanding on a line, so quantities always stay honest against the PO.
Zero counts sits next to it and clears every quantity, so you can count a delivery from scratch. When your supplier has told Stockroom what's actually in the shipment the quantities pre-fill on their own, a banner says where they came from, and the two buttons become a Set all menu with a third option, Fill from ship notice, for putting those numbers back after you've changed them.
3. Record true costs (optional)
Invoices don't always match the PO. As you receive, you can:
Edit each line's Unit cost to match the supplier invoice. This updates the receipt, not the PO - the PO stays your original agreement.
Enter the supplier Invoice # for this delivery.
If the PO has shipping or duty charges, a Landed / unit column shows what each unit truly costs once those are spread across the items. See Landed cost: what your stock really costs for the full picture.
Already confirmed the receive with the wrong costs? You can still fix it - see the Undo a receipt section below.
4. Confirm
Click Receive stock. You'll see "Stock received!", and:
The purchase order's status updates - Partial if items are still outstanding, Received once everything's in.
Your Shopify inventory at the chosen location updates moments later (the update runs in the background, so give it a beat before checking the product page) - received units move from incoming to available.
The receipt is added to the Receiving history on the PO, with the date, units, location, invoice, and note.
If receiving at these costs would change a product's average cost, an Update costs and prices? dialog opens. Update costs sets your Shopify cost per item to the new weighted average, and Update prices lets selling prices move with it - each row pre-fills a New price that holds your current margin at the new cost, rounded the way you choose, and blank fields are left untouched. Tick either, both, or neither - the confirm button says exactly what it will do. (For a PO in another currency, set the Exchange rate on the PO first - without one the dialog is not offered.) Full price-update details: Keep your product costs current when you order.
Receiving a whole order without counting
If the delivery matches the order and you have no reason to check it line by line, click Receive all on the purchase order instead. It receives every outstanding item at once, at the PO's own destination, and never opens the card.
Nothing gets typed on this path, so Stockroom asks you to confirm first - and the dialog says exactly what is about to happen:
How many units are being received, and which location they are going into.
A warning if some items were ordered for a different location. A receipt always lands at one location, so those units come in here too. Worth reading before you confirm.
The same Update costs and Update prices choices the counting flow offers, with the products whose cost would change listed underneath. Leave both unticked and your catalog stays exactly as it is.
Because nothing was counted line by line, this path cannot tell you a delivery came up short. If something did not turn up, undo the receipt afterwards and receive again with counts - see Undo a receipt below. This path also always dates the receipt today - to date a delivery in the past, use Receive & count, where the Received date field lives.
Receiving across multiple deliveries
Nothing special to set up - just repeat the flow as each delivery arrives. The Already received column keeps score, Max counts always fills with whatever is still outstanding, and each delivery can go to a different location if needed. When the last item is received, the PO moves to Received automatically.
When the rest isn't coming
Suppliers short-ship. When you know the remaining items will never arrive, you have two ways to settle the order - both remove the missing units from the order's totals and stop them showing as incoming in Shopify:
Cancel remaining on one line - on an ordered or partially received PO, every line with items still outstanding shows a Cancel remaining button. The cancelled units drop out of the totals, the line keeps a "cancelled" note for your records, and the rest of the order stays open. Swapping in a substitute? Pair it with Add items.
Close the whole order - under More actions, click Close. Closing an order with outstanding items asks you to confirm, then cancels everything still unreceived the same way.
Stockroom also asks at the natural moment: when a delivery leaves items outstanding, an Items still on backorder prompt offers Keep open (another delivery is coming) or Close order (the supplier won't ship the rest).
Cancelling can't be undone - if the items do arrive later, add the product back with Add items and receive it. And if MyWorks Sync is connected, the reduced quantities sync to QuickBooks automatically.
Change a receipt's date
Every receipt in the Receiving history has an Edit date button - useful when you're entering past deliveries after the fact, or a receipt was recorded on the wrong day. Pick the correct date and save: your reports and cost history follow the new date, and your inventory and recorded costs are not touched.
A few details:
It works even after the order is Received or closed - changing the date never changes what was received or what it cost.
It also works on receipts imported from Stocky (which can't be undone), so a wrong imported date is still fixable.
Dates can't be set in the future, and a receipt that has been undone can't have its date changed.
Undo a receipt
Received the wrong quantities, or confirmed costs that don't match the invoice? Every receipt in the Receiving history has an Undo button. Undoing voids the receipt: received quantities reverse, the order steps back to Ordered or Partial, and the Shopify inventory move is reversed in the background - so you can receive again right away with the correct numbers.
Undoing everything to re-edit the order? More actions → Revert to draft undoes every receive and reopens the order as an editable draft in one step - the confirmation spells out what will happen before anything changes.
The voided receipt stays in Receiving history marked Undone, so your records stay complete. A few limits:
Product cost updates already pushed to Shopify are not reversed - the corrected receive offers a fresh cost update instead.
Receipts on a closed order can't be undone.
Receipts imported from Stocky can't be undone - their inventory never moved through Stockroom.
Dropship orders: Mark as delivered
On a purchase order that ships straight to your customer (a Ships to customer badge sits next to its status), the two buttons read Mark as delivered and Mark all delivered instead. The card works exactly the same - quantities, costs, partial deliveries - but there's no location picker and your Shopify inventory never changes: the goods went to your customer, not to you. When everything's in, the order's status reads Delivered. See Dropship purchase orders: ship straight to your customer.
Good to know
Print labels as you receive - from a receipt in the Receiving history, print one label per unit that arrived. See Print barcode and price labels.
After a PO is ordered, its lines are locked - you can still edit the Reference, Supplier invoice #, Notes, Expected arrival, and Payment due, but not the products or quantities. This keeps your receiving history accurate against what was actually ordered. You can still Add items to an ordered PO, and cancel a line's unreceived remainder with Cancel remaining.
Payment due fills itself in - when a purchase order is marked ordered without a due date, Stockroom derives one from the supplier's payment terms (Net 30 dates it 30 days out; "due on receipt" dates it same day). It's a prefill, not a lock - edit it any time.
Supplier didn't ship everything and never will? Receive what arrived, then cancel the rest - see When the rest isn't coming above. Cancelled items stop counting toward the order total and no longer show as incoming in Shopify.
Using MyWorks Sync? Receiving is the moment your purchase order becomes a real cost - connect MyWorks to send POs and bills to QuickBooks automatically.




