Microsoft Dynamics NAV and JAGGAER integration
Microsoft Dynamics NAV runs procurement and finance for small and mid-sized businesses. JAGGAER runs Source-to-Pay for sourcing, purchasing, and invoice processing. Connecting the two keeps procurement data synchronized and eliminates re-keying invoice data from JAGGAER into NAV's accounts payable ledger. Purchase orders created in JAGGAER post directly into NAV's purchase ledger, vendor master records stay synchronized, and invoices are matched and posted to the correct cost center and GL account without manual intervention.
What moves between them
The main flow runs from JAGGAER into Microsoft Dynamics NAV. Purchase orders and vendor master records created or updated in JAGGAER are read via J1P and posted into NAV's purchase ledger and vendor tables. Invoice headers and lines from JAGGAER are matched against NAV purchase orders, posted to NAV's accounts payable module with the corresponding GL account and cost center, and a corresponding journal entry is created in the general ledger. Vendor master records flow bidirectionally so NAV and JAGGAER stay synchronized on vendor status, payment terms, and contact information. Dimensions and cost centers are mapped first, so every invoice line references a GL account and dimension that already exists in NAV. The synchronization runs on a schedule tied to your invoice receipt cycle or in near-real-time if NAV webhooks are configured for vendor and invoice entities.
How ml-connector handles it
ml-connector stores both the NAV and JAGGAER OAuth 2.0 credentials encrypted and refreshes the bearer tokens automatically when a call returns 401. For NAV, ml-connector accepts the tenant-specific URL for cloud deployments or the server-specific URL for on-premises installations and validates entity paths against that instance. For JAGGAER, ml-connector reads from the J1P API surface using the customer-specific instance URL and client credentials provisioned during onboarding. Because JAGGAER J1P is pull-only, ml-connector polls for new and updated purchase orders, invoices, and vendor records on a schedule you control, with retries and exponential backoff on transient failures. NAV accounts are read-only in the standard API, so invoice GL postings are created in NAV journals that the finance team then reviews and posts to the general ledger if needed. Vendor hierarchies are mapped so child vendors in JAGGAER link to the correct parent vendor in NAV for consolidated reporting. Every record carries a full audit trail and can be replayed if a downstream journal posting fails.
A real-world example
A mid-sized manufacturing company runs Microsoft Dynamics NAV for ERP and procurement and uses JAGGAER for Source-to-Pay and supplier management across multiple locations. Before the integration, the procurement team received purchase orders in JAGGAER, approved them, then manually entered them into NAV's purchase order module for accounting visibility. When invoices arrived, the team again re-entered them into NAV's accounts payable. Month-end close required checking NAV and JAGGAER separately to find unmatched invoices or mis-coded GL accounts. With NAV and JAGGAER connected, purchase orders and invoices from JAGGAER flow directly into NAV automatically, vendor master data stays in sync across both systems, and every transaction is tagged with its JAGGAER reference. The procurement team now works entirely in JAGGAER for sourcing and supplier communication while NAV always reflects the current state of commitments and payables.
What you can do
- Post purchase orders and invoices from JAGGAER into NAV's purchase ledger and accounts payable module, mapped to the correct GL accounts and cost centers.
- Keep vendor master records synchronized between JAGGAER and NAV so procurement and finance teams see the same supplier status and contact information.
- Map JAGGAER vendor hierarchies and cost centers to NAV dimensions so purchase transactions land on valid accounts.
- Authenticate JAGGAER with OAuth 2.0 J1P credentials and NAV with OAuth 2.0 tenant-specific or on-premises URLs, handling token refresh automatically.
- Poll JAGGAER on a schedule tied to your invoice receipt cycle, with retries and a full audit trail on every purchase order, invoice, and vendor record.
Questions
- Which direction does data move between NAV and JAGGAER?
- The main flow is from JAGGAER into NAV. Purchase orders, invoices, and vendor master records move from JAGGAER into NAV, where they are posted to the purchase and accounts payable modules. Vendor master updates flow bidirectionally so NAV and JAGGAER stay aligned on payment terms and contact information. NAV general ledger accounts are read-only in the standard API, so invoice GL postings are created in NAV journals for the finance team to review.
- How does the integration handle NAV's tenant-specific URLs and JAGGAER's gated J1P endpoints?
- ml-connector accepts the full NAV tenant-specific URL (cloud) or server-specific URL (on-premises) per customer instance and validates entity paths against that deployment. For JAGGAER, ml-connector uses the customer-specific J1P instance URL and OAuth 2.0 credentials provisioned during JAGGAER onboarding. Both systems route credentials encrypted and refresh bearer tokens automatically on 401 responses.
- How does the integration handle invoice matching and GL account mapping?
- ml-connector reads purchase orders from JAGGAER first, then matches incoming invoices against those orders by reference number. Vendor hierarchies and cost centers are mapped before any posting, so every invoice line lands on a valid NAV GL account and dimension. If a mapping is missing or an invoice does not match a PO, ml-connector flags the record for manual review and continues processing the rest of the batch.
Related integrations
More Microsoft Dynamics NAV integrations
Other systems that connect to JAGGAER
Connect Microsoft Dynamics NAV and JAGGAER
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started