QuickBooks Online and BigCommerce integration
BigCommerce runs your online store. QuickBooks Online runs your accounting. Connecting the two moves every sale and customer automatically into your books so your accounts receivable and revenue accounts stay in sync with what your store is actually selling. New orders become invoices in QuickBooks without re-keying, and customer records appear in both systems. ml-connector handles the different authentication schemes and the fact that BigCommerce webhooks deliver only metadata - it fetches the full record and posts it into the right QuickBooks accounts.
What moves between them
BigCommerce orders and customers flow into QuickBooks Online. When an order is placed in BigCommerce, a webhook fires and ml-connector fetches the full order record, maps the customer to a QuickBooks Customer, and creates an Invoice in QuickBooks with line items, account, and class derived from the BigCommerce order data. When a BigCommerce customer is created or updated, ml-connector creates or updates the matching Customer in QuickBooks. All records sync in near-real-time once webhooks deliver the notification.
How ml-connector handles it
ml-connector stores the BigCommerce API token and the QuickBooks realm_id and OAuth credentials encrypted at rest. When a BigCommerce webhook arrives, it is a stub containing only ID and operation; ml-connector immediately calls BigCommerce REST to fetch the full order or customer record, then applies any mapping rules (customer name, order total to account/class, tax and shipping to the right line items). It then creates or updates the corresponding invoice or customer in QuickBooks, using the QuickBooks OAuth token if it is still valid or refreshing it first if needed. BigCommerce API tokens are static and never refresh; QuickBooks tokens refresh on the backend automatically, but the token is checked before every call and refreshed if it expired. Order and customer records carry full audit trail in ml-connector so failed postings can be retried without duplicating.
A real-world example
A mid-sized online retailer runs BigCommerce to manage catalog and orders across multiple product lines and regional fulfillment. Their accounting team uses QuickBooks Online to track revenue, accounts receivable, taxes, and monthly cash flow. Before the integration, every evening the finance team exported the day's orders from BigCommerce, created individual invoices in QuickBooks by hand, and matched customer addresses so AR aging reports would tie to the actual store customers. This took 2-3 hours a day during peak season and was error-prone. With BigCommerce and QuickBooks Online connected, each order automatically creates an invoice the moment the customer completes checkout, customers are synced so AR reports match the store customer base, and the finance team can close the books in a few hours instead of spending days reconciling.
What you can do
- Post BigCommerce orders as invoices in QuickBooks Online, mapped to the correct revenue account and class per your chart of accounts.
- Sync BigCommerce customers into QuickBooks Online customers so your AR aging and customer reports match your actual store base.
- Handle BigCommerce webhook stubs by immediately fetching the full record via REST before posting into QuickBooks.
- Manage QuickBooks OAuth token rotation on a 24-26-hour cycle and BigCommerce static token lifecycle, refreshing transparently on each call.
- Maintain a complete audit trail of every order and customer synced, with replay capability if a posting fails.
Questions
- How does ml-connector handle the fact that BigCommerce webhooks deliver only a stub with ID and operation, not the full record?
- BigCommerce webhooks are intentionally minimal to reduce payload size. ml-connector receives the webhook, extracts the entity ID, and immediately calls the BigCommerce REST API to fetch the full record (order with all line items, customer, amounts, taxes). Only then does it proceed to post into QuickBooks Online. This ensures every invoice is complete and accurate.
- What happens when QuickBooks OAuth tokens expire, and how is it handled automatically?
- QuickBooks OAuth tokens expire in 1 hour and refresh tokens rotate every 24-26 hours. ml-connector tracks token expiry and checks the token before every API call. If the token is expired or about to expire, it refreshes silently using the refresh token. If a refresh fails (e.g., the refresh token itself has expired), ml-connector surfaces the error so you can re-authorize the connection.
- Can order totals be mapped to different accounts or classes in QuickBooks, and how?
- Yes. ml-connector can be configured to map BigCommerce order totals to specific QuickBooks accounts and classes based on product type, customer segment, or other dimensions. Each order's invoice respects these mappings so revenue lands on the correct account. Tax and shipping can also be routed to separate accounts if needed.
Related integrations
More QuickBooks Online integrations
Other systems that connect to BigCommerce
Connect QuickBooks Online and BigCommerce
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started