Hold the bad inventory update before it changes a sellable variant. Save the last good batch, identify the affected supplier item and store location, then confirm the stock meaning. Repair the specific rows and test both a valid update and a rejected one before reopening sales.
Identify which feed contract broke
Inventory feeds fail in several different ways. A file can arrive late, omit rows, repeat an old batch, change an item ID, report shared warehouse stock as if it were reserved for you, or send a quantity in a field your connector reads incorrectly. Each has a different repair. The broader inventory-management guide explains the stock system; this article is the response when today’s feed is not trustworthy.
01
Decide whether the feed is usable at all
Quarantine the unexplained batch
Start with a health check before applying an update. Record the feed’s source, batch ID or timestamp, row count, distinct supplier item count, expected locations, currency if price is included, and any rejected rows. Compare them with the last known good batch. A drop from 12,000 expected item rows to 120 is more likely an incomplete export than a sudden collapse in supplier assortment. That does not prove the file is wrong, but it is enough to hold an automated overwrite until someone explains it.
Ask what the three missing rows mean
For an illustrative feed, suppose yesterday’s batch had 500 active variants and today’s has 497. Three removals could be deliberate. They could also be a truncated page or parser error. Save the raw batch and check the missing IDs with the supplier before deleting or setting those store variants to zero. A good importer needs an explicit rule for a missing row: unknown, discontinued and zero available are not the same fact.
| Feed signal | Likely question | Safe first move |
|---|---|---|
| No new file at expected time | Is the old quantity still safe to sell? | Apply the SKU’s stale-data policy; pause fast-moving items if exposure is unknown |
| Sharp row-count drop | Was the export or import incomplete? | Quarantine the batch; compare omitted IDs with the supplier |
| Duplicate supplier ID | Are two variants fighting for one stock value? | Reject the affected rows and review the mapping |
| Negative, blank or implausibly large quantity | Does the field have a new meaning or parsing error? | Do not convert it silently to zero or a sellable number |
| Warehouse or item ID changed | Did stock move, or was a product replaced? | Confirm which physical goods and route the new ID represents |
Keep the last successful batch identifiable
This does not require a giant software project. Even a small store can save each supplier file, write down the import time, and compare a set of high-risk SKUs before releasing the update. If the feed comes from an app rather than a file, ask what its last successful update time and error report mean. “Connected” is not the same as “current.”
02
Trace one variant through all four places
Trace the exact blue medium backpack
Take a concrete item: a blue medium backpack, store variant BAG-BL-M, supplier item S-4402. Yesterday the supplier feed displayed 18 available units. The store shows 16 available after a two-unit buffer. Today the feed displays 80, but the supplier has not announced a restock. Before you publish 78, ask whether the 80 is total shared warehouse stock, a duplicate item row or a fresh allocation. The safe sellable count is based on what you can actually access, after confirmed commitments and buffers—not on whichever number is largest.

Check the blue medium backpack in four records before publishing its quantity: the supplier row, approved mapping, store location and open paid units. Read them in this order:

- Supplier source: the raw row for
S-4402, its timestamp, stock meaning and warehouse. - Mapping: the approved link from
S-4402toBAG-BL-M, including color, size and pack version. - Store: the current location and Available quantity shown for that variant.
- Open orders: units already paid for but not yet acknowledged or deducted upstream.
Compare the actual stock definitions
Shopify distinguishes On hand, Available, Committed, Unavailable and Incoming at locations that track inventory. A supplier’s external feed might not use these definitions. If its “stock” includes units other merchants can buy, do not relabel it as your store’s reserved Available stock. The SKU-mapping guide deals with identity errors; an accurate quantity for a black large backpack is still an inaccurate blue medium listing.
A replayable incident record
Keep the unresolved stock meaning visible
For this hypothetical backpack, record batch 10:00 = 80, batch 09:00 = 18, supplier definition pending, store currently 16 and three paid units not yet acknowledged upstream. Hold new exposure until the quantity meaning is resolved.
Suppose the supplier confirms 12 accessible allocated units. If those 12 still include the three paid units, only nine remain for new buyers before the separate buffer. If 12 is already net of those paid units, do not subtract three again. Save the exact definition and confirm the allocation; the larger shared pool of 80 is not your new-sale limit.
Close against all four records
The incident closes only when the supplier meaning, store location, sellable quantity and accepted order commitments agree. A screenshot of the feed alone is not closure evidence.
Give the operator an actual comparison line: supplier_item_id | variant_id | supplier_warehouse | feed_time | raw_quantity | quantity_meaning | paid_unaccepted | approved_store_quantity. For S-4402, the unresolved quantity_meaning cell is the reason the row stays on hold. A second row for a different color should not inherit that hold unless the two rows share a stock pool. This prevents the blunt response of disabling a whole category because one mapping broke.
Preserve raw IDs and headers
If the feed is a CSV, inspect the raw header and the affected row before opening it in a spreadsheet that may strip leading zeros from IDs. Check whether a blank cell means no update, an unknown value or literal zero under the supplier’s format. If the feed is an API, save the response time, request identifier and the exact payload for the failing item. Neither method excuses guessing what the supplier meant. Ask for the data contract or a written confirmation, then encode that meaning in the import rule.
03
Recover without overwriting good data
Avoid replaying unrelated rows
Keep the last accepted batch and the suspect batch separately. If the suspect batch merely omitted 3 of 500 rows, do not reimport all 500 after manually fixing those 3 unless you know how concurrent orders and other updates will be preserved. Shopify’s inventory CSV documentation describes an All states export with current and new on-hand fields that help guard against accidental overwrites in that workflow. Your supplier integration may have different safeguards, so test its actual behavior.
Change only the confirmed location row
Use a narrow correction: select the affected SKU/location, confirm current open commitments, enter the approved quantity through the store’s supported method, and check the storefront. If a supplier item was renamed or replaced, remap and run a controlled order before reactivating the variant. If a feed job retried after timing out, look for duplicate updates or purchase requests. An inventory correction that triggers the same order twice is a different and more expensive failure.
Keep the before-and-after incident record
The normal recovery sequence is quarantine → scope → source confirmation → narrow correction → controlled test → reopen. It is not “import until the numbers look right.” Save the before and after quantity, batch IDs, owner and time so that a later refund or stockout can be traced to the exact incident.
Patch a Shopify location without confusing Available and On hand
Use the current inventory CSV workflow only for locations you can legitimately edit. An app-managed location may require its own controls. Stop or coordinate the suspect app update first so it cannot immediately overwrite the correction.
Keep a fresh guarded row
Open Products → Inventory, select the exact variants/location → Export → All states. Retain the exported Handle, option values and case-sensitive Location. Keep On hand (current) and set only the justified On hand (new) value. SKU alone is not the complete import identity; the exported option values identify the variant.
Check the intended inventory state
The All states file updates On hand, not the read-only Available column. For a separate hypothetical location with Committed 3 and Unavailable 0, a target Available of 7 means On hand (new) 10. Entering 7 as On hand would leave only 4 Available if those other states stay unchanged. Do not translate an outside supplier feed into physical stock without the confirmed location definition.
Import → Add file → Upload file → inspect the summary → Start import. Preserve any packed-dimension fields: blank packed columns can clear dimensions. After import, reopen this variant/location and verify Available, Committed and Unavailable, not just the import success notice.
04
Decide which products to pause while you investigate
Pause according to actual exposure
Not every stale number creates equal exposure. A slow-moving product with confirmed allocated units and a one-hour delay may need monitoring. A promotional item with shared stock and an overnight feed gap may need an immediate pause. Set the stale-feed rule by SKU velocity, accessible allocation, supplier response time and customer promise. Never turn a guessed universal interval such as “sync every 15 minutes” into proof that you cannot oversell; stock can change between updates.
Suppose the supplier confirms 12 accessible allocated units that still include three paid units, and the store keeps a two-unit reserve. The hypothetical new-sale cap is 12 − 3 − 2 = 7 units. Confirm that allocation or hold agreement before publishing it. The inventory-forecasting guide covers future demand; this incident check establishes what can be defended now.
The same release cap can come from different feed rules
For BAG-BL-M, three paid units and a two-unit reserve must appear once in the calculation. Use the supplier’s actual written deduction rule.
A gross allocated feed
If 12 accessible allocated units still include the three paid units, the new-sale cap is 12 − 3 − 2 = 7. If the matching Shopify location legitimately records those units as Committed 3 and Unavailable 2, On hand 12 also gives Available 7; the states already perform those deductions.
A net allocated feed
If the supplier feed is 9 after deducting those same three paid units, the new-sale cap is 9 − 2 = 7. Subtracting the three again gives 4 incorrectly. Translate the confirmed net allocation through your connector’s documented state mapping, not by pasting 9 into an arbitrary field.
These are hypothetical matching records, not proof the supplier reserved real units. If the deduction rule or location mapping is unknown, keep the row held. Confirm accepted-order quantities before publishing either number.
Reconcile buyers affected by the bad feed
If customers bought during the bad feed, do not just correct the listing. Make an affected-order list, ask the supplier which orders it accepted, and give each customer a supported outcome. This is where feed recovery becomes customer service rather than a data task. A corrected dashboard does not fulfill a paid order that the supplier has rejected.
Do not reopen over unresolved older orders
For those paid orders, capture order ID, variant, paid quantity, supplier submission time, supplier acceptance state and the last promise shown to the customer. A customer whose backpack has already been accepted by the supplier may need no change; a paid order that only reached the store needs immediate sourcing or a clear remedy. Releasing the product again because the feed is fixed should wait until this list is reconciled. Otherwise the store can look healthy while its oldest affected customers are still waiting.
05
Prove the repair with a failure-case test
Prove that bad rows remain blocked
After a fix, replay representative rows in a nonpublic connection or controlled test: ordinary in-stock variant, zero stock, low stock below buffer, deleted item, new unmapped item, duplicate ID, changed warehouse and an intentionally incomplete batch. Verify what the store displays and whether the supplier receives any order. The important negative test is that a bad batch does not publish a sellable quantity and does not silently erase a correct one.
Measure correctness separately from freshness
Keep two measurements: feed freshness and feed correctness. An update can be fast and wrong. Track the number of rejected rows, unexplained quantity jumps, orders accepted against unavailable stock, and time from detection to store hold. Review those metrics after supplier feed changes, connector updates and promotions. If the same supplier repeatedly sends ambiguous stock, ask for a clearer data contract rather than adding more silent exceptions to your importer.
Close with a before/after test record for the exact backpack variant: suspect feed held, source definition confirmed, approved quantity computed, store quantity changed once, controlled order sent, supplier accepted the same variant and quantity, and next scheduled feed did not overwrite the correction. Also run the negative case: an incomplete batch should be rejected with an alert and the previous approved quantity preserved or the SKU paused under the documented stale-feed rule. The repair is credible only when both cases pass.
Test a stale export and an old supplier batch
Keep these tests in a controlled connection with supplier forwarding disabled. The native CSV guard and an app’s feed validation protect different events.
Stale native export
Suppose your export says On hand (current) 12 and the intended new count is 10. If actual On hand changes to 11 before import, the guarded row should fail validation. Refresh the export and recalculate. Clearing Current to force the import removes that protection.
Old or malformed supplier update
After accepting batch 10:00, replay batch 09:00, a duplicate S-4402, an omitted page and an unmapped new item. Under the data contract, expect rejection/hold with a reason and no new supplier purchase. Then send a valid fresh row and verify its mapped Available count persists through the next scheduled job.
The native guard compares On hand; it is not a universal protection against every reservation or app race. Recheck current commitments and Available after the import, and retain affected paid-order remedies until their supplier acceptance and buyer outcomes are resolved.
If AIDrop Agent would coordinate the China-side supplier or warehouse connection, send a sample feed row, the store variant, the affected order state and the route through the review form. We can help define what must be confirmed before that stock is exposed to buyers. We cannot infer a live supplier allocation from an unverified feed number.
06
Frequently asked questions
Should a missing SKU row set the product to zero?
Only if your supplier contract defines a missing row that way and your import has proved the batch is complete. Otherwise a missing row is unknown. Hold the affected listing until you can distinguish discontinuation, zero stock and an incomplete export.
Is a real-time feed enough to prevent overselling?
No. A fast but shared or mis-mapped quantity can be wrong at the moment it arrives. Check the stock meaning, variant identity, pending orders and supplier allocation as well as update speed.
What if the store shows fewer units than the supplier feed?
That can be correct if the store has a buffer, different location rules or pending commitments. Reconcile the components before increasing the store number; do not treat the largest value as the truth.
ABOUT THE AUTHOR
Neil
Neil brings more than a decade of dropshipping experience, from product selection and supplier sourcing to platform operations, fulfillment and logistics. His focus is helping store owners connect a clear product offer with a workable delivery process.
What to read next

Dropshipping Inventory Management: Keep Stock and Sales in Sync
Define supplier quantities, reconcile commitments once, and verify what automatic updates really do. Practical controls for promotions,

Dropshipping Inventory Buffer: Account for Update Delays Without Double Deduction
Set a dropshipping inventory buffer using source quantities and update delays. Avoid double deductions, shared-stock assumptions and

Dropshipping Inventory Forecasting: Know When Supplier Stock Will Run Out
A supplier’s shared stock feed is not your allocation. Forecast against accessible units and real lead time.