Microsoft Dynamics NAV and ShipBob integration
Microsoft Dynamics NAV runs your finance and inventory. ShipBob handles order fulfillment and warehouse operations. Connecting them keeps your orders, shipments, and inventory in sync across both systems. Sales orders created in NAV move automatically to ShipBob for fulfillment, and shipment tracking and delivery confirmations flow back into NAV so your customers and your finance team always see the true order status. ml-connector bridges the very different APIs and keeps both systems current on a schedule you control.
What moves between them
Sales orders and inventory flow from Microsoft Dynamics NAV to ShipBob for fulfillment. After ShipBob processes and ships an order, shipment tracking details, carrier information, and delivery confirmation flow back into NAV. Inventory levels are synced bidirectionally so NAV reflects ShipBob warehouse stock, and returns created in ShipBob update NAV inventory and create return orders for credit processing. The sync runs on a schedule you define, or in real-time when webhooks are enabled on both sides.
How ml-connector handles it
ml-connector stores OAuth2 credentials for both systems and handles token refresh on each call. For Microsoft Dynamics NAV, it uses the tenant-specific OData endpoint you provide and refreshes NAV webhook subscriptions before the 3-day expiry window closes. On the ShipBob side, it presents the shipbob_channel_id header on every write operation so fulfillment actions are attributed to your channel, and it verifies incoming ShipBob webhook signatures using HMAC-SHA256. Sales orders are mapped from NAV's sales order schema to ShipBob's order format, and shipment tracking is mapped back to NAV shipment records. Inventory synchronization accounts for ShipBob's unit-of-measure conventions (weights in ounces, dimensions in inches). Every order and shipment carries a full audit trail and can be replayed if a downstream operation fails. ml-connector retries failed calls with exponential backoff and alerts if the channel_id is misconfigured or if OAuth token refresh fails.
A real-world example
A wholesale distributor operates Microsoft Dynamics NAV for order management and inventory, and uses ShipBob's fulfillment centers to pick, pack, and ship orders to customers. Before the integration, the operations team exported sales orders from NAV each morning, manually entered them into ShipBob's web portal, and then re-entered shipment tracking manually back into NAV at the end of the day, creating delays and data-entry errors. With NAV and ShipBob connected, sales orders flow automatically to ShipBob the moment they are confirmed in NAV, fulfillment begins immediately, and when ShipBob marks orders as shipped, tracking numbers and carrier details appear in NAV automatically so the sales team can email customers without re-keying. Inventory balances in NAV now reflect real warehouse stock at ShipBob, so the finance team never oversells.
What you can do
- Sync sales orders from Microsoft Dynamics NAV to ShipBob with automatic order creation and fulfillment assignment to the nearest warehouse.
- Pull shipment tracking, carrier details, and delivery confirmations from ShipBob back into NAV to keep customers and the finance team informed.
- Synchronize inventory levels bidirectionally so NAV reflects current warehouse stock at ShipBob fulfillment centers.
- Handle ShipBob returns and credit memos so return inventory updates in NAV and return orders are created for accounting.
- Authenticate via OAuth2 to both systems, renew NAV webhook subscriptions before expiry, verify ShipBob webhook signatures, and maintain a full audit trail on every order and shipment.
Questions
- How do sales orders flow from Microsoft Dynamics NAV to ShipBob?
- ml-connector listens for new or updated sales orders in NAV via webhooks or polling, maps them to ShipBob's order format, and creates orders in ShipBob with the correct line items, quantities, and destination address. ShipBob immediately begins picking and packing based on its warehouse rules and nearest-location logic.
- What happens when ShipBob marks an order as shipped?
- ShipBob's webhook notifies ml-connector of the shipment with tracking number and carrier. ml-connector creates a shipment record in NAV, updates the sales order status to shipped, and populates the tracking details so customers and the NAV sales team see delivery progress in real time.
- Does inventory need to be manually maintained in both systems?
- No. ml-connector synchronizes inventory bidirectionally, so when ShipBob fulfills an order and decremements warehouse stock, NAV inventory is automatically updated, and when you receive stock into a ShipBob fulfillment center, NAV is notified of the increase. The two systems stay in agreement without manual re-entry.
Related integrations
More Microsoft Dynamics NAV integrations
Other systems that connect to ShipBob
Connect Microsoft Dynamics NAV and ShipBob
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started