MYOB and Looker integration
MYOB holds your accounting ledger, invoices, bills, and contacts. Looker models your data warehouse and powers BI dashboards. Connecting the two lets your finance and analytics teams query and report on MYOB data in Looker without manual export or re-keying. Invoices, bills, GL accounts, and transactions flow from MYOB into your Looker instance on a schedule you control, and any dashboard or scheduled report can pull live MYOB numbers.
What moves between them
MYOB records move one way into Looker. MYOB invoices, bills, and GL journal entries are polled on a schedule and written into a Looker connection or warehouse table. Contacts, GL accounts, tax codes, and job categories are synced as dimension reference data. The flow runs on whatever cadence you choose (daily, weekly, after period close). Looker dashboards then query this data live without needing MYOB API calls on every dashboard load.
How ml-connector handles it
ml-connector maintains both credential sets encrypted. On the MYOB side, it stores the OAuth2 token and company file username/password separately, refreshes the 20-minute token before expiry, and uses OData $filter with LastModified to poll only changed records since the last sync. It respects MYOB's rate limits (8 requests per second, 1 million per day) and backs off on HTTP 429. On the Looker side, ml-connector obtains a fresh bearer token at the start of each sync (since the 1-hour token does not refresh), then writes MYOB records into a Looker connection or pushes them to a specified warehouse table. MYOB RowVersion fields are tracked to detect conflicts on updates; if a record is modified between fetch and write, ml-connector retries or surfaces the conflict. Every record carries an audit trail so replays are possible if a downstream write fails.
A real-world example
A mid-sized Australian professional services firm uses MYOB for invoicing clients, tracking expenses, and recording GL entries. The finance team and project managers need to see invoice aging, expense trends, and GL account balances in real-time dashboards without asking finance to export CSV files every week. By connecting MYOB to Looker, Invoices and bills flow into Looker automatically each morning, dashboards show invoice aging and cash flow by project, and GL balances are visible in executive reports without manual re-keying. Month-end close is faster because the finance team can verify GL balances directly from Looker instead of exporting and comparing spreadsheets.
What you can do
- Poll MYOB invoices, bills, GL journal entries, accounts, and contacts on a schedule and write them into Looker as reference or fact tables.
- Handle MYOB OAuth2 token refresh (20-minute expiry) and company file password authentication on every sync.
- Detect MYOB changes using OData $filter on LastModified timestamps so full syncs are not needed.
- Respect MYOB rate limits (8 requests per second, 1 million per day) and back off on HTTP 429 throttling.
- Refresh Looker bearer tokens hourly and write audit records for every invoice, bill, and GL entry synced.
Questions
- Does MYOB data flow into Looker in real time?
- No. MYOB does not support webhooks, so ml-connector polls on a schedule you set (daily, weekly, or after period close). Looker then queries the synced MYOB data on demand or via scheduled reports. This approach keeps API costs low and respects MYOB's rate limits.
- Which MYOB records can sync into Looker?
- MYOB invoices, bills, purchase orders, general ledger accounts, GL journals, contacts (suppliers, customers, employees), inventory items, tax codes, and job categories all sync into Looker. These records become tables or dimensions in your Looker connection, and dashboards query them like any other warehouse table.
- How does ml-connector handle MYOB's company file password and OAuth2 token?
- ml-connector stores both encrypted and presents the company file password via the x-myobapi-cftoken header on every call. It refreshes the OAuth2 bearer token before the 20-minute expiry so calls do not fail mid-sync. If token refresh fails, ml-connector retries and surfaces the error so it does not cause silent data loss.
Related integrations
More MYOB integrations
Other systems that connect to Looker
Connect MYOB and Looker
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started