anata

Fulfillment Operations

Operator guide5 min read2 verified sources

How to Reconcile Shopify Inventory by Location

By Anata Inc. ·

Fulfillment operations poster reading Count each location alone. with the Anata Fulfillment product icon
Fulfillment operationsA visual hook for this fulfillment operations operator guide.

The short answer.

Reconcile Shopify inventory by location because Shopify tracks the same product independently at each active location. Freeze a clear count window, export the location and variant baseline, capture physical counts, and compare each SKU-location pair without pooling units across warehouses or stores. Use Shopify's inventory adjustment reports to trace changes by location, state, reason, staff member, app, transfer, order, or reference document where supported. Classify differences before correcting them: timing, committed or incoming state, transfer in transit, fulfillment, return, app adjustment, count error, or unresolved. Apply the smallest approved location-specific correction with a reason and reference, then rerun the same report and recount a sample. Do not overwrite several locations to force the global total to match. Preserve the before-and-after evidence so later reports can distinguish a real movement from a reconciliation adjustment.

Section 01

Define the location-scoped reconciliation unit

Set the unit of work as one product variant at one Shopify location in one inventory state. Record store, location ID and name, variant ID, SKU, barcode where used, state, count cutoff, property time zone, source system, and owner. Shopify states that inventory assigned to multiple locations is tracked separately and cannot be shared or pooled between locations. A correct storewide total can therefore hide one shortage and one overstatement. Reconcile the location rows before rolling them up.

Define which locations are active for the count, including stores, warehouses, dropship or fulfillment apps, and non-fulfilling locations that still hold stock. Confirm product assignment and whether the location can fulfill online orders. Shopify explains that a product can be stocked at multiple locations and that order routing or shipping profiles determine fulfillment behavior. The reconciliation must not treat location priority as inventory ownership or move units simply because another location is expected to fulfill the next order.

Section 02

Freeze a baseline without stopping evidence

Choose a practical cutoff and reduce avoidable movement during the physical count. Export or record the Shopify quantities by location and state, open transfers, unfulfilled orders, active returns, app sync status, and the last successful integration run. Hash or timestamp the original exports and keep them read-only. If operations cannot pause, use a rolling count with exact start and finish times for each zone and capture movements that occurred inside that interval. A snapshot without a movement window cannot explain later differences.

Build the count sheet from stable variant and location identifiers, not product titles. Require quantity, counter, time, storage area, recount status, and exception note. Do not copy customer details into the reconciliation file. For bins shared by variants, barcodes that map ambiguously, or products assigned to the wrong location, stop and resolve identity before posting quantity. A precise count applied to the wrong variant or location creates a clean-looking but false ledger.

Section 03

Trace each difference through adjustment evidence

Compare the physical count with the matching location-state baseline, then create one exception row for every difference. Shopify's custom inventory adjustment reporting supports location name with adjustment change and count metrics and can group by SKU, inventory state, change reason, staff member, app, and reference information where available. Query the interval from the baseline cutoff through the recount and preserve the exact report or ShopifyQL used. Do not rely on a dashboard total detached from its filters.

Classify movements from orders, fulfillments, transfers, receipts, returns, manual adjustments, apps, and count corrections separately. Check committed, available, incoming, unavailable, and on-hand concepts according to the store's current configuration. A transfer can reduce origin availability and later increase destination inventory, while an order can move units between states without changing the physical count. If the source record or timing cannot be joined, label the difference unresolved rather than assigning it to shrinkage, theft, or an employee.

Section 04

Correct the smallest supported scope

Approve corrections at the SKU-location-state level with the observed count, system count, difference, classification, source evidence, reason code, operator, reviewer, and reference document. Prefer the supported Shopify adjustment path or approved integration that preserves a traceable reason. Never set every location from a storewide spreadsheet just to make the total agree. Confirm that no app will immediately overwrite the correction and that an open transfer, fulfillment, or return is not about to post the missing movement.

After the adjustment, rerun the same location-scoped report, verify the new quantity, and recount a risk-based sample. Inspect downstream availability, order routing, low-stock alerts, transfers, and fulfillment requests for unintended changes. A quantity correction can make a product sellable or unavailable, so the acceptance check must include storefront behavior where safe. Keep rollback instructions, but do not reverse a correct physical count merely because an upstream app later sends a stale value; fix the authoritative-source conflict first.

Section 05

Operate a recurring reconciliation cadence

Set frequency by product movement, value, error history, and operational risk rather than applying one cadence to every SKU. Rotate samples across locations and include inactive, app-managed, return, and transfer states. Track count completion, unresolved exceptions, repeat differences, adjustments by reason, app-generated changes, and time to disposition. These measures describe control performance. They do not establish inventory loss, forecast demand, or prove a location is performing poorly without additional evidence.

Close each cycle with a signed baseline, physical-count record, adjustment report, exception ledger, approved corrections, post-check, and unresolved queue. Escalate repeated app overwrites, missing reference documents, identity conflicts, and location-assignment errors to their owners. Preserve deleted or deactivated location considerations because Shopify's historical reporting treatment can differ when locations or variants are removed. A durable reconciliation lets the next operator reconstruct every material quantity without depending on a blended store total or undocumented manual edit. Reopen exceptions when later evidence changes their disposition.