Report decision table
Surface-specific report contract
This page is a routing reference across multiple surfaces, not one calculated metric. It has no shared formula or unit. Each surface owns its row grain, quantity unit, included or excluded states, timestamp meaning, and time-zone display; capture those details from the selected surface instead of combining values as if the filters or clock were identical.Fictional worked comparison
Use this fictional capture to compare evidence without treating the surfaces as one history:
This example does not claim a live provider read, universal history, identical filters, automatic repair, or mutation authority.
How to read a result safely
Observation and repair are different
Opening a report exposes evidence but does not itself persist a snapshot. Preserve a copy by exporting where the surface offers it or by recording the filters, scope, source, coverage, timestamps, and page behavior. A stored run exists only where that surface implements report history. A delist, retry, cost-layer heal, inventory adjustment, or Shopify publication is a separate operation with its own permission and safety checks. A zero-stock or failure row can guide the next check; it does not authorize that operation. Sync Health makes this distinction especially important: a scan can be requested with optional cleanup, while individual delist and cleanup actions are separate write paths. Treat the report row and the action result as two records.Provider truth and AIM truth are different
AIM’s Inventory and Inventory Audit Trail answer questions about AIM’s quantity, unit identity, and recorded events. Sync Health and Shopify Status Report answer questions about provider observations in their selected scope. Compare the same product, variant, location, listing or publication identity, and observation time before deciding that one side is wrong. The channel surfaces are intentionally separate. Sync Health’s listing scan does not establish Shopify status, and the Shopify Status Report does not establish StockX, GOAT, or eBay health. A cleanup action that fans out to more than one listing is still not proof that each provider was scanned successfully.Current state and historical evidence are different
Inventory is a current AIM projection. Inventory Counts preserve a count-window observation and its original variance. Inventory Audit Trail preserves AIM event context. Sync Health stores report runs and maintains replaceable current findings. Sales and Fulfillments expose current rows plus whatever persisted or derived history is available. Shopify status reports preserve stored provider observations with report and checked times. Do not use a current row to rewrite history, or use an old report as proof of the current state. Keep the report source, coverage, filters, and timestamp alongside any escalation.Manual scan and automatic cleanup are different
A manual scan is a requested check. A stored result may also come from a monitor, and an enabled zero-stock cleanup can perform a delist operation. The cleanup setting, trigger, status, and result must remain visible in the evidence. A clean manual scan does not mean an automatic cleanup ran, and a cleanup result does not mean every channel was scanned.Scope, freshness, and exports
Every surface has its own scope and timing. Some results are current reads; some are queued scans; some are stored provider observations; some are count-window or event-history records. There is no single real-time freshness promise for all reports. Use the timestamp and coverage shown by the selected surface rather than assuming that a page or export updates on a common schedule. Where a surface provides an export, check the active filters, the selected business or location, the report source, and whether the result is paginated. An export may omit active UI filters or cover only the fetched page, so verify the exported scope and page behavior. Exports are surface-specific copies, not universal archives. AIM does not document one retention period for every report, audit trail, count, failure, or Shopify evidence record; keep the export and report time when the evidence may be needed later.When to stop and escalate
Stop the investigation and preserve the evidence when:- a scan is partial, failed, or has no current result;
- a finding is older than the question, or its source and coverage are unclear;
- the product, variant, unit, location, listing, order, or Shopify identity does not match;
- an audit level is inferred, a warning is present, or the count and current quantity disagree without a clear intervening event;
- the next button is a retry, delist, adjustment, heal, publication, or sync operation rather than a report view;
- the required report or repair permission is missing.
Related
- How the inventory numbers fit together — read Available, Reserved, and Ready to list before comparing a number.
- What syncs and who wins — keep AIM authority and provider observations separate by channel.
- Product, inventory, and listing — trace product and listing identity before investigating drift.
- Fulfillment lifecycle — interpret custody stages before treating a queue row as history.
- Process a sale — preserve order, sale, line, and inventory evidence together.
- Pick, pack, and ship — follow the supported custody workflow after the evidence is reconciled.