MYOB and Microsoft Power BI integration
MYOB runs your accounting. Microsoft Power BI runs your reporting and analytics. Connecting the two keeps your dashboards fed with current invoice, ledger, and tax information from MYOB without manual exports or re-keying. Once the connection is live, every sync pushes new and changed MYOB transactions into Power BI datasets, where you build reports and drill into patterns without leaving Power BI or re-creating tables.
What moves between them
The main flow is MYOB to Power BI. On a schedule you set, ml-connector polls MYOB for new and changed purchase invoices, sales invoices, general ledger accounts, account balances, and tax codes using OData LastModified filters. These records are transformed into columnar rows (account number, GL description, debit, credit, invoice number, supplier name, date, amount, tax code, etc.) and pushed into Power BI push dataset tables. Power BI is read-only; no data flows back from Power BI to MYOB.
How ml-connector handles it
ml-connector stores MYOB credentials (OAuth token, API key, and company file password) encrypted and provides the three required headers on every MYOB request, refreshing the token before it expires at the 20-minute mark. It caches OData LastModified timestamps from the previous sync so each poll fetches only records changed since then, staying well under MYOB's 1,000,000 daily request quota. On the Power BI side, ml-connector authenticates as a service principal using OAuth2 client credentials, obtains workspace and dataset metadata to verify the push dataset schema exists, and posts rows in batches to respect Power BI's payload limits. If a batch POST fails, ml-connector retries with exponential backoff up to a configurable limit, then logs the failure for manual replay. The connector verifies the service principal has member access to the workspace before the first push; if it does not, the job fails with an actionable error message.
A real-world example
A mid-sized professional services firm in Sydney runs MYOB for accounting and invoicing. The finance manager and partners need visibility into outstanding invoices, aging analysis, and tax reconciliation across clients, but currently export CSV from MYOB weekly and rebuild pivot tables in Excel. With MYOB and Power BI connected, the firm's Power BI dashboard auto-refreshes every night with the latest invoices and GL account balances from MYOB. Partners log into Power BI to see which clients are overdue, what tax is accrued this month, and year-to-date revenue by service line, all without leaving Power BI or waiting for manual exports. The weekly export and manual table rebuild disappear.
What you can do
- Sync MYOB purchase invoices, sales invoices, GL accounts, account balances, and tax codes on a schedule to Power BI push datasets.
- Handle MYOB's three-part authentication (OAuth token, API key, company file password) and refresh tokens before expiry.
- Use OData LastModified filters to poll only changed records and stay within MYOB's daily API quota.
- Authenticate Power BI with OAuth2 service principal credentials and verify workspace member access before the first push.
- Replay failed dataset pushes and track every sync in a full audit trail with record-level error details.
Questions
- Does all of MYOB sync into Power BI or only specific tables?
- ml-connector syncs MYOB purchase invoices, sales invoices, general ledger accounts, account balances, and tax codes by default. You can configure which MYOB entities and which columns populate each Power BI table. Other MYOB entities such as contacts and inventory items can be added if your Power BI dashboards need them.
- How does the connector handle MYOB's company file password requirement?
- MYOB requires a company file username and password on every API call in addition to OAuth2. ml-connector stores both encrypted and includes them in the required x-myobapi-cftoken header on every request. If the password changes in MYOB, you update the credential in ml-connector and the next sync uses the new password.
- What happens if Power BI's service principal loses workspace access?
- The connector checks service principal permissions before pushing data. If the service principal is not a member of the Power BI workspace, the first push fails with an error message naming the workspace. You add the service principal as a member in Power BI Admin settings, and the next sync succeeds.
Related integrations
More MYOB integrations
Other systems that connect to Microsoft Power BI
Connect MYOB and Microsoft Power BI
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started