If you ship from more than one warehouse or store, a single order does not always leave from one place in one go. You send the two items sitting in the nearer warehouse today, and the remaining one follows later once it arrives. Split and partial fulfillment like this is not some rare accident — it is an everyday event. This article walks through how to keep your Shopify inventory sync intact when it happens.
What makes split shipments feel confusing is that stock does not move only once. The numbers inside Shopify shift in one way the moment an order is placed, and in a different way the moment the box actually leaves the warehouse. Layer a spreadsheet sync on top of that, and it stops being obvious which figure you should treat as the truth. So let us calmly work out what moves, and when.
What actually moves when an order ships in parts
The usual reason split and partial fulfillment trips people up is that inventory is not a single state. Shopify tracks the units physically on the shelf (on hand), the units set aside for orders (committed), and the units still sellable (available). If you run your operation as though those three are the same number, the explanation falls apart the instant a shipment splits. Order routing basics explains how Shopify picks the location.
Committed at order time, deducted at fulfillment time
At the moment an order is placed, not a single unit of on-hand stock disappears. What drops is the available figure, and that quantity moves into committed. Another way to put it: the goods are still sitting on the shelf, but they can no longer be sold to anyone else. If a warehouse colleague walks over to look, the product is right there.
On-hand only falls when you perform the fulfillment. The moment you print the slip, pack the box, and mark the order fulfilled in Shopify, the commitment is released and on-hand drops by that amount. In other words there are two separate moments when inventory moves — order time and shipping time — and each one means something different and touches a different figure. Being able to keep those two apart is what decides whether split shipments stay manageable.
The deduction lands on the location that shipped
The next thing to hold on to is where the on-hand drop happens. The deduction is applied to the location that physically sent the item. The two units shipped from the Tokyo warehouse come off Tokyo's on-hand; the single unit shipped from Osaka comes off Osaka's. One order on paper, two entirely separate inventory movements in two warehouses.
Miss this and you end up asking, after everything has shipped, why a single order made numbers move in two different places. Look at it the other way — an order is not one lump but a transaction that draws a little stock from several places — and the figures on screen suddenly line up sensibly. In multi-location operations, switching to that view is the first step.
The unshipped remainder stays committed where it was
So what happens to the quantity you have not shipped yet? The answer is simple: it waits, still committed, at the location it was assigned to. If you ship two of a three-item order from Tokyo, Tokyo's on-hand falls by two, while the remaining item assigned to Osaka stays committed there and remains physically on the shelf as on-hand.
That is why, mid-partial-fulfillment, the gap between on-hand and available opens wider than usual. Count the shelf and the product is there, yet Shopify shows available close to zero. This is not a fault; it is the normal shape of an order still waiting to complete. Whenever your stock count and the store screen seem to disagree, the existence of committed stock is the first thing to check.
Three ways inventory sync collides with split shipments
Now to the heart of it. Running a spreadsheet as your source of truth and writing quantities into Shopify is simple and easy to see through, but if it runs mid-split-shipment the numbers can drift. The collisions sort neatly into three patterns, so let us take them in turn. Unfulfilled quantities are handled in deducting unfulfilled orders.
Overwriting quantities while a fulfillment is in flight
The first is a sync that runs while the warehouse is right in the middle of dispatching. In the seconds or minutes between a colleague finishing the packing and marking the order fulfilled in Shopify, a write from the sheet arrives — and the quantity Shopify was about to deduct passes straight by the quantity the sheet was about to set.
The result looks like stock that never dropped despite the order being marked shipped, or stock that dropped too far. The awkward part is that nothing surfaces as an error. Both operations were individually correct; only the ordering was unlucky, which makes tracing the cause afterwards genuinely hard. That is precisely why the timing of the sync itself deserves to be designed.
Pushing numbers from a sheet that was counted hours ago
The second is syncing a sheet whose figures have gone stale. You count the shelves first thing in the morning, type the numbers in, and push them in the late afternoon. If several orders shipped in between, the morning numbers no longer describe reality — and yet the sync writes them into Shopify as though they do.
In that case, the stock Shopify correctly deducted during the day gets overwritten by the higher morning figure and effectively restored. It looks as though inventory has come back, so units that are not actually on the shelf go on sale again, and you oversell. The distance between the time you typed a number into the sheet and the time you push it carries far more risk than it appears to.
Deducting a second time for something Shopify already deducted
The third is double deduction — the easiest to cause and the hardest to notice. Having finished the dispatch, a helpful colleague also subtracts the shipped quantity by hand in the sheet. But Shopify already reduced on-hand at the moment of fulfillment. Push that hand-adjusted number, and a single shipment takes stock down twice.
In split fulfillment this can happen per warehouse, so the damage spreads easily. If the same well-meaning instinct kicks in at both Tokyo and Osaka, one order strips extra units from two locations. The sheet mirrors what is physically on the shelf; the increases and decreases that come from orders are Shopify's job. Making that division of labour explicit is by far the best prevention.
- Check whether your dispatch hours and your sync schedule overlap
- Look at how far apart the sheet entry time and the sync run time really are
- Ask whether anyone on the floor still subtracts order quantities by hand
- Sort out whether several people are updating the same product separately
Three patterns that survive split shipments
Once you can name the collisions, the fixes are not complicated. Rather than adding machinery, decide three things: what you sync, the order in which you count, and how much slack you leave. Settle those and the numbers stay calm even when orders ship in parts.
Sync on-hand only and let Shopify derive the rest
The single most effective pattern is deciding that the sheet sends on-hand and nothing else. Available and committed are figures Shopify calculates automatically from the state of your orders. You do not need to write them, and writing them causes a second subtraction on top of the commitments, pulling the numbers further from reality rather than closer.
Define each column in the sheet as how many units sit at that location, and the hesitation disappears. The sheet holds on-hand; everything derived from it is Shopify's job. With the roles that clear, it does not matter how widely a split shipment scatters commitments across warehouses — nothing about how you fill in the sheet changes. Running a connection test before the first sync, to confirm which column maps to which location, makes it steadier still. Available versus on hand draws the line between the two numbers.
Do the counting after shipping, not during
The second is moving your counting to after the dispatch. A figure counted mid-shipment is already out of date by the time you finish counting. Count once the day's outbound work has wound down, and the number that lands in the sheet is as close to reality as it will ever be.
It follows naturally that the sync schedule belongs just after the count. Count, enter, push. The shorter the window that whole sequence occupies, the less room reality has to change midway. A routine that counts in the morning and pushes at night, by contrast, carries a full day of drift baked in.
Let a small buffer absorb the race
The third is simply leaving a little slack. However carefully you operate, you cannot reduce to zero the chance that a fulfillment and a sync fire at the same instant. So for fast-moving products, and for products that span several warehouses, put a number in the sheet that is a few units below the true count.
That way, if the timing does slip, available only errs on the low side and you avoid the worst outcome of overselling. A buffer is not a trick for hiding stock; it is the margin that absorbs the time difference between people and machines. There is no need to extend it to steady sellers, so keep it targeted at the lines that need it.
Do not assume one order means one place. In multi-location operations, an order is best seen as a transaction that draws a little stock from several places at once.
An operating checklist that assumes split shipments
Finally, here are the points worth settling so nobody on the floor has to guess. Complicated rules do not survive contact with a busy day, so cover just three: when you sync, who counts, and what you keep.
Pick the timing for the sync
Schedule the automatic sync for the quietest stretch of warehouse inbound and outbound activity. For most shops that means the evening after the day's dispatch has closed, or early morning before the shift starts. Simply keeping the sync away from the dispatch peak removes the majority of overwrite accidents.
If your warehouses keep different hours, work from the site that stays active latest — that is the safe reference point. And if something genuinely requires a daytime sync, one option is to narrow it to the products that barely move.
Decide who is responsible for counting
A setup where several people can each update the same product's quantity is a source of drift in itself. Decide, per location, who is allowed to update the sheet. The Tokyo column belongs to the Tokyo team, the Osaka column to the Osaka team — splitting write responsibility that way is the easiest arrangement to explain.
Share the companion rule too: never subtract order quantities by hand. Enter the count you took, exactly as counted, and do no arithmetic beyond that. Once that single sentence has landed with the team, double deductions almost stop happening.
What to keep in the logs
When a discrepancy does turn up, whether you can trace it comes down to what you wrote down. Who, when, which location, which product, and what number they set it to. With those five in hand, isolating the cause gets dramatically faster. Ideally you can line the sheet's edit history up against the times the sync ran.
- 01Record the date and time of each sync run, along with the quantities it sent
- 02Note the time of the shelf count and the person who did it beside the figures
- 03For orders that shipped in parts, keep a note of which warehouse sent what and when
- 04When numbers did not match, jot down the cause and the fix, even in one line
Split and partial fulfillment are unavoidable mechanics for any shop with more than one site. But hold on to three things — sync on-hand only, count after shipping is done, and let a small buffer absorb the race — and your inventory sync stays calm no matter how many shipments an order breaks into. Try building that view of an order as a collection of places into your everyday operating rules.