ml-connector
VismaJira

Visma and Jira integration

Visma runs your accounting and purchasing. Jira runs your project workflow. Connecting the two keeps procurement and finance teams on the same page without re-entering invoice and PO data. Supplier invoices land in Jira as trackable issues tied to projects, comments link approvals and disputes to the financial record, and PO changes flow directly into your task board. ml-connector handles Visma's OAuth2 authentication, registers and maintains Jira's expiring webhooks, and maps Visma financial records into issues your team can act on.

How Visma works

Visma.net ERP is a cloud-based accounting and financial platform used across the Nordic region for accounts payable, accounts receivable, purchasing, inventory, and project accounting. It exposes suppliers, supplier invoices, purchase orders, purchase receipts, customer invoices, GL accounts, dimensions, journal transactions, and employees through REST APIs over HTTPS. Authentication uses OAuth 2.0 via Visma Connect with client credentials grant, and all API calls require an ipp-company-id header. Visma supports both webhooks and polling via delta queries using lastModifiedDateTime, though webhooks deliver once only with no automatic retry, and webhook events must be explicitly enabled at the company level.

How Jira works

Jira is Atlassian's project management and issue tracking platform for managing tasks, bugs, stories, and workflows across teams. It exposes issues, projects, users, comments, worklogs, sprints, and issue types through REST APIs. Jira does not have native financial entities such as invoices, purchase orders, GL accounts, or vendor records. Authentication uses OAuth 2.0 authorization code or Basic auth with email and API token. Jira supports incoming webhooks via REST registration with event types including issue created, issue updated, issue deleted, and comment events, but webhooks expire after 30 days and must be explicitly refreshed before expiry.

What moves between them

Supplier invoices and purchase orders flow from Visma into Jira as issues. When a new invoice or PO is created in Visma, a webhook event triggers ml-connector to read the full record and create a matching issue in a configured Jira project, populated with the invoice amount, supplier name, PO reference, due date, and line-item details as the issue description. Updates to Visma invoices and POs flow into Jira as issue comments or status changes, keeping the Jira record in sync with the financial system. GL transactions and payment records can also flow as read-only audit comments linked to the original issue.

How ml-connector handles it

ml-connector authenticates to Visma using OAuth2 client credentials with the tenant ID and registers a webhook receiver in Visma to listen for supplier invoice and purchase order events. When an event arrives, ml-connector parses the Visma record, maps the invoice or PO fields to Jira issue fields (amount becomes a custom field, supplier name becomes an assignee or label, due date maps to Jira due date), and creates an issue in the target project. Since Jira webhooks expire after 30 days, ml-connector proactively calls the Jira webhook refresh endpoint before expiry and alerts you if a refresh fails. Visma's delta polling via lastModifiedDateTime provides a fallback in case webhooks are disabled or delayed, and every record carries a full audit trail including the original Visma ID and timestamp so issues can be tied back to the source. Jira issue descriptions use Atlassian Document Format, so ml-connector formats Visma data into ADF to render amounts, line items, and metadata correctly.

A real-world example

A mid-sized Nordic manufacturing company runs Visma.net ERP for accounting and procurement, and uses Jira across engineering and operations teams. The finance team receives 50 to 100 supplier invoices per week and currently enters each one manually into Jira as a task so procurement, QA, and accounting can collaborate on invoice disputes, match issues to POs, and track payment. With Visma and Jira connected, each new invoice appears in Jira automatically, linked to its PO, and the team comments directly on the invoice issue without jumping between systems. Disputes are logged in Jira, flagged back to Visma if needed, and the close-out is audit-traceable in both systems.

What you can do

  • Create Jira issues automatically when Visma supplier invoices and purchase orders arrive, with invoice amount, supplier name, PO reference, and line items as issue details.
  • Sync invoice updates and PO status changes from Visma into Jira as issue comments and workflow transitions, keeping both systems in agreement.
  • Refresh Jira's 30-day webhook expiry proactively before it lapses, and fall back to polling Visma if webhooks are delayed or disabled.
  • Link Jira issues back to the original Visma invoice or PO record with full audit trails so finance teams can trace comments and changes to the source.
  • Format Visma data into Atlassian Document Format for correct rendering of amounts, line items, and metadata in Jira issue descriptions.

Questions

Does every Visma supplier invoice and PO land in Jira as an issue?
By default, yes. ml-connector can be configured to filter by supplier, amount threshold, or PO status so you only create issues for invoices or POs that need team attention. You can also exclude internal orders or zero-amount records if your workflow prefers. Configure filters per project in ml-connector's settings.
What happens when Jira webhooks expire after 30 days?
ml-connector proactively refreshes the webhook registration before expiry and tracks the refresh date. If a refresh fails, ml-connector falls back to polling Visma's delta query endpoint using lastModifiedDateTime, so no invoices or POs are missed. You will be alerted if a webhook refresh fails so you can investigate.
Can we map Visma GL transactions and payments into Jira for audit purposes?
Yes. In addition to invoices and POs, you can configure ml-connector to create read-only comments on the original issue when Visma records a GL posting or payment against the invoice. This keeps a complete audit trail in Jira without allowing edits that would break the link to the financial record.

Related integrations

Connect Visma and Jira

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

Get started