ml-connector
MYOBAnaplan

MYOB and Anaplan integration

MYOB keeps your general ledger and accounts payable. Anaplan runs your budgeting and financial planning. Connecting them flows your actual GL accounts and open supplier invoices into Anaplan so your plans stay aligned with your books. Contact lists sync in both directions so supplier changes in MYOB keep your planning data up to date. ml-connector handles the different authentication schemes on each side and moves the data on a schedule you control.

How MYOB works

MYOB AccountRight Live API v2 exposes general ledger accounts, purchase orders, bills, invoices, contacts, items, and tax codes through REST endpoints with OData v3 query parameters. The cloud product authenticates with OAuth2 Bearer tokens that expire in 20 minutes, plus company file credentials (username and password) supplied in two additional headers on every call. MYOB has no webhook or push notification system, so records are detected by polling with LastModified timestamps, and every PATCH or PUT requires the current RowVersion field to prevent stale writes. The API enforces an 8-request-per-second rate limit and 1,000,000 requests per day per API key.

How Anaplan works

Anaplan exposes workspaces, models, modules, and lists through a REST Integration API. The platform authenticates with Basic Authentication (username and password with 35-minute token expiry), Client Certificate Authentication (certificate pair), or OAuth2. Anaplan does not publish data via webhooks; instead, integrations trigger bulk Import and Export Actions by API call, poll for completion, and download results. The platform enforces a tenant-wide rate limit of 600 requests per minute shared across all integrations, and all imports require a pre-created named Action in the target model.

What moves between them

GL accounts, purchases orders, and supplier and customer contacts move from MYOB into Anaplan on a daily or weekly polling schedule. Open invoices and purchase order balances flow through as CSV or JSON uploads into Anaplan's planning models, aligned to the GL account structure. Contact lists (supplier name, email, payment terms) sync bidirectionally so supplier changes in MYOB refresh the Anaplan contact lists. GL account reconciliation data and cost center allocations feed into Anaplan's budgeting modules so forecasts are based on current actuals from MYOB.

How ml-connector handles it

ml-connector stores both OAuth2 credentials and company file passwords encrypted, refreshing the MYOB token when calls return 401 and supplying the company file credentials on every request. It polls MYOB's GL accounts and invoices using OData filters on LastModified timestamps, extracts data into a CSV or JSON structure that matches Anaplan's import schema, and triggers an Anaplan Import Action by ID to load the data into the target module. Before any PATCH or PUT to MYOB, ml-connector reads the current RowVersion field and supplies it with the update, so stale writes return 409 conflict and trigger a retry. It respects Anaplan's 600-request-per-minute rate limit across all active flows, and it tracks token expiry on both sides so a renewal does not interrupt the sync. Every record carries a full audit trail and can be replayed if a downstream action fails.

A real-world example

A mid-sized Australian manufacturer runs MYOB for accounting and GL management across multiple business units, and uses Anaplan for quarterly budgeting and annual financial planning. Before the integration, the finance team exported GL trial balances from MYOB each month, reformatted them in Excel, and manually loaded them into Anaplan's planning models, a process that introduced copy errors and caused reconciliation delays when actual figures changed before the plan closed. With MYOB and Anaplan connected, each month's GL export flows automatically into the Anaplan model on a preset schedule, supplier contact changes in MYOB sync into Anaplan's contact lists, and the planning team starts forecasting from day one with current actuals already in place.

What you can do

  • Flow GL account balances and transactions from MYOB into Anaplan planning modules on a polling schedule aligned to your close calendar.
  • Sync supplier and customer contact lists between MYOB and Anaplan so procurement and planning teams work from the same source.
  • Import open purchase orders and invoices from MYOB into Anaplan budget and cash flow models for more accurate forecasting.
  • Handle MYOB OAuth2 token refresh and dual company file authentication, plus Anaplan Basic or Certificate auth, transparently.
  • Respect Anaplan's tenant-wide rate limits and MYOB's RowVersion concurrency control with automatic retry on conflict.

Questions

How does the integration detect changes in MYOB if there are no webhooks?
ml-connector polls MYOB on a schedule you define (daily, weekly, or monthly) using OData filters on the LastModified timestamp to detect which records changed since the last sync. Every record in MYOB carries a LastModified date, so only new and changed items are fetched, minimizing API calls and data volume.
Why does MYOB require both OAuth2 and company file credentials?
MYOB uses a dual-authentication model: OAuth2 authorizes the API token bearer, and the company file credentials (username and password) authenticate access to the specific company file within MYOB. ml-connector supplies both on every call and manages both token types encrypted in the flow configuration.
What happens if Anaplan's 600-request-per-minute limit is exceeded?
ml-connector monitors Anaplan responses for HTTP 429 Too Many Requests, backs off with exponential jitter, and retries. The limit is tenant-wide and shared across all integrations in the workspace, so if multiple flows are active, ml-connector queues them to respect the limit and avoid overwhelming the Anaplan platform.

Related integrations

Connect MYOB and Anaplan

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

Get started