When a Purchase Order is marked as Ordered in Shopify, the system automatically creates a linked Inventory Transfer. However, the Reference field from the Purchase Order is not carried across to the linked Transfer’s Reference field — it is left blank.
This is a significant gap in the native purchasing workflow. The reference number is a critical piece of information used to match transfers to supplier documentation, and having to manually re-enter it on the transfer introduces unnecessary friction and risk of error.
What we attempted: We explored using Shopify Flow to automate copying the PO reference to the transfer, but found that:
There is no “Inventory Transfer Created” trigger in Flow
By the time a transfer trigger fires (“Ready to Ship” or “Completed”), the Admin API does not expose a link back to the originating PO
Triggering on PO status change (Ordered) is too early — the transfer doesn’t exist yet at that point
Expected behaviour: When Shopify auto-creates an Inventory Transfer from a Purchase Order, the Transfer’s Reference field should be automatically populated with the PO’s Reference field value.
Impact: Merchants using the native PO system cannot reliably trace transfers back to their source POs without manual data entry, undermining the value of the linked PO/transfer workflow.
Purchase Orders are not in the Admin GraphQL API at all, no PO object, query or mutation (as of 2026-07). So a “Send HTTP request” step in Flow can’t read the PO’s reference
The unfortunate reality is that this cannot be done through automation at the moment in Shopify.
As there is no “Inventory Transfer Created” trigger available through Shopify Flow and because the relationship between the auto-created Transfer and the originating Purchase Order is not available through the Admin API, there is no way to copy the PO Reference automatically when the Transfer is created.
You could either:
Enter the reference manually
Develop a custom app that would create a Purchase Order and a Transfer (not the auto-created one), allowing you to manipulate the reference field
Contact Shopify about your problem as I think it is a feature gap in their inventory management
I do not see any other solution as of today based on the current API capabilities and Flow functionality.
@gav_2 the PO reference propagation issue is a symptom of a deeper problem – Shopify treats the PO as a single number, not a record with cost layers. When you receive goods against a PO, the landed cost (freight, duty, insurance, discount) should flow through to the inventory cost, but the current design drops that context.
What I am working on: a focused tool that keeps the PO as the unit of truth – per-charge landed cost allocation (freight by weight, duty by value), a late-invoice true-up as a new revision instead of re-entering the PO, and inbound netting that splits overdue/unknown-ETA from reliable in-transit stock.
Since you are running into the PO data integrity gap – would you be open to a 20-minute workflow review? I am pre-launch and trying to validate the late-invoice case against how people actually handle it. No sales pitch.