Supply Lens

Find why a message type does not work

Lesson 23 of 25 7 min read

A step-by-step decision path from the Routing tab to the Modules tab to the Modules page, with a branch for config-driven types.

"Our orders aren't going to the warehouse" is a ticket you'll see often. This lesson gives you a repeatable path through the screens, layer by layer, so that you find the cause quickly and don't change things that aren't broken.

Work in layer order

Always check layer 1 (routing) before layer 2 (which work runs). A message that never reaches a service can't be fixed by changing a module.

Rendering diagram...

The steps

  1. Open the integration type, then the Routing tab.
    • If the status is Not routed, choose a service.
    • If the status is Off, read the reason and turn on that switch.
  2. Open the Modules tab.
    • Use Preview for the message type, the document type and the organisation.
    • If the result is No route matches, and the integration has no published map or profile for that organisation, set a module route.
  3. Open Administration → Routing → Modules. Look for Not found in the Integrations service on that module.

For config-driven types, only step 1 applies

For a config-driven type, do step 1, then switch to the Maps & Profiles tools: use What actually runs in the organisation's Settings → Maps & Profiles for the kind, integration type and document type. If it shows Nothing is configured for that., a map or profile needs publishing. A draft is never used.

Things to remember while you look

  • Routing changes take about 10 seconds. Module routes take effect on the next message for Integrations, and up to a minute for AS2 and Peppol. Wait before deciding a fix didn't work.
  • An Off reason may be deliberate. If it's a Routing Switches reason, someone may have stopped a service on purpose. Ask before switching it back on.
  • The screens don't refresh themselves. Select Refresh, or open the page again, before you trust what you see, especially if colleagues are working on the same type.

Worked examples

Case 1: shipments stopped for one type

Hilltop Coffee reports that shipment confirmations from Acme SFTP stopped yesterday. On the Routing tab, Parse shows Not routed. Someone cleared the service while trying to pause it. You choose Main integrations service in Handled by; within about 10 seconds it shows Live. You warn Hilltop Coffee that confirmations sent while it was Not routed were lost, and suggest they ask the partner to resend them.

Case 2: orders fail at Create for one customer

Riverside Bakery's orders fail at Create on Acme SFTP; other customers are fine. Routing shows Live. On the Modules tab, Preview for Create, Any document and Riverside Bakery shows an override module. The Modules page shows Not found in the Integrations service on it: the override names a key the code doesn't have. You tell a developer and, as a stopgap agreed with the team, delete the override so Riverside Bakery falls back to the Default.

Case 3: a config-driven 3PL receives nothing

Northgate Logistics, a config-driven type, receives no warehouse orders from Hilltop Coffee. The Routing tab shows Send as Live. You skip the Modules tab and use What actually runs for send profiles, northgate-logistics, warehouse orders: Nothing is configured for that. The team had saved the send profile as a draft but never published it. Publishing it fixes the problem.

Recap

  • Check routing first: Not routed means choose a service; Off means read the reason.
  • Then, for coded types, Preview on the Modules tab for the message type, document type and organisation.
  • No route matches with no map, profile or coded module means set a module route.
  • Finally, check the Modules page for Not found in the Integrations service.
  • For config-driven types, do the routing check, then use What actually runs.
Complete and continue

Your progress is saved in this browser. Create a free account to keep it everywhere, take quizzes and earn certificates.