Skip to content
  • There are no suggestions because the search field is empty.

CSM Issues - Why is Inventory not synchronizing?

CSM sends inventory to a channel per CSM listing: it calculates an available quantity from Business Central, compares it with what was last sent, and sends the new figure only when it changed. Every step leaves a trace on the listing, so "inventory isn't syncing" can be narrowed down quickly.

 

How the Sync Works

This applies to Amazon, Shopify, BigCommerce, WooCommerce and Magento:

  • The channel's AVAILABILITY automation (Automation Type Listing) runs on its job queue schedule.
  • For every unblocked listing on the channel it calculates availability (item listings only) using the listing's Availability Basis, Available Channel Percent, Available Min Qty Threshold and Subtract Threshold From Avail, across the Business Central locations mapped to the channel. The result is written to Available Last Qty Calc.
  • If the result differs from Available Last Qty Sent, Availability Requires Update is set.
  • It then sends every listing with Send Availability = true and Availability Requires Update = true, and updates Available Last Qty Sent.

Each calculation and send is logged in Listing Synchronization History (types Availability Calc and Availability Send External). Failures are also summarised in CSM Listing Sync Status and the Sync Failures cue on the role center.

 

Troubleshooting Steps

  • Is sending switched on?

    • Availability is sent only when both are true:
Level Field Where
Sales channel Send Availability Information CSM Sales Channels - Listing Management
Listing Send Availability (Availability FastTab) CSM Listing card
    • The listing value defaults from the channel and its CSM Inventory Location when the listing is created, so listings created before those defaults were set may still have Send Availability = false. Multi-select listings on the CSM Listings page to fix several at once.

  • Does the listing have the channel IDs?

    • External ID must be populated – CSM skips the send entirely for listings that have never been linked to a channel product.
    • External Inventory ID (Inventory Information FastTab) is the channel's inventory/variant ID the quantity is written to. It is normally filled when the listing is first sent or loaded; if blank, send Base Info (or re-run Load Products from Channel) – see CSM Listings - Sending and Retrieving Data.
  • Read the Calculation
    • On the listing's Availability FastTab compare Available Last Qty Calc with what you expect:
      • Zero although stock exists – the threshold rule fired (result below Available Min Qty Threshold sends 0), the percent is 0, or the counted locations are wrong (next step).
      • Wrong quantity – check Availability Basis (Available to Promise, On Hand Less Reservations, On Hand Less Sales Orders, Total Stock, Channel-Defined). Reservations and open sales orders reduce the first three.
      • Not changing – the calculation is not running (step 5) or it failed (step 4).
      • Choose Calculate Channel Availability to recalculate on demand.
  • Check for a Failed Calculation
    • If Availability Calc Failed is set or the listing appears in CSM Listing Sync Status with Entry Type Availability Calc, CSM will not send availability for that listing until the error is fixed (a notification says so when you try). Last Error on the Sync Status line has the cause – typically a missing Inventory Movement UOM on a case-packed listing or a blocked/missing item. Fix it, recalculate, then send.
  • Confirm which Locations are Counted
    • Sales channel > Related > Setup > Inventory Locations: the channel's Channel Inv. Location ID must exist there, and each Business Central Location Code to be counted needs Incl in Inventory Calculation = true. If no default channel location is defined, CSM falls back to the channel's single Inventory Location field. A location that is not listed is not counted – common cause of "BC has stock, channel shows 0".
    • This applies to Shopify and Magento: 
      • With Advance Availability Operation enabled, quantities are calculated and sent per location from the listing's Advanced Availability part (CSM Inventory Availability records), each with its own Send Availability flag and percent/threshold.
  • Is the Automation Running?
    • Sales channel > Related > Automation List: the AVAILABILITY automation should show a recent Last Run Timestamp; the Business Central Job Queue Entry running CSM must be Ready. If the automation runs but nothing is sent, check that Availability Requires Update is actually being set – if calc and sent quantities are equal, nothing is sent by design. Use Send to Channel > Availability on the listing to force a send.
  • Check the Send Result
    • Last External Update Result on the listing (Listing Status FastTab) holds the platform's error if the send failed.
    • Listing Synchronization History shows each send with success/failure.
    • API Message Headers has the full request/response – see CSM Administration - API Messages/Log Entries.
    • Typical send errors:
      • Expired credentials (re-run the channel's setup wizard or update the API credential), the product/variant no longer exists on the channel (External ID stale – reload or resend the listing), or the platform tracks inventory at a location CSM is not mapped to.
  • Compare with the Channel itself
    • This applies to Amazon, Shopify, BigCommerce, Magento:
      • Use Get External Inventory Supply (or enable Auto Retrieve Channel Inventory) to pull the channel's on-hand into External Inventory On Hand and compare it with Available Last Qty Sent. A mismatch after a successful send means something on the platform side (manual edits, another integration) is changing the quantity.

 

Common Issues

Symptom Likely cause
Nothing ever sent for any listing Channel Send Availability Information off, no Inventory Location mapping, or AVAILABILITY automation / job queue not running
Nothing sent for some listings Listing Send Availability off, External ID blank, or a failed calculation blocking the send
Channel shows 0, BC has stock Location not included in the calculation, threshold rule, or basis reduced by reservations/open orders
Quantity sent is lower than on hand Available Channel Percent < 100 and/or Subtract Threshold From Avail – by design
Sent once, never again Quantities unchanged, so Availability Requires Update never set; or a later calculation failed
Channel quantity keeps drifting from what CSM sent Another integration or manual edits on the platform