ml-connector
Microsoft Dynamics NAVAdobe Commerce

Microsoft Dynamics NAV and Adobe Commerce integration

Microsoft Dynamics NAV manages your finance, inventory, and operational data. Adobe Commerce runs your online storefront. Connecting them keeps customer master data, pricing, and product catalogs aligned between your ERP and your storefront, and lets you post sales orders and invoices from Adobe Commerce directly into NAV's general ledger without manual re-entry. ml-connector handles the different authentication flows on each platform, manages webhook subscription renewal, and moves the data on your schedule.

How Microsoft Dynamics NAV works

Microsoft Dynamics NAV exposes customers, vendors, items, sales orders, sales invoices, purchase invoices, general ledger accounts, employees, and dimensions through OData v4 REST APIs secured with OAuth 2.0 client credentials via Microsoft Entra ID. NAV also supports webhook push notifications with a 3-day subscription lifespan that must be renewed before expiry, or data can be read by polling. On-premises deployments require the OData service to be enabled via NAV Server Administration and port 7048 to be opened. GL accounts in NAV are read-only through the API, and once a journal entry is posted, it is immutable.

How Adobe Commerce works

Adobe Commerce exposes orders, invoices, customers, and products through REST APIs with OAuth authentication (PaaS uses OAuth 1.0a integration credentials; SaaS uses OAuth 2.0). Adobe Commerce webhooks are synchronous, validated with HMAC SHA256 signatures, and are available in Adobe Commerce 2.4.4 and later. Common webhook events include sales order placement and invoice creation. Adobe Commerce does not expose GL accounts as an API resource, and payment method details and captured amounts are read-only through the Order and Invoice endpoints. Refund credit memos can be created but not updated after creation.

What moves between them

Customer and product master data flows from Microsoft Dynamics NAV into Adobe Commerce to keep product catalogs, pricing, and customer records synchronized. Sales orders and invoices flow from Adobe Commerce back into NAV, where ml-connector maps them to GL accounts and dimensions so that revenue and sales tax are automatically posted to the correct NAV GL cost centers. Data syncs via NAV webhook notifications (with 3-day renewal) and Adobe Commerce HMAC-signed webhooks, with polling available as a fallback.

How ml-connector handles it

ml-connector stores OAuth credentials for both systems encrypted and refreshes them when either platform returns a 401. On the NAV side, it renews the webhook subscription before the 3-day window expires. On the Adobe Commerce side, it validates incoming webhook signatures using the registered HMAC SHA256 secret. For order and invoice records, ml-connector maps customer, product, and dimension IDs from NAV into Adobe Commerce, and on the return path, it matches Adobe Commerce order IDs to NAV sales order lines so that GL postings land on the correct accounts and cost centers. Because NAV GL accounts are read-only and Adobe Commerce does not expose GL accounts, all GL dimension and account mapping is driven from NAV's master data. ml-connector retries failed calls with exponential backoff, maintains a full audit log of every record synced, and can replay records if a downstream GL posting fails.

A real-world example

A mid-sized retailer runs Microsoft Dynamics NAV for finance, procurement, and inventory, and uses Adobe Commerce as their primary online storefront across three brand sites. Before the integration, the e-commerce team manually entered high-value web orders into NAV each morning, then the accounting team reconciled sales tax and revenue allocations against the GL. Product prices were updated separately in both systems, leading to discrepancies between the online catalog and NAV inventory costs. With the integration in place, every Adobe Commerce order automatically flows into NAV with customer, product, and GL dimension mappings intact, revenue posts to the correct GL accounts without re-keying, and product prices sync from NAV to the storefront nightly so the systems stay in agreement.

What you can do

  • Sync customer master data and product information from Microsoft Dynamics NAV to Adobe Commerce on a schedule or via webhook notifications.
  • Map Adobe Commerce sales orders and invoices back into NAV's general ledger, allocating revenue to the correct GL accounts and cost centers.
  • Handle OAuth 2.0 token refresh for both Microsoft Dynamics NAV and Adobe Commerce, and renew NAV webhook subscriptions before they expire every 3 days.
  • Validate Adobe Commerce webhook signatures with HMAC SHA256 and respond synchronously, maintaining full traceability of every order and invoice synced.
  • Retry failed calls with exponential backoff and maintain an audit trail for each record so orders can be replayed if a downstream GL posting fails.

Questions

How does ml-connector handle the different authentication methods between Microsoft Dynamics NAV and Adobe Commerce?
Microsoft Dynamics NAV uses OAuth 2.0 client credentials via Microsoft Entra ID, which ml-connector refreshes when a call returns 401. Adobe Commerce uses either OAuth 1.0a (PaaS) or OAuth 2.0 (SaaS) depending on your deployment model. ml-connector stores both credential sets encrypted and presents them on each request, refreshing tokens when needed.
Why must NAV webhook subscriptions be renewed every 3 days?
Microsoft Dynamics NAV webhook subscriptions expire after 3 days and must be renewed before the expiry window closes, or notifications will stop. ml-connector tracks the subscription timestamp and automatically renews it before expiry, so you do not miss order or customer updates from your ERP.
How are GL accounts and cost centers mapped when orders flow from Adobe Commerce into Microsoft Dynamics NAV?
Adobe Commerce does not expose GL accounts as an API resource, so all GL account and cost center mappings are driven from NAV's master data. ml-connector uses the customer, product, and dimension IDs from NAV to determine which GL accounts revenue should post to, ensuring that every order synced from Adobe Commerce lands on the correct accounts in your ledger.

Related integrations

Connect Microsoft Dynamics NAV and Adobe Commerce

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started