Microsoft Dynamics NAV and TaxJar integration
Microsoft Dynamics NAV manages your orders, invoices, and general ledger. TaxJar calculates sales tax rates and tracks nexus obligations across states. Connecting them ensures every transaction is taxed correctly at the point of sale, without manual lookups or re-entry, and creates a complete audit trail for tax compliance. Orders that flow through NAV automatically calculate their correct tax burden in real time and sync back with the tax rate applied.
What moves between them
Sales orders and invoices flow from Microsoft Dynamics NAV to TaxJar. When a sales order or invoice posts in NAV, ml-connector polls the OData endpoint for the new transaction, extracts the ship-to address, order total, and line item details, submits the transaction to TaxJar's tax calculation endpoint, and stores the resulting tax rate and jurisdiction breakdown in NAV's audit trail. This flow is one-directional; TaxJar does not write data back into NAV. The sync runs on a configurable schedule aligned to your order volume, typically polling NAV every 15 to 60 minutes depending on throughput.
How ml-connector handles it
ml-connector retrieves the NAV OData endpoint URL and OAuth 2.0 tenant ID per customer, using the Microsoft Entra ID credentials to obtain a fresh bearer token on each request. For on-premises NAV, it accepts Basic auth and the OData port (default 7048). It then polls the sales invoices and sales orders collections for records created or modified since the last sync. For each transaction, ml-connector extracts the customer address, order lines with product IDs and quantities, and invoice total. The transaction is posted to TaxJar's /transactions/orders endpoint with the API token as a Bearer header. TaxJar returns the calculated tax amount broken down by jurisdiction and nexus region. ml-connector stores this response in a custom field or journal in NAV for audit and compliance reporting. If a TaxJar request fails (rate limit, network error), ml-connector retries with exponential backoff up to 3 attempts. If the NAV webhook subscription expires (after 3 days), ml-connector automatically renews it. Transactions are deduplicated by order number so duplicate submissions do not create duplicate tax filings.
A real-world example
A growing e-commerce business ships from a single warehouse but sells across the country. The business uses Microsoft Dynamics NAV to manage orders and invoices, but the finance team manually looks up sales tax rates in a spreadsheet every time an order ships, then enters the rate into NAV by hand. This is slow, error-prone, and creates gaps in the audit trail. With NAV and TaxJar connected, each sales order that posts in NAV automatically calculates its correct tax rate in TaxJar, the amount is logged in NAV with a timestamp and TaxJar reference ID, and the finance team has a complete record of tax obligations by state for quarterly reporting. Month-end close includes validated tax data, and the manual lookup step is eliminated.
What you can do
- Automatically calculate sales tax rates for orders in Microsoft Dynamics NAV using TaxJar's real-time tax engine.
- Sync sales invoices and orders from NAV to TaxJar and log the tax calculation result back into NAV for compliance audit.
- Support both Business Central online (OAuth 2.0 and Entra ID) and on-premises Microsoft Dynamics NAV (Basic auth).
- Manage NAV webhook subscription renewal (3-day expiry) and fall back to polling if webhooks are unavailable.
- Deduplicate order submissions to TaxJar by order number and handle rate-limit retries with exponential backoff.
Questions
- Which direction does data move between Microsoft Dynamics NAV and TaxJar?
- Data flows one-directional from NAV to TaxJar. Sales orders and invoices in NAV are polled, submitted to TaxJar for tax calculation, and the resulting tax amount and jurisdiction breakdown is logged back into NAV for audit. TaxJar does not write data back into NAV.
- Does the integration work with both Business Central online and on-premises NAV?
- Yes. ml-connector supports Business Central online using OAuth 2.0 client credentials via Microsoft Entra ID, and on-premises NAV using Basic auth with a web service access key. You provide the appropriate URL and credentials per environment.
- How does ml-connector handle NAV webhook expiry and TaxJar rate limits?
- NAV webhooks expire every 3 days and require manual renewal; ml-connector monitors subscription age and automatically renews before expiry. TaxJar enforces API rate limits (429 response); ml-connector backs off and retries up to 3 times with exponential jitter. All failed transactions are logged and can be replayed once the issue is resolved.
Related integrations
More Microsoft Dynamics NAV integrations
Other systems that connect to TaxJar
Connect Microsoft Dynamics NAV and TaxJar
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started