Skip to content

Docs/Help

Troubleshooting

Use this page when a sync run fails or Shopify data does not match MYOB.

InSyncer connects to Exo through the MYOB Exo API at https://exo.api.myob.com, not to your SQL Server. So a connection failure is a credential or API-access problem, not a firewall or port problem.

Check that the Exo API username, password, and token are current, and that the API user still has access. Re-running the connection test in the app tells you whether the app is currently authorised to talk to Exo.

The API user is missing a role, or the endpoint path is wrong. Sign in as that user in Acumatica and open the same generic inquiry or endpoint InSyncer calls.

Work through these in order.

  1. Is stock sync on? inventory_sync_enabled must be set.
  2. Is the SKU matching? The Shopify variant SKU must equal the Exo stock code or Acumatica inventory ID, including case and leading zeros. In Exo, matching uses the first 23 characters — that is Exo’s stock code length, and SKUs that only differ after character 23 will collide.
  3. Is the location mapped? A Shopify location with no Exo warehouse mapped to it is skipped entirely.
  4. Is the Exo warehouse excluded? Exo warehouses carry excludefromsales and excludefromfreestock flags. An excluded warehouse will not contribute the numbers you expect even when it is mapped.

Stock is right in Exo but wrong in Shopify

Section titled “Stock is right in Exo but wrong in Shopify”

Check inventory_sync_logic. Exo’s free figure includes stock on inbound purchase orders, so syncing it shows availability you cannot ship today. physical-committed syncs physical stock less committed stock. See Stock Sync.

Check the Shopify order’s tags for MyobOrderNbr. No tag means no Exo sales order was created. Then check the order date against orders_sync_start_date — orders before that date are ignored by design. See Order Push.

Exo allocates against stock on hand during validation. If your storefront sells against Exo’s free figure, which includes incoming stock, lines the customer bought as available arrive backordered. Turn on salesorder.lines.clear_backorder_when_free_stock.

Orders match to an Exo debtor by email by default. On B2B stores where several buyers share an account, switch to use_company_for_customer_linking.

  1. Open the latest run log and find the first error.
  2. If you see HTTP 429, the Shopify Admin API is rate-limiting — wait one interval; InSyncer retries automatically.
  3. If Exo is slow or timing out on a large catalogue, lower exo_pagesize. The Exo API caps a page at 100 records.

Collect the Shopify order number or SKU, the MYOB product (Exo, Acumatica, or AccountRight), and the first error line from the log before you contact support.