Why Do My INVENTORY_QUANTITY Records Not Match the Shopify UI?
Question
Why do the INVENTORY_QUANTITY table records in my destination differ from the inventory levels in Shopify, even after a historical sync?
Why do my location counts differ, and why doesn't my inventory update immediately after product or inventory changes in Shopify?
Environment
- Connector: Shopify
- Table:
INVENTORY_QUANTITYand related inventory and location tables
Answer
Fivetran uses the Shopify GraphQL API to sync inventory data. We fetch data through the following object hierarchy:
PRODUCTPRODUCT_VARIANTINVENTORY_LEVELINVENTORY_ITEMINVENTORY_QUANTITY
Syncs are incremental and often depend on the product object's updated_at timestamp. If Shopify doesn't mark the product, variant, or inventory item as updated, downstream inventory and location changes may not be reflected until the next eligible sync.
Differences between the Shopify UI and Fivetran data usually occur when recent UI changes have not yet propagated to the API, or when related objects, such as the parent product or variant, were not updated at the same time.
Triggering historical syncs on a connection or a table may cause extended sync windows and still may not resolve timing issues if the Shopify API change events are delayed at the source.
Best practices
- Check the
updated_atvalue for the parent product. Inventory and location data updates only after Shopify marks the parent object as updated. Cross-reference this value with your change log in Shopify Admin. - If mismatches self-resolve after 24 hours or later syncs, the cause is often Shopify eventual consistency. Wait for standard sync intervals before contacting our support team.
- Avoid pausing or stopping a historical sync, because doing so can result in incomplete data.