ml-connector
Microsoft Dynamics NAVJira

Microsoft Dynamics NAV and Jira integration

Procurement teams need visibility into both supplier commitments and team workload. Microsoft Dynamics NAV tracks vendors, purchase orders, and invoices; Jira tracks work items and delivery. Connecting them surfaces purchase obligations in the same project management tools where your team plans and executes delivery. New vendors can be registered as accounts in Jira, purchase orders appear as linked epics with line items as subtasks, and the audit trail ties back to the source.

How Microsoft Dynamics NAV works

Microsoft Dynamics NAV is a small and mid-size business ERP, available on-premises or as Dynamics 365 Business Central online. It exposes vendors, purchase orders, purchase invoices, sales orders, items, GL accounts, and general ledger entries through OData v4 REST APIs and legacy SOAP web services. The cloud product authenticates with OAuth 2.0 client credentials against a tenant-specific base URL. Webhooks are available for 3-day subscription periods and must be renewed before expiry; they cover most master and transaction entities except purchase orders, which require polling. On-premises deployments require port 7048 to be opened for OData.

How Jira works

Jira is a project and issue tracking platform from Atlassian that manages tasks, bugs, stories, sprints, and workflows. It exposes Issues, Projects, Users, Comments, Worklogs, and custom fields via REST API, authenticated with OAuth 2.0 authorization code grant or Basic auth with an API token. Webhooks are supported for issue and project events and expire after 30 days from creation; signature verification uses HMAC-SHA256. Jira has no native vendor, purchase order, or accounting entities, so integration is one-way from Dynamics NAV into Jira for reference and workflow purposes.

What moves between them

Records flow one way, from Dynamics NAV into Jira. Vendors are created as Jira accounts or custom records, purchase orders become Jira issues or epics, and purchase order line items appear as subtasks or linked issues. The sync runs on a schedule you control, polling Dynamics NAV for new and changed POs and vendors because purchase orders are not available via Dynamics NAV webhooks. Once created in Jira, the records remain there as a living project record; Dynamics NAV remains the source of truth for procurement data. Comments and status updates in Jira are not written back to Dynamics NAV.

How ml-connector handles it

ml-connector stores Dynamics NAV OAuth credentials and Jira API token encrypted, and refreshes both tokens when API calls return 401. On the Dynamics NAV side, it polls for vendors and purchase orders on a schedule you set, then maps each vendor to a Jira account or custom issue type and each PO to an issue or epic with line items as subtasks. Because Dynamics NAV webhooks expire every 3 days and do not cover purchase orders, polling is the primary sync mechanism; a webhook listener can supplement for vendors and other master data if enabled. On the Jira side, ml-connector handles the custom field IDs which vary per Jira instance and creates linked issues so procurement data is visible in the same tool as delivery planning. Pull-back is not supported because Jira has no native invoice or accounting fields. Every record carries a full audit trail and can be replayed if a downstream Jira call fails.

A real-world example

A small manufacturing company runs Dynamics NAV for procurement and finance, and Jira for engineering and production work. Before integration, the procurement team tracked POs in Dynamics NAV, but the engineering team had no visibility into supplier commitments or incoming materials. Purchase order information was manually entered into Jira spreadsheets or notional epics. With Dynamics NAV connected to Jira, each new purchase order appears automatically as a Jira issue, line items are subtasks, and the vendor is linked. The engineering team sees material arrival commitments in their planning tools without manual rekey, and procurement can link POs to engineering tasks for suppliers who impact critical path.

What you can do

  • Sync vendors from Microsoft Dynamics NAV to Jira as accounts or custom records for supplier visibility in your project management tools.
  • Create purchase orders as Jira issues or epics, with line items appearing as subtasks, tied to the original vendor.
  • Map Dynamics NAV items to Jira issue types and custom fields so procurement data fits your project structure.
  • Poll Dynamics NAV on a schedule you control, with automatic retries and a full audit trail on every vendor and purchase order.
  • Refresh both OAuth 2.0 tokens automatically and handle Dynamics NAV's 3-day webhook subscription renewal.

Questions

Why does data flow only one way, from Dynamics NAV to Jira?
Jira is a project and issue tracking system with no native vendor, purchase order, or accounting entities. It has no fields to store back financial data such as invoice amounts, GL accounts, or payment terms. Dynamics NAV remains the source of truth for all procurement data; Jira is a read-only window for visibility and workflow.
Why does ml-connector poll instead of relying on Dynamics NAV webhooks?
Dynamics NAV webhooks expire every 3 days and must be manually renewed, and purchase orders are not included in the standard webhook entity list. Polling on a schedule you control is more reliable for procurement data that must be available continuously. A webhook listener can still be registered for vendors and other master data if needed.
How are Jira custom field IDs handled if they vary between instances?
Every Jira instance has its own custom field IDs for issue type, priority, and vendor reference. ml-connector stores these mappings per Jira workspace so purchase orders are created with the correct fields for your Jira configuration. Custom field mappings are set up during connector onboarding.

Related integrations

Connect Microsoft Dynamics NAV and Jira

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

Get started