ml-connector
MYOBWise

MYOB and Wise integration

MYOB tracks supplier invoices and payment obligations across your business in one location. Wise executes cross-border payments, manages multi-currency transfers, and maintains recipient databases for frequent vendors. When the two are connected, outstanding supplier bills in MYOB trigger payment execution to Wise in the supplier's preferred currency and bank account, and payment confirmations flow back into MYOB so your cash position and accounts payable stay synchronized. ml-connector handles the handshake between the two very different APIs and moves data on a schedule you define.

How MYOB works

MYOB AccountRight exposes suppliers, purchase invoices, payment records, bank accounts, and general ledger accounts through the MYOB Business API v2, a REST service with OData v3 query parameters. Authentication requires OAuth2 authorization with a 20-minute access token plus company file username and password supplied in custom headers on every call. MYOB has no webhook system, so outstanding bills and payment statuses are discovered by polling with OData LastModified filters to detect changes since the last sync. Rate limits are 8 requests per second and 1,000,000 requests per day per API key.

How Wise works

Wise exposes profiles, multi-currency balances, transfer recipients, quotes, and transfer orders through the Wise Platform REST API. Authentication uses OAuth2 with 12-hour token expiry and optional personal API tokens, both supplied as Bearer tokens. Wise can push transfer state changes, payout failures, balance updates, and other events via signed webhooks, allowing real-time notification of payment completion. Transfers require a four-step workflow: create a quote, register the recipient, create the transfer order, and fund the payment. Rate limits are 100 requests per second and up to 1500 requests per minute depending on the token type.

What moves between them

The main flow moves supplier payments from MYOB to Wise. Outstanding bills in MYOB tagged for electronic payment trigger a lookup of the supplier's banking details in Wise, creation of a multi-currency quote, and execution of a transfer order in the target currency. Transfer status changes in Wise are received via webhook and posted back into MYOB's payment records, marking the payment as complete or flagging exceptions. Recipient data such as bank account names and IBAN are synchronized from MYOB's supplier master into Wise on demand to keep both systems aligned. General ledger account mappings ensure payments are allocated to the correct expense codes in MYOB.

How ml-connector handles it

ml-connector stores MYOB company file credentials encrypted and refreshes the OAuth2 access token every 15 minutes, before the 20-minute window expires. It polls MYOB for unpaid bills with OData LastModified filters, then validates each bill against a pre-configured list of suppliers eligible for electronic payment. For each bill, it constructs a Wise quote in the supplier's preferred currency and bank country, retrieves or creates the recipient record in Wise, and executes a transfer order with a customerTransactionId for idempotency. Wise webhooks notify ml-connector of transfer completion or failure, which is posted back into MYOB as a payment confirmation or exception record. If a Wise quote expires before funding, a fresh quote is created. If a transfer fails, ml-connector logs the exception and surfaces it to the operator for manual resolution. Every transaction carries a full audit trail and can be replayed from the last confirmed state.

A real-world example

A mid-sized import-export business runs MYOB for accounting in their Sydney head office and pays suppliers across 12 countries in their local currencies. Before the integration, each week the finance team exported a list of due invoices from MYOB, manually created transfer orders in Wise for each supplier, chose the right currency and recipient, and then recorded the confirmation back in MYOB to close the payment. The process took 2 hours and was error-prone, with occasional mismatches on the currency or recipient account. With MYOB and Wise connected, bills due for electronic payment are automatically transformed into Wise transfer orders, each one routed to the correct supplier bank account and currency. When each transfer completes, the payment record updates automatically in MYOB. The finance team now confirms the weekly payment list in 10 minutes, and reconciliation is complete without manual re-keying.

What you can do

  • Execute supplier payments from MYOB to Wise, automatically selecting the supplier's preferred currency and bank destination.
  • Sync supplier contact information and banking details from MYOB into Wise recipient records to keep payment routing accurate.
  • Track Wise transfer status in real time via webhooks and post payment confirmations back into MYOB as payment records.
  • Handle MYOB's OAuth2 token refresh, company file credential requirements, and multi-header authentication on every call.
  • Manage Wise's multi-step transfer workflow, including quote creation, recipient validation, and idempotent funding with automatic retry on quote expiry.

Questions

Which direction does data move between MYOB and Wise?
Supplier payments flow from MYOB to Wise. Outstanding bills in MYOB tagged for electronic payment trigger transfer orders in Wise, routed to the correct supplier account in the local currency. Payment confirmations flow back from Wise to MYOB, updating the payment record and the accounts payable balance. Supplier banking details are synced on demand to keep Wise recipient accounts accurate.
How does ml-connector handle MYOB's company file credentials and OAuth token expiry?
ml-connector stores the company file username and password encrypted in the database. It refreshes the OAuth2 access token every 15 minutes, well before the 20-minute expiry. Every API call to MYOB includes the current bearer token in the Authorization header plus the company file credentials in custom headers (x-myobapi-cftoken and x-myobapi-key), following MYOB's dual authentication requirement.
What happens if a Wise quote expires or a transfer fails?
Wise quotes expire after a set time, so ml-connector creates a fresh quote if the original expires before the transfer is funded. If a transfer fails in Wise, ml-connector logs the exception with the failure reason and the operator is notified to investigate. The transaction audit trail captures every step, so the payment can be retried or manually resolved without data loss.

Related integrations

Connect MYOB and Wise

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

Get started