Skip to main content

Sync and inventory

Symptoms​

Orders on Shopify do not appear. Stock changed in a warehouse and the channel quantity did not. A channel that used to sync is quiet.

Likely causes​

  • Scheduler process is down.
  • Tenant isActive or subscription.isActive is false. The scheduler excludes those tenants. Whether HTTP writes are also blocked is unknown.
  • Channel status is INACTIVE (a person turned it off) or SUSPENDED (circuit breaker). Automated code must not flip INACTIVE back to ACTIVE.
  • Channel type has no registered handler (CUSTOM, or a provider missing order and catalog classes). The scheduler warns and continues.
  • Order interval is tenant-configured. The 5 minute figure is a comment, not the constant you should quote as universal.
  • allocationMode is UNMANAGED. The schema comment calls that the inventory off switch.
  • Outbox stock.sync.requested is DEAD or the worker is down, so the publish buffer never runs.
  • Amazon feed was submitted and ChannelInventoryState waits for channel-feed-poll.
  • The flush job recorded per-item success: false and still completed.

How to investigate​

  • SyncJobLog for the channel.
  • OutboxEvent for stock.sync.requested.
  • Bull Board queues sync_queue and inventory_publish_queue if they are registered. Inventory is on the board.
  • Channel status and allocationMode.
  • ChannelInventoryFeedSubmission for Amazon-style connectors.

Resolution​

Start the scheduler and worker. For suspension, the code stops syncing. The unsuspend procedure is unknown. For UNMANAGED, change the allocation mode if publishing is intended. That is a data change, not a worker restart.

Do not “fix” a suspended channel by writing INACTIVE.