MYOB and Tipalti integration
MYOB runs the general ledger and purchase register for SME accounting. Tipalti runs accounts payable and payments downstream. Connecting the two keeps invoices, purchase orders, and supplier records moving from MYOB into Tipalti's approval and payment workflows without re-entry. When Tipalti processes payments, webhooks notify MYOB so the payment status is recorded back in the source system.
What moves between them
The main data flow is from MYOB into Tipalti. Purchase orders and supplier invoices are read from MYOB on a polling schedule, mapped to Tipalti purchase orders and invoices, and written via Tipalti's API. Suppliers in MYOB are synced to Tipalti Payees, and GL accounts are aligned so invoice lines land on valid accounts. Payment completion events flow back from Tipalti via webhooks into MYOB as status updates on the source invoices. Reference data such as GL account mappings is maintained bidirectionally.
How ml-connector handles it
ml-connector manages two separate authentication contexts: on the MYOB side, it caches the OAuth2 bearer token and monitors its 20-minute expiry window, while simultaneously providing the company file credentials in a Base64-encoded custom header for every API call; on the Tipalti side, it chooses between SOAP (HMAC-SHA256 signing of the payer name and API key) and REST (OAuth2 client credentials) depending on the operation, since the two families use different endpoints and signatures. MYOB polling respects the 8 request per second rate limit and $filters on LastModified to detect changes since the last run. Suppliers are matched by name or a custom external ID field in both systems so repeated syncs do not create duplicates. GL account mappings are cached after first sync and validated on each invoice write so lines land on accounts that exist in Tipalti. When Tipalti payment events arrive via webhook, ml-connector verifies the HMAC-SHA256 signature and writes the completion status back into MYOB so invoices are marked paid without manual intervention. If a write to Tipalti fails, the job is re-enqueued under the same ID for automatic replay once the error is resolved.
A real-world example
A mid-sized professional services firm in Australia uses MYOB for accounting and GL management and has recently adopted Tipalti to automate their AP and payment processing across multiple countries where they have contractors and vendors. Before the integration, the accounting team exported a daily list of approved invoices from MYOB, manually re-entered them into Tipalti by hand, and then waited for payment confirmations from Tipalti to be manually posted back into MYOB as paid status. With MYOB and Tipalti integrated, invoices flow automatically from MYOB into Tipalti's approval workflow every hour, suppliers are matched on the first sync, and payment completion events return to MYOB automatically so the cash reconciliation is complete without manual data entry.
What you can do
- Poll MYOB purchase orders and supplier invoices on a schedule and write them into Tipalti as purchase orders and invoices, mapped to matching Tipalti payees.
- Map MYOB suppliers and contacts to Tipalti payees by name or external ID, with deduplication on repeated syncs.
- Align MYOB GL accounts to Tipalti GL dimensions so invoice line items land on valid accounts in both systems.
- Authenticate MYOB with OAuth2 bearer tokens plus company file credentials in a custom header, and handle Tipalti SOAP signatures or OAuth2 depending on the endpoint.
- Receive Tipalti payment completion events via HMAC-SHA256 verified webhooks and write payment status back into MYOB as supplier payment records.
Questions
- Which direction does data move between MYOB and Tipalti?
- The primary flow is from MYOB into Tipalti: purchase orders, invoices, and supplier records move into Tipalti's AP workflow. Payment completion events flow back from Tipalti via webhooks so MYOB records when an invoice has been paid. Reference data such as GL accounts is aligned in both directions.
- How does ml-connector handle MYOB's three-header authentication requirement?
- ml-connector caches the OAuth2 bearer token, monitors its 20-minute expiry window, and includes the company file credentials (Base64 encoded) as a custom header on every API call. When the token expires, the refresh token is used to obtain a new one without losing sync continuity.
- What happens if a supplier or GL account does not exist in Tipalti when an invoice arrives from MYOB?
- ml-connector caches GL accounts and payee mappings after the first sync and validates them on each invoice write. If an account or payee is missing, the job logs the error and is re-enqueued for replay once the missing record is created in Tipalti.
Related integrations
More MYOB integrations
Other systems that connect to Tipalti
Connect MYOB and Tipalti
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started