MYOB and Avalara integration
MYOB runs accounting for small and medium businesses across Australia and New Zealand. Avalara calculates sales and use tax on every transaction. Connecting them keeps your tax liability in sync with your ledger. Each invoice and purchase order MYOB records flows to Avalara for instant tax determination, and the calculated tax amounts post back into MYOB's general ledger accounts without re-keying.
What moves between them
Invoices and purchase orders flow from MYOB to Avalara for tax calculation. When a sale or purchase posts in MYOB, ml-connector reads the transaction, maps MYOB customers and suppliers to Avalara company codes, and submits the line items to Avalara for real-time tax determination. Avalara returns the calculated tax broken down by jurisdiction and tax type. ml-connector then posts those amounts back into MYOB's general ledger tax accounts, mapped to match MYOB's chart of accounts structure.
How ml-connector handles it
ml-connector polls MYOB on a schedule you define, filtering for invoices and purchase orders modified since the last sync using OData LastModified. For each transaction, it extracts customer or supplier, line items, amounts, and delivery address, then submits to Avalara with a document code derived from MYOB's transaction UID to ensure idempotency (rerunning the same flow does not double-calculate). If Avalara returns an invalid address error, ml-connector stops, surfaces the problem, and waits for correction before retrying. On success, it posts the tax liability back into MYOB's general ledger, splitting by tax code and jurisdiction. MYOB's OAuth tokens expire after 20 minutes, so ml-connector refreshes the token before each poll cycle. Avalara enforces rate limits with HTTP 429 responses; ml-connector backs off and retries. Because both systems are polling-only, there is no real-time webhook handoff, but the polling cadence is tight enough to align books within hours of a transaction posting.
A real-world example
A mid-market professional services firm in Melbourne uses MYOB for all accounting and invoicing. They have clients across Australia and conduct services in multiple states, each with different tax treatment. Before the integration, they invoiced in MYOB, then manually calculated tax exposure in a spreadsheet by state, then keyed the tax amounts into MYOB's general ledger by hand. Tax liability was always a day or two out of sync with actual invoices, and month-end close required a full audit trail to reconcile tax payables against the ledger. With MYOB and Avalara connected, each invoice calculation automatically triggers tax determination across all relevant jurisdictions, and the tax liability posts into MYOB the same day the invoice is raised. The general ledger is always synchronized, and the audit trail is complete and automated.
What you can do
- Map MYOB invoices and purchase orders to Avalara transactions and calculate real-time sales and use tax across all jurisdictions.
- Post calculated tax liability back into MYOB's general ledger, allocated to the correct tax accounts and jurisdictions.
- Bridge MYOB's two-factor auth requirement (OAuth token plus company file credentials) and Avalara's HTTP Basic Auth with account-level credentials.
- Poll both systems on your cadence, detect changes with OData LastModified filters, and handle Avalara address validation errors.
- Use document codes as idempotency keys to prevent double-taxation if a flow reruns, and back off on rate-limit responses.
Questions
- Which direction does data move between MYOB and Avalara?
- Invoices and purchase orders flow from MYOB to Avalara for tax calculation. The calculated tax amounts flow back from Avalara into MYOB's general ledger. MYOB is the source of truth for transactions; Avalara is read-only for tax math.
- How does the integration handle MYOB's two-factor auth requirement?
- MYOB requires both an OAuth2 access token and company file credentials (username:password) on every API call. ml-connector stores the company file credentials encrypted, refreshes the OAuth token before each poll cycle (tokens expire after 20 minutes), and includes both in the required three headers on every request.
- What happens if Avalara flags an invalid address on an invoice?
- Avalara will not calculate tax on an invalid or missing address. When this happens, ml-connector stops processing that transaction, surfaces the address error, and waits for the address to be corrected in MYOB before retrying. This prevents posting incomplete tax data into the ledger.
Related integrations
More MYOB integrations
Other systems that connect to Avalara
Connect MYOB and Avalara
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started