Back to blog
Article

Shopify Inventory Reports Switch to On-Hand. Mark the Definition Break

Shopify inventory analytics switch from available to on-hand on September 1 without restating history. Test one SKU before ERP or warehouse decisions change.

AorBorC field note / Last reviewed September 2, 2026

10m
Read time
Sep
Published
Shopify Inventory Reports Switch to On-Hand. Mark the Definition Break

A metric can be correct and still break comparability. Starting September 1, Shopify says affected inventory analytics use on-hand quantity instead of available quantity, while earlier reporting keeps the old basis.

Category: Shopify, E-commerce & Inventory Operations
Author: AorBorC Technologies
Published: September 1, 2026

Starting September 1, Shopify says the inventory analytics models behind named reports and queries written in ShopifyQL, Shopify’s analytics query language, use on-hand quantity instead of available quantity. Earlier data is not rewritten; it remains available-based. One chart can therefore cross the date boundary while answering two different questions.

Available quantity means units that can be sold. Shopify defines on-hand quantity as the total physically recorded at a location, made up of available, committed, and unavailable units. If the underlying state quantities are otherwise unchanged, a higher September result can be mathematically correct without a stock movement at the boundary because the report now includes committed and unavailable units that an available-based result excluded.

The AorBorC view is practical: treat this as a change to the metric’s contract—what the number means, when that meaning starts, and which decisions use it. Mark the boundary, test one SKU at one location, and trace the result through every dashboard, replenishment rule, warehouse report, ERP mapping, and finance review.

What changes starting September 1

Shopify says the inventory and inventorybylocation analytics models now measure stock using on-hand quantity. Reports powered by those models include Products by sell-through rate, Products by days of inventory remaining, Inventory adjustment changes, Inventory sold daily by product, ABC product analysis, Month-end inventory value, Inventory transfer orders and shipments, and Month-end inventory snapshot.

Shopify did not say every inventory screen, API field, export, or merchant report changed. The announcement names those analytics models and their reports.

The historical boundary matters just as much. Shopify says reporting before September 1 continues to show available quantity. Only September 1 and later use on-hand quantity. The old history is not restated onto the new basis.

That means one continuous chart can contain two measurement bases:

  • Available answers, “How many units are currently sellable?”
  • Committed covers units in unfulfilled orders, reserved draft orders, and transfers or shipments marked ready to ship.
  • Unavailable is the Shopify-admin display for reserved, damaged, safety-stock, and quality-control quantities; it is separate from committed.
  • On hand is the recorded total of available, committed, reserved, damaged, safety-stock, and quality-control quantities at the location.
  • Incoming is not yet physically present and remains unavailable to sell until it is received and moved to an available state.

On-hand is useful physical-stock visibility inside Shopify. It is not proof that a stocktake was completed, that the warehouse is accurate, or that the accounting value is correct.

A continuous chart can hide a definition break

Consider one synthetic variant at one location:

  • 40 units are available to sell.
  • 10 units are committed to open orders.
  • 5 units are unavailable for quality review.
  • The recorded on-hand total is 55 units.

An available-based report can show 40. An on-hand-based report can show 55. If the state quantities remain the same across the September 1 boundary, that 15-unit difference is not a stock movement. It comes from the reporting definition including committed and unavailable units.

Real stores add locations, transfers, draft orders, app-managed holds, returns, and timing differences between Shopify and the ERP. Without a definition label, a buyer may think coverage improved, a warehouse lead may look for a nonexistent receipt, or finance may investigate an apparent valuation change that began as a reporting change.

Who should check this

Review the change if the business uses a named report, queries inventory or inventorybylocation, or sends those results into BI, ERP, replenishment, warehouse, board, or AI workflows. It matters most where committed or unavailable stock is material, locations hold different states, or historical trends drive thresholds. If the team does not consume the affected models, the impact may be limited; confirm the path before changing anything.

Three decision areas need a definition label

Merchandising and replenishment

Sell-through, days remaining, and inventory fields in ABC analysis can inform assortment, purchasing, and replenishment. The changed basis can alter quantity-dependent outputs even when sellable stock has not improved. Verify the exact field before rebaselining a threshold; do not assume every field in each named report changed.

Warehouse and transfer operations

The on-hand total, read alongside committed and unavailable state detail, can show how physically recorded units are distributed, but the total alone does not explain a hold’s reason, owner, age, or next action. Transfer and shipment reports still need location and state context; the control is the transition and its evidence, not the headline total.

Finance and inventory value

Shopify names Month-end inventory value and Month-end inventory snapshot among the affected reports. Finance should inspect any export feeding an accounting review. Shopify’s report is not automatically an ERP ledger or compliant valuation; costing, ownership, landed cost, write-downs, cutoff, and policy remain separate controls.

Keep the reserved-to-committed migration separate

Shopify also published a separate August 5 developer notice covering active draft orders and open transfers or shipments that are still holding inventory when its one-time migration runs. Completed, cancelled, and already released holds are not modified.

Shopify describes the values as moving between two quantity buckets that are unavailable to sell. In merchant-facing labels, however, reserved values appear under Unavailable while committed remains separate. Available and on-hand totals do not change, buyers’ sellable inventory is unaffected, and both quantity names remain queryable. Affected adjustment reports can show a one-time correction entry while earlier history remains unchanged.

That state migration is relevant to custom integrations that identify a particular hold by reading reserved. It is not the cause of a September 1 difference between available-based and on-hand-based reporting. Keep the two changes in separate test cases and separate change records.

A ten-step implementation checklist

  1. Inventory the consumers. List every named Shopify report, ShopifyQL query, export, spreadsheet, BI model, ERP integration, replenishment rule, alert, and AI summary that uses the affected analytics models.

  2. Name the business question. For each consumer, write whether it needs sellable, physical, committed, unavailable, incoming, or valuation-oriented inventory. Do not accept a field simply because its label sounds close.

  3. Save pre-change evidence. Export the August 31 result with its report settings, filters, location scope, query, and owner. If August 31 is unavailable, use the closest pre-change date and label it. Do not rewrite history.

  4. Choose mixed-state test records. Select synthetic or approved variants with nonzero available, committed, and unavailable quantities at one or more locations. Record the state totals before interpreting the report.

  5. Test the date boundary. When September 1 data appears in the affected report, run a pre-change period, a post-change period, and a range that crosses the boundary. Confirm reviewers can see which definition applies to each part.

  6. Audit formulas and alerts. Review sell-through, stock cover, days remaining, ranking, reorder thresholds, anomaly rules, and board metrics. Rebaseline only after the owner approves the intended quantity contract.

  7. Check custom queries and connectors. Inspect ShopifyQL, BI transformations, cached extracts, and integration mappings. Record the source model, field meaning, variant and location scope, refresh time, and effective date rather than passing an unlabeled number downstream.

  8. Reconcile one SKU to the operating system. Trace the same variant and location through Shopify, the warehouse record, and Odoo or another ERP. Explain available, committed, unavailable, incoming, and on-hand differences without forcing unlike states into one total.

  9. Test downstream decisions. Confirm that no dashboard or integration substitutes the new on-hand analytics value for product-catalog or checkout availability. Then test procurement, transfer work, warehouse release, finance review, reporting, and support decisions that consume affected analytics.

  10. Assign review and exception ownership. Name who approves the metric definition, who investigates a variance, what evidence is retained, and when the first September reports will be reviewed again.

Operational impact across Shopify, ERP, and e-commerce

The storefront still needs a clear sellable-stock rule. Neither Shopify source says checkout availability changed; the August 5 notice explicitly says available quantity and what buyers can purchase are unaffected. Custom catalogs, connectors, and checkout logic should continue to use their intended sellable-stock contract rather than substitute an on-hand analytics result.

The warehouse needs a state-and-location trail. Receipts, transfers, reservations, picks, holds, damage, quality control, and returns need durable references and owners.

The ERP needs an explicit system-of-record and valuation boundary. In an Odoo-led or custom ERP operation, procurement, cost, valuation, approvals, supplier invoices, and finance reporting may remain authoritative there while Shopify owns channel availability and order capture. AorBorC’s Odoo implementation work maps those boundaries instead of treating similar labels as interchangeable.

The integration needs versioned field mappings. It should preserve variant, location, state, timestamp, source, and business meaning, then alert on missing or contradictory handoffs. Our e-commerce store development practice covers the catalog, checkout, inventory, order, ERP, and support path around that contract.

AI can help inventory report dependencies, compare exports, or summarize an exception queue. It should not decide that a quantity jump represents a receipt, a valuation gain, or a purchasing signal without the state evidence and a named human reviewer.

Risks, limits, and where the hype is not useful

This is a reporting-basis change, not a physical inventory event. Shopify says historical data before September 1 stays on the available basis. The change does not make unavailable stock sellable, remove the available state from operations, or prove that every merchant will see a higher result.

The dated changelog defines the scope of this article. Verify the exact report or query in use; do not generalize this analytics change to every inventory screen, API field, export, or app.

The change also does not reconcile Shopify with a stocktake, warehouse management system, Odoo database, general ledger, or tax return. Those are separate controls with their own timing, ownership, and evidence.

The AorBorC view

A metric contract should record the old and new definition, effective date, historical treatment, included and excluded states, downstream consumers, representative test record, owner, and approval evidence.

That is the same founder-led, human-reviewed method AorBorC uses for new builds and rescue work: map the workflow, identify the system of record, test the uncomfortable path, and leave an operating trail that survives the launch. The broader delivery model is outlined in our company profile.

Business takeaway

Starting September 1, Shopify says affected inventory analytics use on-hand quantity while earlier history remains available-based. Keep both numbers—but label the question each one answers. A continuous chart is not a continuous measurement when the definition changes underneath it.

Your next move

Pick one SKU with committed and unavailable units, trace it across the September 1 boundary, and record every downstream consumer before changing a dashboard or threshold. If the result exposes unclear Shopify, warehouse, or ERP ownership, plan the inventory and reporting workflow with AorBorC.

Next step

Need help mapping this workflow?

Start with the workflow, roles, decisions, and system handoffs. AorBorC can map the operating problem, identify the right build path, and define a practical first phase before your team commits to implementation.

Related Articles

August 25, 2026

Zoho Deluge Adds Throw. An Exception Is Not a Rollback

Zoho Deluge can now raise custom exceptions. Stopping a script does not by itself undo an order, inventory change, or other completed action.

Read article

August 23, 2026

Shopify Payments Has a New Activity Report. It Doesn't Close the Books

The new Shopify Payments activity report explains balance movement, fees, holds, and payouts. Finance teams still need an order-to-bank-to-ERP close.

Read article