Stockroom

Purchase orders on Shopify, explained

What a purchase order is for, the five states it moves through, what each one changes in your Shopify inventory, and where the cost of the goods ends up.

4 min read

A purchase order is a document you send to a supplier that says what you want, how many, at what price, and where to deliver it. The supplier fills it, and you check the delivery against it. Shopify has a basic purchase order page of its own, and apps add the sending, the receiving and the costing around it.

It is worth doing even for a small store, because the PO is the one place the agreement is written down before the boxes arrive.

This guide walks through how a PO works on Shopify, using Stockroom as the example. The mechanics are the same in any PO tool.

What a PO is not

A PO is not an invoice. The invoice comes from the supplier after they ship, and it can differ from the PO if quantities changed or a price moved. A PO is also not a receipt. The receipt is what you record when goods physically arrive. Keeping the three apart is what lets you spot the gaps: ordered 100, invoiced 100, received 96.

The five states

Every PO moves through the same states, and each one means something for your stock.

Draft. You are still building it. Add products, set quantities, pick the supplier and the delivery location. Nothing has been promised to anyone, and nothing in Shopify has changed. Stockroom fills a draft from reorder suggestions, from a scan, from a CSV, or by hand.

Ordered. You have sent it, or marked it sent. This is the state that touches Shopify: the quantities on the PO appear as incoming on the product pages, attributed to the PO. Incoming is not available stock, so nothing can be sold against it, but anyone looking at the product can see that 120 units are on the way.

Partially received. Some of it arrived. You record what came, those units move from incoming to available, and the remainder stays incoming. The PO stays open until you decide what to do with the rest. There is a separate guide on that decision.

Received. Everything arrived. The last receipt moved the final units to available, and the PO has served its purpose.

Closed. You closed it, either after receiving in full or short. Closing short retracts the unreceived units from incoming, so Shopify stops showing stock that is never coming.

Sending it

Most suppliers want the PO as a PDF, by email. Stockroom generates the PDF, attaches it and sends it from your own domain, with the email text you set per supplier. If the supplier runs on Shopify too, you can send it over Stockroom Network instead, and it arrives in their store as an order with the lines already matched.

Whichever way it goes, the point of sending from the PO tool rather than from your inbox is that the send is on the record. You can see when it went, whether it was opened, and which version of the order the supplier has.

Receiving against it

When the delivery arrives, you receive it against the PO rather than adjusting inventory by hand. Open the PO, count what is in the boxes, and confirm. The app moves those units from incoming to available at the delivery location, and records who received what and when.

Receiving against the PO is what makes a difference visible. If you ordered 24 and counted 22, the PO says two are outstanding. If you counted 26, the PO records the two extra as surplus and the ordered quantity stays at 24, because the PO is the agreement and the receipt is what happened.

Where the cost goes

A PO carries a unit cost per line, in the supplier’s currency if that is how you buy. When you receive, that cost becomes the cost of the units you received. If freight, duty or fees apply, landed cost spreads them across the lines and the per-unit cost that reaches Shopify includes them.

That number is what your margin reports run on. A store that receives without a PO ends up with the supplier’s list price as its cost basis, or with nothing, and its margins are wrong in the same direction on every product.

What Shopify gives you on its own

Shopify has a purchase order feature of its own, and for a store that places a few simple orders it may be enough. The comparison page goes through it line by line: what it covers, what it leaves out, and where each is the better fit.

Getting started

If you have never run POs, start with one supplier. Create a PO for your next order, send it from the app, and receive it when it lands. After one round you will have the supplier’s real lead time, a cost basis for those products, and a record you did not have before. Stockroom is free to install, and purchase orders and receiving are the part that stays free.

Free on the Shopify App Store

Purchasing on Shopify, handled

Stockroom is free on the Shopify App Store - unlimited POs, receiving, counting and reordering.