ml-connector
MYOBBigCommerce

MYOB and BigCommerce integration

MYOB runs your accounting and financial records. BigCommerce runs your online store. Connecting them keeps your revenue recognized in the right place, your customer records aligned, and your month-end reconciliation straightforward. New orders placed through BigCommerce become sales invoices in MYOB, customer profiles sync in both directions, and each transaction carries a complete audit trail for compliance and troubleshooting.

How MYOB works

MYOB AccountRight Live API exposes sales invoices, customers, suppliers, general ledger accounts, journal entries, and inventory items through REST with OData v3 query parameters. It authenticates with OAuth2 Authorization Code flow and also requires company file credentials (username and password) in the x-myobapi-cftoken header on every request. Access tokens expire after 20 minutes and refresh tokens last one week. MYOB does not support webhooks, so connectors must poll for changes using OData filters on LastModified timestamps. Rate limits are 8 requests per second and 1 million requests per day.

How BigCommerce works

BigCommerce exposes orders, order transactions, customers, products, and inventory through REST v3 APIs and also pushes events via webhooks to HTTPS endpoints on port 443 only. Authentication is a static store-level API token delivered in the X-Auth-Token header. Webhook events fire for order creation, update, status change, and deletion, plus customer and product lifecycle events. BigCommerce webhook payloads contain only the record ID and type, so the connector must immediately call the REST API to fetch full order and customer details. Webhooks auto-deactivate after 90 days of inactivity or about 48 hours of delivery failures.

What moves between them

Orders and customers flow from BigCommerce into MYOB. When a BigCommerce order webhook fires, ml-connector fetches the full order and customer details, creates a sales invoice in MYOB with line items and totals, and records the customer as a contact if they do not already exist. Customer updates from BigCommerce sync back to MYOB customer records. Payments and refunds are logged in the audit trail but not written back to MYOB, since sales invoices in MYOB are typically marked paid via bank reconciliation. Reference data such as product categories and tax codes are validated against MYOB before posting.

How ml-connector handles it

ml-connector listens for BigCommerce webhook events (order created, order updated, customer created, customer updated). On each event, it fetches the full payload from BigCommerce's REST v3 API, then creates or updates the matching sales invoice and customer record in MYOB. It handles MYOB's two-factor authentication by storing the company file credentials encrypted and including them in the x-myobapi-cftoken header on every request, alongside the refreshed OAuth2 bearer token. MYOB access tokens expire after 20 minutes, so ml-connector proactively refreshes the token before expiry rather than waiting for a 401. BigCommerce webhook payloads are stubs, so ml-connector immediately calls the REST API to fetch order line items, shipping, tax, and customer data. Each BigCommerce order is deduped using BullMQ jobId with the order ID, so a webhook retry does not create a duplicate invoice. If the MYOB API returns a 429 rate limit, ml-connector backs off and retries. RowVersion conflicts on MYOB PATCH operations are resolved by re-fetching the current row state and retrying. A full audit log tracks every record posted, every API call, and every error.

A real-world example

A mid-market SME in Australia sells physical goods through a BigCommerce online store and runs MYOB for accounting and tax compliance. Before the integration, the accounting team logged into BigCommerce, downloaded the order CSV at the end of each week, mapped order totals to line-item details, and manually typed them into MYOB sales invoices. This was error-prone and delayed month-end close by several days while discrepancies were chased. With MYOB and BigCommerce connected, each order automatically becomes a sales invoice in MYOB as soon as it is confirmed in the store, customers are automatically added or updated as contacts, and the finance team can run the accounts receivable aging report in MYOB without waiting for a manual catch-up.

What you can do

  • Create sales invoices in MYOB from BigCommerce orders, with full line items, shipping, tax, and customer details.
  • Sync BigCommerce customers as MYOB contacts and keep customer details aligned across both systems.
  • Authenticate MYOB with its two-factor requirement (OAuth2 bearer token and company file credentials) on every API call.
  • Refresh MYOB access tokens before they expire so rate-limited calls do not fail due to 401 errors.
  • Deduplicate BigCommerce webhook retries using BullMQ jobId and maintain a full audit trail of all records posted.

Questions

How does ml-connector handle MYOB's two-factor authentication requirement?
MYOB requires both an OAuth2 bearer token in the Authorization header and company file credentials in the x-myobapi-cftoken header. ml-connector stores the company file password encrypted and includes it on every API request. Because MYOB access tokens expire after 20 minutes, ml-connector proactively refreshes the token before expiry to avoid 401 errors.
What happens when a BigCommerce webhook fires but contains only a stub payload?
BigCommerce webhook payloads contain only the record type and ID. ml-connector immediately calls the BigCommerce REST v3 API to fetch the full order details, line items, customer profile, shipping address, and tax totals. This ensures MYOB invoices are complete and accurate.
How does the integration handle rate limits and retries?
MYOB rate limits are 8 requests per second and 1 million per day. BigCommerce rate limits are 450 requests per 30-second window (Pro plan). ml-connector tracks rate-limit responses (HTTP 429), backs off with exponential jitter, and retries the request. Every retry is logged in the audit trail with timestamps and response codes.

Related integrations

Connect MYOB and BigCommerce

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

Get started