By Janson Wang · October 12, 2026 · 22 min read
Supplier stock and Shopify sellable stock can disagree because the numbers describe different units, places, states or moments.
The wrong question at the start is which stock number to overwrite. I would first establish whether the variant, pool, state, unit and observation times are comparable.
I’m Janson, founder and CEO of ASG Dropshipping. I would start with the exact variant your customer can buy.
Quick Answer
For a Shopify inventory sync mismatch, save the affected variant, location, quantity state, unit and timestamps before changing anything.
Compare records on the same basis, then identify who supplied and wrote each value. Propose a correction through the authorized owner and observe the next relevant input.
If a link is missing, keep that part UNKNOWN and name the evidence needed to close it.
Key Takeaways
Compare a named record. A product title and a stock total leave too much room for the wrong size, pool or time.
Preserve the evidence. Save the original source value and its meaning before recording your interpretation.
Follow the actual write. A run summary needs row-level support before it explains this variant.
Separate correction from proof. A proposed fix, an observed edit and a verified next input are different milestones.
Leave a useful breakpoint. UNKNOWN needs an owner and a requested record, not an invented zero.
Contents
Shopify inventory sync: start here
Match the variant and location
Compare the same stock state
Use a record you can hand over
Shopify inventory not syncing
Assign the correction owner
Check the next supplier inventory sync
When not to expand the investigation
Close the mismatch with evidence
Common inventory sync questions
What each record needs to answer
Record Question to put beside it Evidence to request
Variant identity Which exact item does this row mean? Variant ID, source identifier and mapping reference
Stock pool Which units and place are included? Supplier allocation basis and target location
Quantity What does this count include? Original state label, unit and definition
Observation When was this value true and when was it captured? Both timestamps, timezone and original record
Change Who changed this target, using what input? Writer identity, input version and row outcome
This is a proposed manual comparison method. These records and labels are not a Shopify import format or an integration’s promised schema.
Shopify inventory sync: start here
Your storefront may be accepting an order while your supplier is asking you to choose another size.
Capture that exact disagreement. Start with the selected variant, the customer-facing observation and the supplier’s matching statement, rather than the product family.
In a historical Shopify community report , the original poster described storefront availability despite a supplier stockout and said restarting sync had not resolved it.
That is one reported problem, not proof of frequency or a verified cause.
Product handling illustration. Packaging alone does not establish variant or stock-record identity.
1. Save the symptom before changing it
Keep a dated screenshot or export with the variant visible. Preserve the supplier message or source row beside it, including the identifier and any stated stock meaning.
Record what you actually observed. Seeing a buy button, seeing a quantity in an account and receiving a supplier confirmation are different observations.
If the supplier answered about a style but the customer chose a size, your first missing record is the size-level answer. A sync restart cannot supply that missing identity.
2. Name the immediate decision
Decide what the evidence must support: accepting another order, correcting a source file or explaining an existing mismatch. Keep the question narrow enough to assign an owner.
If taking more orders could create an unresolved promise, ask the authorized store owner to choose a temporary sales control. Record its scope and review condition.
That control is a separate decision from diagnosing the feed. Do not mark the stock record reconciled merely because the storefront now looks cautious.
3. Use the relevant documentation
Shopify’s inventory setup guide separates tracking, out-of-stock behavior, locations and app-managed inventory. Use it to find the documentation relevant to the observed symptom.
The checks here are conditional. No logged-in merchant account was examined for this article, so confirm which records and controls your account actually exposes.
If you cannot access an adjustment record, ask its owner for the scoped evidence.
Avoid requesting credentials or a full customer export when a redacted inventory row will answer the question.
Start with one affected variant and one decision. Preserve the original disagreement so another person can inspect the same evidence.
Match the variant and location
Two rows can look alike while referring to different stock.
For the affected item, put the store variant identifier beside the supplier identifier and the rule connecting them.
Add the target location and the physical or allocated stock pool it represents. Leave the quantity comparison open until those links have evidence.
Matching product names or similar warehouse labels are starting clues, not completed links.
Original checking method. Compare records for the same item and basis.
Shopify’s SKU guidance recommends unique variant SKUs, keeping the same variant’s SKU across locations and matching case exactly for third-party synchronization.
A SKU is distinct from a barcode; verify which field your integration actually matches.
1. Inspect the value used for matching
Copy identifiers as text from the original records. Check the selected color and size, then examine spaces, case and leading zeros without silently changing the saved values.
Different supplier and store codes can still have a valid mapping. Ask for the connecting record; do not require identical strings if an explicit cross-reference is the intended design.
Look — renaming a code to make a spreadsheet look tidy can hide the question you needed to answer. Preserve the old value with the proposed replacement.
If the supplier reuses a code, list each candidate row. Request the attribute that distinguishes them before choosing one for the target variant.
A practical handover says which record selected the intended row and which competing rows were excluded. It should not simply say that the SKU has been checked.
2. Name the pool behind the location
Shopify’s multi-location inventory documentation treats each location’s inventory independently. Locations excluded from online fulfillment do not contribute to online quantity.
On-hand units can also remain at a location where the product is inactive.
Ask what the mapped location represents in your arrangement: stock held for your store, a supplier’s shared pool or a separate warehouse allocation. Save the answer with its source.
Do not add two supplier files until you know whether they report separate pools. A repeated view of the same units would give you an inflated starting total.
Likewise, a matching warehouse name does not establish that the feed writes the location you are inspecting. Request the target identifier from the responsible operator.
If a screenshot hides the location selector, request a new capture showing it. Do not infer the selector from the person who sent the screenshot.
3. Check the quantity unit and entitlement
Ask whether the source counts individual sellable units, packs or cartons. Write down the pack relationship before converting, and keep both the original and converted quantity.
Do not convert if the pack content varies or has not been confirmed. Mark the conversion UNKNOWN and identify who can confirm the exact product configuration.
Also ask whether the quantity is available to your store. A supplier’s total stock statement does not itself identify your allocation or resolve competing commitments.
If the document is actually a price sheet, separate its commercial quantity basis from a stock observation. The guide to comparing sourcing quotes addresses that different comparison.
Keep the original codes, the mapping evidence and the location basis together. A numerical difference remains unclassified while any of those identities is unresolved.
Compare the same stock state
You can have a correct count and still compare the wrong quantity.
Keep the source’s state label exactly as supplied. Ask what it includes before translating it into the term used by your store.
Shopify’s inventory state definitions make on hand the sum of available, committed and unavailable. Incoming is separate. An app receipt can leave units unavailable.
Illustrative quantities, not merchant or ASG data: assume these twelve units share one verified variant, location and observation time.
Illustrative state comparison
State Units
Available 7
Committed 3
Unavailable 2
On hand 12 = 7 + 3 + 2
Comparing seven with twelve here does not establish five missing units.
7 available + 3 committed + 2 unavailable. Illustrative units.
1. Ask what the supplier meant
A source column called stock needs a definition. Ask whether it represents a physical count, an allocation, a quantity offered for sale or something awaiting receipt.
Keep an unanswered definition UNKNOWN. Do not borrow a Shopify term just because it makes two column headers match.
Write your comparison rule beside the values. State the conversions or exclusions you used and the records supporting them, rather than presenting a new total alone.
If the supplier describes a future production plan, stop treating it as a current count. The supplier capacity verification guide addresses the evidence behind a future supply promise.
2. Separate purchase behavior from the count
Shopify’s out-of-stock selling guidance explains that continue-selling configuration and online-fulfilling locations affect purchase availability.
A storefront that accepts purchases therefore does not establish the supplier’s stock.
Record the customer-facing symptom separately from the value you are reconciling.
Ask an authorized operator to confirm the relevant setting if purchase behavior remains part of the question.
Do not change that setting as a way to hide a feed problem. A merchant may choose a temporary control, but the unresolved input still needs its own owner.
3. Calculate a difference only after alignment
Use a signed difference only when both quantities refer to the agreed identity, place, state, unit and comparable time. Label the direction so the sign cannot be misread.
My suggested convention is store quantity minus comparable source quantity. A positive result means the store shows more on that agreed basis; it does not identify the cause.
If time or allocation remains unresolved, write “not comparable” instead of calculating a persuasive-looking difference.
Keep the original numbers visible so the next person can finish the comparison.
Resolve the meaning of the count before proposing a new count. A state difference, a timing difference and an unexplained discrepancy need different evidence.
Use a record you can hand over
You should not have to restart the explanation when the supplier, store operator and app support join the conversation.
Keep a short case header for identity and one observation row for each relevant source. Record the quantity as received, its unit and state, its effective time and the time you captured it.
Attach the evidence reference and writer where known. Add interpretation separately so later evidence can change your conclusion without erasing the original observation.
The following is my proposed manual record, not a platform schema. Copy it into a sheet, document or issue tracker you already use.
Use references to reliable existing records rather than transcribing an entire system. Each added field should answer a question this mismatch has left open.
Case reference:
Question to resolve:
Store variant ID / literal SKU:
Supplier identifier / mapping evidence:
Target location / represented stock pool:
Quantity unit / conversion evidence:
State definition / comparison basis:
Supplier value / effective time / captured time / evidence:
Input value / input version / captured time / evidence:
Target value / captured time / evidence:
Observed writer / change time / row-level evidence:
Known intervening changes / evidence:
Proposed correction / authorized owner:
Temporary control / owner / review condition:
Next relevant input / expected effect / observation owner:
Current status / unresolved item / requested evidence / evidence owner / next check:
Closure scope / supporting records / next-input requirement and reason / reopening condition:
Proposed worksheet fields, not a Shopify or supplier system schema.
1. Separate the header from observations
The header establishes what you intend to compare. Keep it stable for this case; if you discover a different variant or pool, record that scope correction explicitly.
Observation rows are the evidence underneath that header. Do not force a row into the case if its identity is still uncertain.
Observation rows to collect when relevant
Source Quantity basis Times Reference
Supplier record Original number, unit and state definition Effective and captured Original row or scoped written confirmation
Input file or message The row intended for this target Source version and received time Input version plus row identifier
Target observation Observed location and state Captured time Export or scoped account capture
Change evidence Before, operation and after where exposed Recorded change time Writer and applicable row outcome
2. Keep UNKNOWN different from zero
Use zero when a matching record actually reports zero on a known basis. Use UNKNOWN when a value, meaning or link cannot be established.
A missing row is evidence that the row was absent from what you inspected. It is not a stockout instruction unless the integration owner confirms that rule for this input.
Similarly, an empty cell, an unreadable value and an explicit zero should remain separate in the saved record. Their intended treatment needs documentation or a controlled test.
For a field that does not apply, write “not applicable” with a reason. Do not use it to make a required but unavailable timestamp disappear.
Ask who owns the missing fact and what would settle it. “Supplier to confirm whether this quantity is allocated to our store” is a usable breakpoint.
3. Preserve revisions and reduce unnecessary data
When evidence changes, add the new observation and state what it replaces. Preserve the previous value, time and reason so the path to your current conclusion remains visible.
Keep quantities, identifiers and evidence locations intact when redacting. Remove customer names or unrelated order details if they add nothing to the inventory question.
Do not merge overlapping exports into a larger total. Label their periods and scope first, then choose the specific records needed for this case.
Let me be honest with you: the sheet is useful only if another person can follow it back to the records. A fully filled form with guessed links is weaker than a short, explicit gap.
Bring a specific mismatch to ASG
Use the variant, supplier record and unresolved link to discuss the supplier or fulfillment workflow you need. Agree who can provide each record and which work falls within scope.
Discuss the records with ASG
Shopify inventory not syncing
A completed run can leave you unsure whether this particular row reached the intended stock record.
When investigating Shopify inventory not syncing, reconstruct the sequence for that row. Treat a restart as a possible controlled action after diagnosis, not as the evidence of diagnosis.
Shopify’s inventory adjustment history guide describes date, activity and creator information for tracked products or variants, with changes and totals by state.
This documented capability does not mean the merchant’s history was inspected here.
Record each stage when evidence exists. Preserve missing events as UNKNOWN.
1. Put the times in order
Record when the supplier value was effective and when the input was captured or received. Add the target change time and your inspection time.
Retain the original timezone alongside any conversion used for comparison. If a time lacks a timezone or its meaning is unclear, keep that uncertainty visible.
A file saved today could contain an earlier stock observation. Ask whether its date belongs to the stock count, the file generation or the download you performed.
Do not silently treat those as the same event. That shortcut can make an old input look like a fresh supplier confirmation.
Then list documented changes between the observations. Consider orders, receipts or other adjustments only where the actual records show they affected this target.
2. Trace the row through the input
The Stock Sync app’s stock-update troubleshooting guide checks locations, filters, identifier components, feed format, quantity mapping and change logs.
Those checks describe that vendor’s product; they are not universal Shopify settings.
For your installed integration, ask the operator which source field selected this variant and which destination field it attempted to change. Save the applicable mapping version.
Next, request the row outcome. Was it matched, skipped, rejected or applied, and what record supports that description?
If the available log reports only the whole run, say so. A general completion message cannot resolve an unobserved row-level step in this manual investigation.
A matching final value is useful but incomplete evidence of provenance. Another writer could have produced that value; request the input reference and target change record where available.
3. Identify what the evidence narrows down
Source value is old: ask the supplier or feed owner for its effective time and a current scoped confirmation.
Input differs from the source: inspect the transformation, selection or conversion between those records.
Intended target differs from observed target: resolve mapping and location before proposing a stock edit.
Later change is visible: identify the writer and its input instead of repeatedly replacing the displayed value.
Middle record is missing: keep the suspected step open and request that record; do not name it as the proven cause.
The last known correct observation is your restart point for investigation. It is not permission to replay every input after it.
Before any replay is proposed, its owner should explain the scope and expected effect. A broad retry can alter records beyond the case you have actually examined.
Trace one row through the available times and records. Name the unexplained transition precisely enough that its owner can supply the missing evidence.
Assign the correction owner
The right question before approving a stock correction is which evidenced source, mapping or target fault the action addresses. I would review temporary purchase controls separately.
Assign a proposed correction to the person who controls the evidenced fault: the supplier value, the mapping, the target record or the purchase setting.
Record who authorizes the action and who will inspect the result. Keep an immediate sales control separate from the source correction.
Neither should be marked complete on a verbal assurance alone.
Handling illustration only. This is not a test of a Shopify stock mismatch.
Choose an owner from the proved issue
Confirmed issue Correction owner Evidence after action Action checkpoint
Wrong supplier row or definition Owner of that source record Corrected scoped source and effective time The corrected scoped source is reflected in the intended input
Wrong mapping or target Authorized integration operator Revised mapping and applicable row outcome The applicable row outcome and correct target are observed
Target count needs an approved correction Authorized store inventory operator Before, proposed action and observed result The approved target change is read back; persistence validation remains open
Purchase behavior needs a separate decision Store owner or authorized delegate Agreed setting, scope and review condition The agreed control is observed; its review condition is recorded
Cause remains unproved Case owner requesting evidence Named missing record and responsible provider The evidence request has an owner and next check; cause remains unproved
These are action checkpoints. Use the case-closure conditions to decide whether the mismatch itself is resolved.
1. Write the proposed action precisely
Shopify’s quantity adjustment guidance distinguishes setting a value from adjusting it by an amount and requires saving the change. Those operations should not be treated as interchangeable.
In your proposal, state the observed starting value, the desired result and the intended operation. Ask the authorized operator to recheck the current value before acting.
If the current value changed while you were discussing the case, revise the proposal against fresh evidence. Do not reuse a difference calculated from an earlier snapshot.
Record which evidence justified the action and its scope. This article supplies a review method, not production API commands or permission to write a merchant account.
2. Keep the worksheet out of import workflows
Shopify’s inventory CSV documentation describes variant and location fields plus current and new on-hand quantities in an all-states export.
Current-value validation can reject stale import rows. The Available export lacks that overwrite protection.
If an authorized correction uses a CSV, the operator must verify its actual format and validation behavior. The manual case record in this article is not an upload-ready file.
Retain the input version and inspect the applicable result. Preparing a file is not the same as applying it, and an attempted import is not evidence that every intended row changed.
Do not remove a validation check merely to make a stale proposal go through. Refresh the relevant observation and explain the changed basis to the approver.
3. Resolve competing authority
Ask which people or components can write this target according to the actual records. An installed-app list alone does not establish which app changed this quantity.
If supplier and store owners both propose a correction, agree which input controls the next update. Save the decision rather than letting two people repair the same symptom independently.
Also check whether a proposed conversion already includes a known deduction. Subtracting the same reservation twice would create a new discrepancy instead of explaining the old one.
Here’s why the ownership question matters: the person allowed to edit a number may not control the input that will next replace it.
Give each action an authorizer, an operator and a readback owner. Keep the source correction open while its downstream effect is unobserved.
A corrected screen is reassuring, but you still need to know what the next input will do.
Plan that observation before calling the case resolved. Ask the integration owner what event will next supply a value for this exact target.
After an authorized correction, preserve the target readback and identify the next relevant input. Compare its source version, meaning and intended target with the resulting observation.
Account for documented changes in between. If that input has not been observed, keep the case pending. A stable number without a new input does not test whether the correction will hold.
1. Define the expected result
Write the target variant, location, quantity state and unit.
Preserve the supplier’s original value and unit, then apply only the evidenced conversion into the target unit.
Name the input evidence supporting that expected target quantity.
Here’s the thing — the expected result need not be the number you just entered. A legitimate stock change may require the next input to change it again.
Ask how the agreed mapping treats that change. If the rule is unclear, resolve the rule before declaring a different result wrong.
Original checking sequence. A changed number alone does not establish failure.
2. Observe a permitted input
Use the next relevant scheduled input or an explicitly authorized scoped test. Do not create a real purchase or alter unrelated inventory merely to manufacture activity.
Save the input version, the applicable outcome and a fresh target observation. Capture any other documented changes between those records.
If the target appears to return to an earlier value, inspect who wrote it and what source it used. Resemblance to the old number is a clue, not a complete cause finding.
If the correct source produces the intended result, record that observed scope. Do not extend a successful check of one variant to all variants or suppliers.
3. Leave a dated breakpoint if nothing arrives
Ask the owner to name the expected trigger or agree on a next inspection time. There is no universal waiting interval in this method.
If the input has not occurred at that check, record “next input unobserved”, the owner and the next action. Do not call elapsed time a passed test.
If logs are unavailable, preserve what you could see and request the missing evidence. A clean-looking screen does not make the unseen write path verified.
The next input tests the correction only when you can explain what that input meant.
Where the wider problem is choosing a system to maintain those records, use the Sheets versus ERP fulfillment visibility guide . This check remains focused on one discrepancy.
Keep the next-input observation separate from the immediate correction. Record the scope you tested and the scope that remains unknown.
When not to expand the investigation
You may already have the evidence needed to resolve the error, without another worksheet.
The strongest case for skipping a full record is an already traceable fault. An authorized operator can connect the documented integration error to its input and target.
If that trail already identifies the variant, location, quantity basis, times and result, transcribing it into a second form adds work.
Use the existing records and keep the relevant references together.
A small store is not automatically simple in this sense. Judge the evidence you have, rather than the store’s size or the price of its software.
1. Expand only where the explanation breaks
If identity is settled but timing is not, collect the time evidence. If the source is clear but the destination is wrong, focus on the mapping and target.
Broaden the investigation when the observed records reveal shared pools, repeated codes, competing writers or a correction that the next input undoes. Do not audit every supplier by default.
A blanket pause can also be excessive when the affected scope is known. Let the authorized owner choose a proportionate control while the missing evidence is collected.
2. Keep urgent containment separate
If you lack access, ask the person with authority to act and preserve the breakpoint. Do not wait for a perfectly completed form before raising a concrete customer-promise risk.
Equally, do not label a temporary sales restriction as a repaired synchronization process. Document what the control protects and what still needs investigation.
My rule of thumb is to collect enough evidence for this decision, then stop. More rows earn their place when they change the explanation or the next action.
Close the mismatch with evidence
The next person should be able to tell what was resolved without joining the original chat.
For an apparent mismatch fully explained by the comparison basis, close the comparison for the recorded observations with evidence. Record that no stock correction was needed.
Mark next-input validation not applicable only when no correction or disputed input behavior remains to test, and state why.
For a source, mapping or target correction, record the action readback.
Keep persistence validation open until the relevant next input and documented intervening changes explain the resulting quantity.
If that input or a required link is unobserved, retain the owner and next check.
Scope: identify the variant, location, state, unit and observations covered.
Explanation: state what caused the apparent difference or which transition was corrected, with references.
Action: record the authorized action and its readback, or the evidence for taking no stock action.
Next input: record the observed input and resulting quantity for a correction; for a comparison-only closure, state why validation is not applicable.
Limits: list any untested variants, missing records or separate purchase-setting decisions.
Reopening condition: state which new evidence or recurrence would reopen this case.
If a required link is still missing, retain an open status with the evidence request, owner and next check. That is a usable handover, even when it is not a completed fix.
Warehouse scene only. It does not identify a Shopify location or available quantity.
A change to the mapping or source meaning later may require a new comparison. Link it to the earlier case instead of rewriting the earlier result as though the new evidence existed then.
Discuss the supplier-side record
Bring the mismatch record and the question your current workflow cannot answer. Use them to discuss the supplier or fulfillment responsibilities you want agreed with ASG.
Record access, integration work and correction authority need explicit scope.
A consultation can define proposed responsibilities; synchronization capability and stock outcomes require separate evidence.
Discuss your workflow with ASG
About the Author
Janson Wang is the founder and CEO of ASG Dropshipping. His approach here is to make the supplier’s statement, the store record and the next responsible action inspectable.
For a scoped workflow discussion, email janson@asgdropshipping.com .
Common inventory sync questions
Quick Answers About Stock Mismatches
Does equal stock prove a good sync?
No. Identical quantities can belong to different records; verify identity, scope and timing.
Can I close a case before its next input?
A comparison-only case can close when evidence fully explains the difference and no disputed input remains.
For a correction, keep persistence validation open until the next relevant input is observed.
Should every mismatch trigger a full audit?
No. Start with the affected record and expand when evidence reveals a wider issue.
Why does Shopify show stock when my supplier has none?
First check whether the supplier and store records cover the same variant, location, stock basis and time. Then trace the input and target change.
The displayed disagreement alone does not identify which step is wrong.
Should I restart inventory sync to fix the mismatch?
Preserve the relevant records first. Ask the integration owner what a restart would replay or change for this target.
Use a scoped, authorized action where justified, then inspect the applicable outcome and next input.
Does a matching SKU prove the records refer to the same stock?
No. Use the evidence joining the supplier item to the store variant, then confirm the pool, location, quantity meaning and time.
Keep competing candidate rows visible until the mapping is resolved.
Can I import this worksheet into Shopify?
No. This worksheet is an author-designed manual case record. Keep it separate from production import files, and have the authorized operator prepare any required platform file.
What should I enter when a stock value or timestamp is missing?
Mark the unresolved field UNKNOWN and name the evidence needed. Preserve an explicit zero as zero and a missing row as missing.
Do not translate either into a different meaning without a confirmed rule.
When can I mark the stock mismatch resolved?
Close a comparison-only case when evidence explains the difference and no correction or disputed input behavior remains.
For a correction, record the action readback and reconcile the relevant next input with documented intervening changes.
Keep any required missing link open with an owner and next check.
External Sources
These links support the limited source-specific statements beside the relevant checks. The worksheet, decision sequence and illustrative calculations are author-designed.
ASG Data Note
This article uses the project’s retained source checks and proposes a manual investigation method.
No merchant Shopify backend was inspected, and no production integration was tested for this manuscript.
The quantity examples are hypothetical. They do not describe a customer, an ASG stock count or a measured business result.
ASG’s role in any proposed workflow depends on the agreed work, record access and authority.
This article does not establish a specific integration capability, supplier allocation or correction guarantee.
Final Thoughts
A Shopify inventory sync discrepancy becomes actionable when its records can be compared on a stated basis.
The useful result is an explanation another person can verify, with the next action owned.
I would choose a short record with a named gap over a polished report that guesses the missing link. That choice preserves the evidence needed to resolve the next disagreement.
You can begin with one affected variant. Save its source, target and times, name the unresolved step, and agree who will observe the next relevant input.