ExDoc acts as the intelligent bridge between Business Central and your warehouse — every message audited, every step automated.
All messages travel through a secure, auditable message queue — outbound orders heading to the warehouse, inbound confirmations flowing back to update BC automatically.
Failed messages can be retried or manually resolved. Superseded messages are replaced by newer versions of the same document.
A sales order is released in Business Central. The Release event fires immediately — no polling, no delay.
ExDoc checks whether the order's location is 3PL-designated and whether it has already been sent to the queue.
The mapping engine selects the correct template (e.g. ILG_SO_V1.0) and transforms BC order data into the required JSON or CSV format.
The payload is written to the Message Queue with status New. A Sent to Queue flag is set on the sales order to prevent re-export.
Azure Data Factory polls the REST API endpoint, collects the message, and delivers it to your 3PL warehouse. The queue entry is updated to Processed.
A warehouse shipment is posted against a transfer order in BC. ExDoc listens to the Transfer Shipment posting event.
Only transfer orders for configured 3PL-receiving locations are exported. Multiple locations can be configured independently.
The mapping engine builds an Advanced Shipping Notice including item details, quantities, lot/batch numbers, and serial tracking.
The ASN is queued and collected by Azure Data Factory, giving the receiving warehouse advance notice of incoming stock.
Your 3PL warehouse sends a despatch confirmation via SOAP web service when a customer order ships. ExDoc receives it on the ABCMessageMgmtSOAP endpoint.
A SHA-256 hash of the inbound message is compared against previously received messages. Duplicates are silently rejected and logged.
The message is parsed and each line is stored in a staging table with status New, ready for resolution.
The resolver matches each confirmation line to the correct BC Sales Order and validates quantities against outstanding shipment lines.
A Sales Shipment (and optionally a Sales Invoice) is automatically posted in BC. Inventory is reduced and tracking numbers are recorded.
When transferred inventory arrives at the 3PL warehouse, the warehouse sends a receipt confirmation via SOAP. ExDoc receives and deduplicates it.
Message lines are parsed and staged. Each line includes item number, quantity, lot number, and expiry date.
Each line is matched to the correct BC Transfer Order. Quantity capping prevents over-receiving beyond the original transfer line.
A Transfer Receipt is automatically posted. Bin assignment uses a three-tier fallback: Despatch Bin → Item Default → Any Available.
Any processing failures trigger an immediate email alert to configured recipients with full order context and per-line error detail.
The template-driven mapping engine is what makes ExDoc provider-agnostic. Templates define exactly how BC data maps to your 3PL's format — without writing a single line of AL code.
ILG_SO_V1.0
Applied per location code — so you can have different templates for different warehouses.
Each row maps a BC field to a 3PL field name, with an optional transform function and max-length validation.
DateFormat
Converts BC dates to the format your 3PL requires, e.g. YYYYMMDD or DD/MM/YYYY.
Split
Splits a field value on a delimiter and returns a specified segment — useful for compound field codes.
Default
Returns a fixed literal value when the source field is blank — avoids empty fields in the output payload.
Uppercase
Forces a field value to upper case — common for reference fields in 3PL systems.
Templates can be exported from one BC environment and imported into another — making UAT-to-Production migration a single step.
Book a demo and we'll demonstrate the full end-to-end flow using your 3PL provider's message formats and your Business Central data.