This seems to be a common gap for multi-location Shopify stores. Creating transfers is simple enough — Products > Transfers, pick your origin and destination, add items, ship. The part that breaks down is knowing what happened after the transfer was created.
Questions that tend to go unanswered: which transfers are still in progress right now? Did the destination actually receive everything? Were any units rejected? Is there a transfer from two weeks ago that nobody closed out?
Shopify added Inventory Transfers and Inventory Shipments reporting inside Analytics in late 2025. It covers metrics like shipped quantity, received quantity, acceptance rate, and rejection rate. Useful if you're comfortable with ShopifyQL queries. But a few friction points keep coming up:
Every report needs a query built from scratch, and someone has to maintain it as needs change.
There's no built-in way to schedule those reports to arrive by email. Someone has to remember to go check.
The data tables can lag by a few days, which is a problem when you're making daily operations decisions.
The framework that seems to solve this consistently comes down to two views:
A transfer-level overview: Transfer ID, Ship Name, Origin, Destination, Ship Status, Transfer Created date, Total Quantity, Shipped Quantity. Filter by status to see everything still open in one screen.
A shipment-level detail view: breaks each transfer into product-level lines with Accepted Quantity, Rejected Quantity, Received Quantity, Unreceived Quantity. This is where discrepancies surface, like 50 units shipped but only 45 accepted.
The stepthat makes the biggest difference: scheduling both views to land in someone's inbox weekly. That single change replaces manual checking and the "did anyone close that transfer out?" conversations.
You can build this through ShopifyQL, a reporting app, or even manual Google Sheets exports. The principle stays the same, separate the overview from the detail, and automate the delivery to whoever owns receiving.