Visma and Microsoft Power BI integration
Visma.net ERP holds your financial and operational data. Microsoft Power BI turns that data into dashboards and insights. The integration pulls your AP, AR, GL accounts, and transactions from Visma and pushes them into Power BI push datasets so your reports and dashboards reflect current business state without manual exports or data entry. Refresh your dashboards on schedule and keep finance and operations teams aligned on the real numbers.
What moves between them
Data flows from Visma to Power BI. ml-connector polls Visma.net on a schedule you set, reading supplier invoices, customer invoices, GL accounts, journal transactions, and other financial records. These are transformed into the column structure required by your Power BI push datasets and posted via the Power BI REST API. The push datasets update in near real-time, and you can optionally trigger a Power BI refresh to recalculate any dashboards or reports that depend on those datasets.
How ml-connector handles it
ml-connector stores both the Visma OAuth client credentials and the Power BI service principal credentials encrypted, refreshing the Visma token on demand and the Power BI token on a schedule before expiry. It polls Visma.net on your schedule, requesting only records modified since the last successful pull using lastModifiedDateTime to minimize bandwidth. Before posting to Power BI, ml-connector maps each Visma field to the correct Power BI column, handles any required data type conversions, and validates that the target table schema exists on the Power BI side. It batches rows for efficiency, handles rate-limit backoff when Visma or Power BI respond with 429 or 503, and logs every record posted so you can track lineage and replay any failed batch if a downstream Power BI refresh fails. The integration does not rely on Visma webhooks, since webhook delivery is not guaranteed and has no retry; it uses polling instead to ensure no data is missed.
A real-world example
A mid-sized Nordic manufacturing and distribution company uses Visma.net ERP for order-to-cash and procure-to-pay. The finance team builds dashboards in Power BI to track days payable outstanding, cash flow, supplier performance, and revenue trends, but they have been exporting AP and AR extracts from Visma by hand every week and uploading them to Power BI. With Visma and Power BI connected, invoices, payments, and GL postings sync automatically on a daily schedule, the dashboards refresh without manual intervention, and the finance controller has access to real-time AP aging and cash position without re-entering data or chasing exports. Month-end reporting starts with clean, current numbers already in Power BI.
What you can do
- Push Visma supplier invoices, customer invoices, and payments to Power BI so your AP/AR dashboards stay current without manual exports.
- Sync Visma GL accounts, dimensions, and journal transactions into Power BI tables for real-time financial dashboards and ledger analysis.
- Poll Visma.net on your schedule using OAuth2 client credentials and tenant headers, with delta pulls to reduce bandwidth and API calls.
- Map Visma fields to Power BI table schemas, validate data types, batch rows for efficiency, and log every record for full audit trail and replay.
- Handle Power BI authentication as a service principal, refresh datasets on schedule, and back off on rate limits so your dashboards update reliably without throttling errors.
Questions
- Which direction does data flow between Visma and Power BI?
- Data flows from Visma to Power BI. ml-connector polls Visma.net for supplier invoices, customer invoices, GL accounts, and transactions, transforms them to match your Power BI table schemas, and posts the data to push datasets. Power BI is a reporting and analytics destination, not a source of truth, so no data flows back to Visma.
- Does ml-connector rely on Visma webhooks for real-time updates?
- No. Although Visma.net supports webhooks, they have one-time delivery with no automatic retry, which means messages can be lost. Instead, ml-connector uses polling with lastModifiedDateTime delta pulls on your schedule to ensure no records are missed, even if network issues occur.
- How does ml-connector handle Power BI push dataset schema and authentication?
- ml-connector requires that you define the table schema (column names and data types) in your Power BI workspace before the first data load. The service principal used for authentication must be a Member or Admin on the workspace. ml-connector validates the schema exists, maps Visma fields to the correct columns, and posts rows in batches via the REST API, refreshing credentials before they expire.
Related integrations
More Visma integrations
Other systems that connect to Microsoft Power BI
Connect Visma and Microsoft Power BI
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started