Your stock count drifts the same way your SOPs do. The difference is this one oversells products you don't have.
A customer orders the last unit of your bestseller. Your storefront said it was in stock. Your warehouse says that unit shipped yesterday. Now you're sending an apology and a refund, and that customer is gone. The oversell is the symptom. The disease is that your numbers stopped agreeing.
Inventory drift is the same problem as SOP drift, moved into your stock count. Your documentation drifts from how the team actually works. Your inventory drifts from what's actually on the shelf. Both lie quietly, and both cost you at the worst moment. The difference is that inventory drift lies to your storefront in real time, and your customers find out before you do.
Reconciliation is the discipline that keeps the numbers honest. This is the SOP we use with DTC brands running Shopify and a 3PL: the three numbers that have to agree, why they drift apart, the source of truth that ends the argument, the sync cadence that catches drift early, and the variance workflow that finds the cause before it compounds.
Reconciliation sounds like one number matching another. It's actually three, and most oversells come from treating them as one.
When these three agree, you can promise stock honestly. When they drift apart, you either oversell, because available-to-sell reads higher than reality, or you sit on dead capital and stock out blind, because it reads lower. Reconciliation is the routine of pulling all three back into agreement.
Reconciliation isn't matching one number to another. It's keeping three in agreement: what's on the shelf, what's promised to orders, and what your storefront will sell. Oversells happen the moment those three disagree.
The step-by-step procedure for matching on-hand, available-to-sell, and committed stock.
Drift isn't one big failure. It's a dozen small leaks, and naming them is what lets you plug them. Five cause most of it:
Bundles and kits deserve their own warning. A bundle isn't a unit on a shelf; it's an assembly of components whose stock has to decrement across several SKUs at once. Get the component mapping wrong and a single bundle sale drifts three counts instead of one.
How to keep component stock accurate when you sell assemblies and kits.
The first decision in any reconciliation SOP is the one most teams skip: which system is right when two of them disagree. Without a designated source of truth, every discrepancy becomes a debate, and the loudest system wins instead of the correct one.
For most DTC brands running a 3PL, the warehouse's WMS owns physical on-hand, because it's the system closest to the actual shelf. Shopify then listens to the WMS for on-hand and owns available-to-sell for the storefront. Everything else, marketplaces, your planning spreadsheet, retail POS, reads from that chain instead of writing its own counts.
The failure mode here is two apps both pushing inventory into Shopify. When a 3PL connector and a legacy inventory app both think they own the count, they overwrite each other on a loop and your stock flickers. Audit your Shopify apps and make sure exactly one writes inventory. The rest read.
Configure your 3PL's WMS as the system of record for physical on-hand.
Reconciliation isn't a quarterly project. It's a layered cadence, with faster loops catching small drift and slower loops catching what the fast ones miss. Four layers cover it:
Cycle counting is where the discipline pays off, and you don't count everything every week. Count by value. Your A-items, the roughly 20 percent of SKUs that drive about 80 percent of sales, get counted most often, monthly or more. B and C items get counted less. The fast movers carry your revenue and your oversell risk, so they earn the attention.
A reconciliation that only corrects numbers without finding why they drifted is a treadmill. You'll fix the same SKU next week. Every variance above a threshold gets investigated, not just adjusted.
Shopify's inventory adjustment history is the first place to look. It shows what changed a SKU's count, when, and whether a person, an order, an app, an API call, a transfer, or an import caused it. That log usually names the leak: a returns app that double-counts, a manual edit nobody mentioned, a sync that fired twice.
When a count correction reveals a real stockout, this is how you tell customers without losing them.
Reconciliation without an owner is a report nobody reads. Three roles, even if one person wears all three at a small brand:
The handoff that breaks most often is between the warehouse and the analyst. The 3PL knows a count was off; the brand never hears why. Make that report a standing deliverable, not a question someone has to remember to ask.
Set inventory-accuracy reporting as an SLA when you onboard the 3PL, not after the first oversell.
You can't manage drift you don't measure. Inventory accuracy is the share of SKUs where the system count matches the physical count within tolerance. Most operations target 97 percent or better, and omnichannel brands need it a point or two higher because the same stock is promised across several storefronts at once.
Hold your A-items to a tighter standard, 99 percent or better, because that's where an oversell costs you a sale you were most likely to make. A C-item that's off by one rarely hurts. Your hero SKU that's off by one oversells your best-converting product during your best campaign.
Those two numbers, accuracy and oversell rate, tell you whether the cadence is working. If accuracy looks high but oversells still happen, the drift is concentrated in your fast movers, and your cycle-count frequency on A-items is too low.
A reconciliation SOP drifts the same way the inventory does. You add a sales channel, switch 3PLs, launch a bundle line, or swap the app that owns the count. Each change quietly invalidates a step: a sync that no longer fires, a source of truth that moved, a SKU mapping that's now wrong.
Review the SOP whenever you change a channel, a fulfillment partner, or an inventory app, and at least once a quarter regardless. This is ordinary documentation drift, and on a reconciliation SOP it shows up as the exact oversell the SOP was written to prevent.
Why every operational doc, including this one, degrades within 90 days unless you catch it.
Don't build all four cadence layers at once. Start with the one that exposes the most drift: run a full snapshot reconcile between your 3PL and Shopify, and sort the variances by size. The biggest discrepancies point straight at your worst leak, usually one app, one channel, or one SKU class.
Then designate your source of truth in writing and audit which apps write inventory to Shopify. Those two steps, the snapshot and the single writer, prevent more oversells than any amount of cycle counting on top of a broken sync.
ReccordSOP turns a process like this into a documented SOP with timestamped screenshots, and flags drift when your channels, tools, or partners change underneath it. Generate your first SOP free at reccordsop.com.
In layers. Available-to-sell should drop in real time on every order, the 3PL should push receipts and picks within minutes, a full snapshot should reconcile nightly, and a physical cycle count should run weekly on your fastest-moving SKUs. The fast layers catch small drift; the weekly count checks the system against the actual shelf.
97 percent or better as a blended target, and 99 percent or better on your A-items, the roughly 20 percent of SKUs that drive most of your sales. Track it by SKU class, because a healthy blended number can still hide a hero product that's consistently wrong.
Usually a sync gap, a return that was refunded but never restocked, or two apps both writing inventory and overwriting each other. Shopify's inventory adjustment history will tell you what changed the count and when, which is the fastest way to find the leak.
For physical on-hand, the 3PL's WMS, because it's closest to the actual shelf. Shopify listens to it for on-hand and owns available-to-sell for the storefront. The rule that matters most: exactly one system writes the count, and everything else reads from it.
On-hand is the units physically in the warehouse. Committed is the units already promised to paid, unshipped orders. Available-to-sell is on-hand minus committed, the number your storefront uses to decide what a customer can buy. Oversells happen when available-to-sell is wrong.
I built ReccordSOP after watching too many DTC ops teams lose months to undocumented workflows. These SOPs are battle-tested with Shopify operators running $1M to $50M brands.
Last reviewed June 14, 2026
Most onboarding guides are written by 3PLs for their own benefit. This is the merchant's playbook, and the scorecard that holds any partner accountable.
A return policy is a promise. A returns SOP is the machine that keeps it the same way every time.
Most SOPs are wrong within 90 days of publishing. Here's how to detect it before it costs you a customer.
We use essential cookies for sign-in and a small amount of analytics to improve the product. Privacy policy.