MYOB Power BI Connector: Step-by-Step Setup Guide (2026)

MYOB has no native Power BI connector. The closest option — OdataLink — is expensive, queries live data at every refresh, and requires an on-premises gateway for Power BI Service. This guide covers the reliable alternative: syncing MYOB data to a SQL database with SyncTools.

MYOB has no native Power BI connector. The option most commonly recommended by MYOB consultants is OdataLink — a third-party service that wraps the MYOB API and exposes it as an OData feed that Power BI can query. It works, but it costs several hundred dollars per year on top of your MYOB subscription, queries live MYOB data at every Power BI refresh, and requires an on-premises data gateway for Power BI Service scheduled refresh. For finance teams who expected a straightforward cloud BI integration, it is a significant overhead for basic financial reporting.

This guide covers the reliable alternative: syncing MYOB data to a SQL database with SyncTools, and connecting Power BI to that database via its native SQL connector — no OdataLink subscription, no live MYOB queries at refresh time, and no gateway required for cloud-hosted databases.

Finance team reviewing MYOB data in Power BI dashboards

TL;DR: SyncTools syncs MYOB Business records to a PostgreSQL, MySQL, SQL Server, or Azure SQL database on an automated schedule. Power BI Desktop connects to that database via its native SQL connector. Power BI Service refreshes on schedule without OdataLink costs or gateway dependencies. Full line-item detail included. Flat $50/month, unlimited rows.

Related: MYOB Power BI Connector landing page — architecture overview, supported entities, and pricing.

OdataLink cost. OdataLink is the most commonly used third-party bridge between MYOB and Power BI. It is not a one-time tool — it is a subscription that runs $400–$600/year depending on your plan. That cost adds to your existing MYOB subscription and your Power BI licence. For a finance team that just wants their accounting data in a dashboard, paying three separate SaaS bills for what amounts to a data pipe is difficult to justify when cheaper alternatives exist.

Live queries at every refresh. OdataLink is an API pass-through. When Power BI refreshes, it queries MYOB through OdataLink in real time. Large company files with years of transactions — common for MYOB AccountRight users who have been running the same file for 5–10 years — produce slow, timeout-prone refreshes. MYOB enforces API rate limits that OdataLink inherits, and large multi-entity refreshes can take 20–40 minutes per scheduled run.

On-premises gateway required. Power BI Service cannot query the OdataLink OData feed directly without an on-premises data gateway. For organisations that have moved to cloud-first operations, installing and maintaining a Windows gateway service on a local machine is an unwelcome infrastructure step for something that should be a pure cloud integration.

MYOB API fragmentation. MYOB Business and MYOB Advanced use different APIs. Tools built for MYOB Business don’t automatically work with MYOB Advanced, and vice versa. This means teams running a mix of MYOB products across entities need multiple integration setups rather than a single consolidated data layer.

The database sync approach avoids all of these. SyncTools syncs MYOB data to your database once and keeps it current incrementally. Power BI reads from the database — no OdataLink subscription, no live MYOB queries, no gateway for cloud-hosted databases.

What MYOB Data Syncs to Your Database

SyncTools structures MYOB Business data into query-ready SQL tables with transaction header and line-item detail.

MYOB EntitySQL TablesPower BI Use Case
Invoicesinvoices, invoice_linesAR aging, revenue by customer and account
Billsbills, bill_linesAP aging, spend by supplier and account
ContactscontactsCustomer and supplier dimension
Chart of AccountsaccountsAccount dimension for P&L and balance sheet
Journal Transactionsjournal_transactions, journal_transaction_linesTrial balance, manual adjustments
ItemsitemsProduct/service dimension
Payments Receivedpayments_receivedCash receipts, AR clearance
Supplier Paymentssupplier_paymentsCash disbursements, AP clearance
Tax Codestax_codesTax analysis, GST reporting
Bank Transactionsbank_transactionsBank feed, cash position

Line-item account codes are included. Each invoice and bill line includes the account code linked to the MYOB chart of accounts, enabling account-level P&L and cost-category analysis directly in Power BI.

GST / tax code columns are included. Tax codes on transaction lines enable GST reporting and BAS preparation support in Power BI for Australian entities.

Step 1: Connect MYOB to SyncTools and Configure Your Sync

Sign up at synctools.io and select MYOB as your source. Authorization uses MYOB’s OAuth 2.0 flow — SyncTools requests read-only access to your MYOB company file. No OdataLink subscription, no ODBC driver, no developer credentials beyond your MYOB administrator login.

In the SyncTools dashboard, configure:

  • Which entities to sync: For Power BI financial reporting, the minimum recommended set is Invoices + lines, Bills + lines, Contacts, Accounts, and Journal Transactions.
  • Historical date range: Set how far back to sync on the initial run. SyncTools performs a full historical sync first, then incremental updates.
  • Sync schedule: Hourly sync keeps dashboards current throughout the business day. Daily sync suits end-of-day or next-morning reporting.

Step 2: Configure Your Destination Database

SyncTools supports four destination options:

Azure SQL — Recommended for Power BI teams on Microsoft Azure. Power BI Service reaches Azure SQL directly for scheduled refresh without a gateway.

PostgreSQL — Works with cloud-hosted PostgreSQL (Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL). Power BI Service reaches cloud PostgreSQL directly for gateway-free refresh.

SQL Server — On-premises SQL Server requires the standard Power BI on-premises data gateway for cloud-scheduled refresh.

SyncTools-hosted database — Zero infrastructure setup. SyncTools provides a cloud-hosted database with the connection string pre-configured. Best for teams without existing database infrastructure.

SyncTools creates and maintains all table schemas automatically — no DDL to write, no migration scripts to manage.

Step 3: Connect Power BI Desktop to the Database

Open Power BI Desktop → Get Data. Select the connector matching your database:

  • Azure SQL: Use the Azure SQL Database connector.
  • PostgreSQL: Use the PostgreSQL connector.
  • SQL Server: Use the SQL Server connector.

Enter your server hostname, port, and database name from SyncTools. Load the tables for your report. The recommended initial import for MYOB financial reporting:

invoices
invoice_lines
bills
bill_lines
contacts
accounts
journal_transaction_lines
tax_codes

Build relationships in Power BI’s model view:

  • invoice_lines.invoice_idinvoices.id
  • bill_lines.bill_idbills.id
  • invoice_lines.account_idaccounts.id
  • invoices.contact_idcontacts.id
  • bills.contact_idcontacts.id
  • journal_transaction_lines.account_idaccounts.id

Common MYOB Power BI DAX measures:

  • Total Revenue: SUM(invoices[amount_excluding_tax])
  • Total Expenses: SUM(bills[amount_excluding_tax])
  • GST Collected: SUM(invoices[tax_amount])
  • GST Paid: SUM(bills[tax_amount])
  • AR Aging Bucket: classify open invoices by DATEDIFF between due_date and today

Step 4: Publish to Power BI Service and Schedule Refresh

Publish your report to Power BI Service from File → Publish. In the dataset settings, configure data source credentials for your SQL database.

For Azure SQL and cloud-hosted PostgreSQL: Power BI Service connects directly. Set your refresh schedule — up to 8 refreshes per day on Power BI Pro, 48 per day on Premium. No gateway needed.

For on-premises SQL Server: Install the standard Power BI on-premises data gateway. Configure the gateway connection in dataset settings before enabling scheduled refresh.

Your MYOB dashboards in Power BI Service update automatically on schedule, pulling the latest records SyncTools has written to the database since the previous run — no OdataLink, no live MYOB API calls, no gateway for cloud databases.

Common MYOB Power BI Report Structures

Income Statement (P&L): Filter accounts on income and expense header types. Join invoice_lines and bill_lines to accounts via account code. Pivot by month. Compare current year to prior year.

Balance Sheet: Filter accounts on asset, liability, and equity types. Join journal_transaction_lines to accounts. Use CALCULATE with a period-end date for point-in-time balances.

AR Aging: Join invoices to contacts, filter for open status (balance > 0), calculate days from due_date to today, bucket into 0–30, 31–60, 61–90, 90+ columns.

AP Aging: Same structure using bills and contacts filtered to supplier type.

GST / BAS Summary: Join invoice_lines and bill_lines to tax_codes. Group by tax code and quarter. Aggregate output tax (from invoices) and input tax (from bills) for BAS preparation.

Revenue by Customer: Join invoices to contacts. Group by contact name and month. Filter to invoice type = Sale.

OdataLink / Direct APISyncTools
Additional subscription cost?Yes — $400–$600/yearNo
Queries live MYOB data at refresh?Yes — pass-throughNo — queries your database
Gateway required for Power BI Service?YesNo (for cloud databases)
Refresh performance on large files?Slow — can time outFast — incremental database reads
Works with Tableau, Metabase, Looker?LimitedYes — any SQL tool
Price$400–$600/year (OdataLink) + complexity$50/month flat, unlimited rows

Get Started

Start a free SyncTools trial → — no credit card required, setup in under 15 minutes.

Also using Xero, QuickBooks, Sage, or NetSuite alongside MYOB? SyncTools can sync multiple accounting systems into the same database for a consolidated BI layer.

Related reading:

Ready to automate your accounting?

Connect Shopify, WooCommerce, or Linnworks to QuickBooks, Xero & more. Setup in minutes.

Start Free Trial No credit card required