Creating a shipment object is now optional. You can move inventory along the shortest path—Draft → In transit → Received—and review progress, tracking info, and purchase orders (POs) all on one screen.
For every transfer you had to manually create a Shipment—create → pack → ship. That's a lot of steps just to move inventory from one place to another.
Just create a transfer and you're done: "move to In transit → receive on arrival." If prep is needed, you still have the option to add a "Ready to Ship" step.
No need to create packing/shipment objects for every transfer. It's complete with "create → move → receive."
Quantity changes at the origin and destination are visible at a glance at each step. A UI where you grasp progress just by reading the screen.
tracking number / carrier are shown directly within the transfer. Collapsed by default, expandable only when you need it.
Go straight from Draft to In transit. You can choose to pass through Ready to Ship only when you want to prepare before shipping.
You can link a PO to a transfer.Cost information is consolidated in the same place as the transfer, so reconciling receiving settlements and stocktakes can be done on a single screen.
| Item | Old | New inventory transfer |
|---|---|---|
| Shipment creation | Required Create, pack, and ship every time | Optional Move to in transit without creating one |
| Ready to Ship | Effectively a required step | Optional Used only by those who need it |
| Progress visibility | Check by navigating between screens | at a glance Quantity changes consolidated on the transfer page |
| Tracking information display | Not available | Inline within the transfer (collapsible) |
| Purchase order integration | Not available | Can be linked Centralize cost information |
* The layout is an illustrative mockup. Details of the actual admin UI may change.
Enter the source, destination, items, and quantities. Link a PO if needed.
Directly from Draft, or after passing through Ready to Ship.
Receipt is completed at the destination, and inventory is officially added in.
Internal tools and integration apps that were built assuming a Shipment object must now newly account forcases where a transfer has no Shipment.
The previously assumed flow of Draft → Ready to Ship → In transit → Received can now also be completed as Draft → In transit → Received.Code that handles state transitions should be designed to tolerate skipped paths.
The article only covers the admin UI and operational flow.GraphQL spec changes related to InventoryTransfer / Shipmentare not documented. You need to verify the behavior in a sandbox before building your integration.
Transfers can now be linked to purchase orders = "transfers with known costs"can now be created. On the accounting and cost-management side, this makes it easier to reconcile unit costs across transfers.
The tracking number / carrier can be referenced inline within the transfer.The reference path for fields that previously lived under Shipmentmay change, so the data-fetching logic on connected apps should also be reviewed (the post does not document the detailed spec).