Why does Shopify Analytics inflate ending inventory for unfulfilled orders?
An October Shopify update switched Ending Inventory Units to include committed stock rather than just available inventory. When customers request early invoices to clear quarterly budgets and those unfulfilled orders carry over the month, this bundled metric inflates closing stock and renders standard reports useless. Because available units are missing from ShopifyQL, the only current workaround is to recreate reports from scratch using GraphQL.
What the numbers show
Counted from the threads quoted below. How we count
- People have been saying this in most months since September 2026.
What people tried
Every workaround mentioned in the threads below. We haven’t tested any of them — and nobody here is claiming they worked.
Found another way around this?
Share your steps and trade-offs so fellow engineers don't have to reinvent the wheel. No account required.
Why does Shopify Analytics inflate ending inventory for unfulfilled orders?
- 1Log the transaction as a deposit or customer liability on the books until fulfillment occursDid this help you?
- 2Offer a rush or expedite service to pick the order immediately for a premium rateDid this help you?
- 3Using a custom query editor to manually subtract committed quantity from ending quantity.Did this help you?
- 4Bypassing the built-in analytics entirely and using a GraphQL API to recreate reports from scratch.Did this help you?
In their words
Unedited, grouped by where they were said, most upvoted first within each place, each linked to the thread it came from.
“Yeah, that October shift in Shopify Analytics caught us off guard during month-end reconciliation too because bundling Committed units into Ending Inventory inflates your closing stock whenever unfulfilled orders carry over the 30th or 31st.”source ↗
“Some genius at Shopify as of 1st October thought it'd be a good idea to switch Ending Inventory Units from the Inventory Available to Inventory On Hand / Committed (Sold so no longer part of your inventory technically).”source ↗
“This has rendered my reports completely useless.”source ↗
“I failed at trying to find available units as an attribute in ShopifyQL and ended up solving this by connecting Claude to GraphQL and recreating the reports from scratch.”source ↗
“That means they will ask for an invoice before the items get fulfilled so that the invoice date is in the same quarter.”source ↗
“The problem is with most inventory systems, once you invoice, the system assume that the goods have gone out, but in this case, the orders is not even picked yet.”source ↗
Where this came up
People with this problem also raised
- 2Order marked shipped but tracking doesn't update
- 3How to track inventory for custom made-to-order products without variants
- 7How to handle inventory and fulfillment when sales pick up
- 10How to track unpaid invoices and follow up with clients
- 2How to set up inventory receiving procedures from scratch
- 6Why do clients take 30, 60, or 90 days to pay invoices?