> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aimventory.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Inventory count looks wrong

> Separate a derived number disagreement from a physical count, workflow, location, event, unit, ownership, sale, or channel problem before anyone changes inventory.

A number that looks wrong is not enough to tell you that inventory is wrong. Start by identifying
which question the number answers: what AIM can draw from, what is Ready to list, what is committed,
what was physically counted, where a unit is assigned, which sale or event changed it, or what a
channel last received. Keep the current evidence together before choosing the owning workflow.

<Warning title="Read this before changing anything">
  This page is for investigation only. Do not click **Apply**, **Adjust**, or **Set to zero**, and
  do not release a reservation, reverse a receipt or sale, restock, move a unit, transfer ownership,
  or repair a channel while the cause is unclear. Those actions can create a second event on top of
  the first one and make the original disagreement harder to explain.
</Warning>

## Collect this first

Write down the following before refreshing away from the evidence:

1. **Business and identity:** business name or ID, product, variant, size, SKU, and barcode.
2. **Place:** location, Sublocation when shown, and the unit or serial number when the item is tracked
   individually.
3. **Numbers:** Available, Ready to list, Reserved, Damaged, Pending receiving, and the channel
   quantity shown. Record the exact labels, not just a total.
4. **Count context:** count name or ID, cycle or full count, status, scope, expected quantity,
   counted quantity, variance, ownership view, and count timestamps.
5. **Event context:** sale or order and line, purchase order or receipt, reservation, transfer,
   adjustment, scan, task, or operation ID; include the source, result, and timestamp.
6. **Before and after evidence:** screenshots or exported values with the time window, plus the
   current audit-history entries and any channel sync status or error.

Use **Compare inventory** for a read-only comparison between AIM and another system. Use **Match sale
to inventory** only when you are in the sale workflow and the physical evidence identifies the right
pair. Neither label is permission to change a quantity from this page.

## Work out which case you have

| Observed condition                                                             | What AIM checks                                                                                                                                                                                                                                                                                                                                            | Result                                                                                                                                                                                                                                              | Safe next action                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Available, Ready to list, or another derived count disagrees.**              | Compare each labeled value with **Damaged**, **Pending receiving**, quarantined stock, and the channel's own rules. Check whether the Inventory surface is showing **Ready to list** under a non-negative **Available** label. Capture every displayed quantity and label, product/size/location, last-changed time, and channel or store timestamp.       | If only derived inputs or a channel display differ, this is a derived or channel-layer disagreement, not proof that physical stock is wrong. Do not write a derived number.                                                                         | Use [How the inventory numbers fit together](/concepts/inventory-numbers) and [What syncs and who wins](/understand/what-syncs-and-who-wins) for read-only comparison. Stop and contact support if the derived inputs disagree with physical-unit or audit history, the label is ambiguous, or someone proposes a write.                                                                                                                                                                   |
| **The physical count disagrees with the expected quantity.**                   | Confirm the count type, location, scope, status, ownership mode, and count window. Review later receipts, sales, transfers, and adjustments before interpreting the variance. Capture count ID/name, expected and counted quantities, variance, status, scope, operator, timestamps, and post-count activity IDs.                                          | Complete count context and later activity can distinguish an actual variance from an active or incomplete count, an invalid baseline, or overlapping activity. A later event can explain the current number without requiring a new quantity event. | Use [Inventory Counts](/inventory/inventory-counts)' supported discrepancy-review path only after the evidence is complete; do not click **Apply**, **Adjust**, or **Set to zero** from this investigation. Stop and contact support if the count is active/incomplete, activity overlaps the window, the baseline is invalid, or the result needs an unexplained quantity change.                                                                                                         |
| **Reserved stock or Pending receiving work makes the numbers look different.** | Check whether **Reserved** was already removed from **Available**. Separately check whether the unit is received but still waiting for authentication, quality work, or **Put-away**. Capture reservation ID/state, order/customer, Available and Reserved before/after values, receiving or put-away operation ID, unit/serial, location, and timestamps. | Reserved units can still be in the building, while pending receiving or put-away can keep a received unit out of **Ready to list**. These are separate explanations; subtracting Reserved from Available again double-counts the commitment.        | Hand off to [Sales, reservations, and allocation](/understand/sales-reservations-and-allocation), [Send and receive a purchase order](/operations/send-and-receive-a-purchase-order), or [Put away and locate stock](/operations/put-away-and-locate-stock) as applicable. Do not release a reservation to make the count look right. Stop and contact support if the reservation cannot be matched to the business/order or pending work has no source event or terminal result.          |
| **The location or Sublocation does not match where the pair was found.**       | Compare the inventory item's location with the unit's assigned **Sublocation** and the observed shelf, bin, or rack. Capture location ID/name, assigned and observed Sublocation, unit/serial, count scope, scan ID, and before/after placement history.                                                                                                   | A count can preserve evidence of a mislocated unit without moving it. The inventory location, the unit placement, and the observed physical place are separate facts.                                                                               | Use [Put away and locate stock](/operations/put-away-and-locate-stock) for placement or the current transfer workflow for stock moving between locations. Do not choose **Move here** without a verified placement decision. Stop and contact support if the unit belongs to another business/location, the assigned place is missing, the unit is in transit, or the proposed move is unverified.                                                                                         |
| **A source event is missing, repeated, queued, or only partly applied.**       | Compare the original request/operation ID with the audit trail, task result, and current quantity. Capture client scan ID, task status, source event, actor, exact timestamps, and before/after values. A repeated scan or request may be an idempotent retry rather than a second physical event.                                                         | A conflicting or still-running result, or a source success without durable AIM evidence, cannot be safely classified. A second attempt could create another quantity event.                                                                         | Use [Inventory Counts](/inventory/inventory-counts) for count scans or [Send and receive a purchase order](/operations/send-and-receive-a-purchase-order) for receiving work. Retry only from that named workflow after its current result is understood. Stop and contact support when the same ID has conflicting results, the operation is running, durable evidence is missing, or another attempt could create a second event.                                                        |
| **A serialized unit is not found or a serial appears twice.**                  | Check the exact serial or unit, active status, consumed/returned state, assigned location, and count scan history. Capture serial/unit ID, barcode, unit status, sale or receipt identity, count ID, scan/application ID, scan reversal state, and timestamps.                                                                                             | A missing scan is not proof that the physical unit is missing, and a duplicate scan is not proof of duplicate stock. Conflicting lifecycle or source evidence leaves the physical outcome unresolved.                                               | Use [Inventory Counts](/inventory/inventory-counts) for count-scan review, then the owning receiving, sale, return, or inventory-unit workflow when lifecycle is the issue. Do not create a replacement unit to make totals agree. Stop and contact support when lifecycle states conflict, no trustworthy source event exists, or the physical outcome is unknown.                                                                                                                        |
| **Owned, Consignment, sale, or order attribution does not match.**             | Compare Owned and Consignment quantities with the sale/order line, selected unit, location, cost evidence, reservation when that flow creates one, and source status. Capture business, ownership, consignor when applicable, sale/order and line, product/size, unit/serial, reservation, cost, source status, and before/after inventory evidence.       | Ownership, physical custody, and sale attribution are separate questions. A flow may create a reservation, but a mixed owned/Consignment row cannot be safely resolved by an aggregate change.                                                      | Use [Marketplace Sales](/selling/marketplace-sales), [Fulfillments](/selling/fulfillments), [Cancelled Sales](/selling/cancelled-sales), or [Returns & Exchanges](/retail/retail-returns) for the source event. Do not reverse/restock, transfer ownership, or change a mixed row from this page. Stop and contact support if the line or unit is ambiguous, the sale is partial or in **Attention**, the return/cancellation has no physical outcome, or an aggregate change is proposed. |
| **A channel or store shows a stale or different quantity.**                    | Compare AIM's channel-specific quantity with store/location identity, last sync attempt, last successful sync, provider response, and current product or variant link. Capture channel, store, **Location link**, product/variant link, external item identity, AIM quantity, provider quantity, sync status/error, and all timestamps.                    | A channel display is not a replacement for an AIM physical count. A confirmed-sync disagreement is a channel/publication or mapping issue, not permission to rewrite raw Available.                                                                 | Use [What syncs and who wins](/understand/what-syncs-and-who-wins) and the channel's own sync or publication review. Do not change Available to hide a channel discrepancy. Stop and contact support if identity is unclear, provider and AIM still disagree after confirmed sync, a write would conceal the local discrepancy, or the issue crosses businesses.                                                                                                                           |

<Warning title="Available is not physical stock">
  Available is the pool AIM draws from when something sells. Reserved units can still be in the
  building, and Pending receiving or other workflow states can keep a received unit out of Ready to
  list. Never subtract Reserved from Available a second time, and never treat a positive Available
  value as proof that every channel can sell that quantity.
</Warning>

## Check the result without creating another event

This page does not change inventory, placement, ownership, sale state, reservation state, or channel
state. Your investigation is complete when you can name the layer that disagrees and the separate
workflow or support owner for the next step:

1. Re-read the same labeled quantities, count status, unit placement, source status, or channel sync
   fields you captured at the start.
2. If an authorized separate workflow was already completed, verify its operation or event result,
   before/after values, actor, and timestamp in history. A refreshed screen or a queued result alone
   is not confirmation.
3. Keep the original evidence even when a later receipt, sale, return, put-away, or sync makes the
   current number look normal. The later event may explain the earlier variance.

## When to stop

<Info title="Stop and contact support if">
  You cannot identify the business, product/size, location, unit or serial, source event, or time
  window; the before/after values conflict; the count, sale, receipt, reservation, return, or sync is
  still queued or partially applied; ownership is mixed or unclear; a physical outcome is unknown;
  or the proposed fix would change quantity, placement, ownership, sale state, reservation state, or
  channel state. Send the evidence from **Collect this first**, including IDs, labels, timestamps,
  screenshots or exports, and the exact action someone was about to take.
</Info>

## Related

* [Inventory Counts](/inventory/inventory-counts) — review a count's scope, expected quantity, scans, and status.
* [How the inventory numbers fit together](/concepts/inventory-numbers) — distinguish Available, Ready to list, Reserved, and physical stock.
* [Sales, reservations, and allocation](/understand/sales-reservations-and-allocation) — keep sale, reservation, allocation, ownership, and restoration boundaries separate.
* [Put away and locate stock](/operations/put-away-and-locate-stock) — follow the separate placement workflow when a unit is in the wrong bin.
* [What syncs and who wins](/understand/what-syncs-and-who-wins) — compare channel and store state without treating it as the AIM physical count.
