CoreviaFlowCOREVIAFLOWDIGITAL PROJECT COMPANY Leave a request
EN UA RU

QuickBooks Online ↔ WooCommerce integration

WooCommerce orders become sales in QuickBooks Online with the same items and customer, and stock and product names stay in step with the books

A WooCommerce store lives on your own WordPress site, and the books live in QuickBooks Online. Between them sits a person who copies every order into an invoice, looks up whether the customer already exists and fixes stock on the site after each purchase from a supplier. The QuickBooks Online ↔ WooCommerce pair removes that copying: each order becomes a sale in QuickBooks with the same lines the buyer saw, customers are created once and reused, payments close the right sale, and stock and product names kept in QuickBooks go back to the store. Below: what exactly moves, which scenarios we cover and which capabilities of both systems we rely on.

What moves between the systems

  • WooCommerce → QuickBooks OnlineA new WooCommerce order becomes an invoice in QuickBooks Online with the same items, quantities, discounts, shipping and tax lines the buyer saw at checkout.
  • WooCommerce → QuickBooks OnlineWhen the order is paid, the payment is recorded in QuickBooks against that invoice; a customer paying several orders at once closes all of them with one payment.
  • WooCommerce → QuickBooks OnlineStore products are matched to QuickBooks items by SKU, so each sale lands on the right item and revenue is reported by product, not as one lump sum.
  • WooCommerce → QuickBooks OnlineA cancelled or refunded order in WooCommerce creates the matching correction in QuickBooks against the same sale and customer.
  • QuickBooks Online → WooCommerceStock levels and product names kept in QuickBooks, after a purchase or a stock count, go back to the store, so the site does not sell what the warehouse no longer has.
  • QuickBooks Online ↔ WooCommerceCustomers are matched by email: a new store buyer is created in QuickBooks once, and a returning one is reused, so the customer list does not fill up with duplicates.

What we connect

  • We check the WordPress and WooCommerce versions and switch on readable permalinks if the site still uses the default plain links, because the connection needs them.
  • You create a separate WordPress user for the connection and issue an access key for it with only the rights it needs; delete that user and the key stops working.
  • The store is set to notify our server about new, changed and paid orders, and every notification is checked against its secret signature before we trust it.
  • The QuickBooks company owner grants access once through Intuit's consent screen; if the connection is not used for 100 days, the owner signs in again.
  • Together with the bookkeeper we choose the QuickBooks items and accounts for sales, shipping and tax, and decide whether stock is kept in QuickBooks or in the store.
  • We run it against a QuickBooks test company first, then switch to the live company from an agreed date so older orders are not doubled.

Automation scenarios

01

Every order typed twice

Before someone opens each WooCommerce order and retypes it as an invoice in QuickBooks, and a wrong quantity is found only at month end.

After the order arrives in QuickBooks with the same lines the buyer saw, and the bookkeeper only reviews the list.

02

Which orders are actually paid?

Before the store shows orders as paid, QuickBooks shows open invoices, and the bookkeeper compares the two by hand.

After a paid order closes its invoice in QuickBooks, and open invoices mean money that really has not arrived.

03

Sold out but still on the site

Before the stock count in QuickBooks says zero, but the store keeps taking orders until someone updates the quantity by hand.

After the QuickBooks stock level goes to WooCommerce on every change, and the product shows as out of stock on time.

04

The same buyer three times

Before a returning buyer is created in QuickBooks again with each order, and the customer's history is split across three cards.

After the buyer is found by email and every order lands on one card.

How it works technically

For those who want to check: each point links to the official documentation page it comes from.

  • In QuickBooks an invoice is a sales form where the customer pays for a product or service later — exactly what a CRM deal turns into.

    Source: developer.intuit.com ↗ checked 2026-09-27
  • A payment in QuickBooks can be applied to several invoices of one customer at once, so one incoming payment can close several deals in the CRM.

    Source: developer.intuit.com ↗ checked 2026-09-27
  • Items in QuickBooks are the products and services a company buys or sells; they become the lines of an invoice, which is why we build the CRM catalogue on them.

    Source: developer.intuit.com ↗ checked 2026-09-27
  • API keys are tied to a specific WordPress user and follow that user's roles and rights; each key has a read, write or read-and-write level, and if the user is deleted the key stops working.

    Source: developer.woocommerce.com ↗ checked 2026-09-27
  • WooCommerce can send webhook notifications each time orders, products, coupons or customers are added, edited or deleted, when purchases are made, and on other events; the delivered webhook carries a hash made from a secret key in its request headers.

    Source: woocommerce.com ↗ checked 2026-09-27
  • WooCommerce automatically disables a webhook after more than five consecutive delivery failures, and keeps a log of every event that fired a webhook so delivery and the receiving server's response can be checked.

    Source: woocommerce.com ↗ checked 2026-09-27

Limits

The limits come from both systems. QuickBooks Online is built for the US, Canada, the UK, Australia and a few other markets; Intuit's materials mention no Ukrainian edition or Ukrainian reporting, so this pair is for stores whose books are already kept in QuickBooks abroad. Intuit limits how many requests one company receives per minute, so a large first import runs as a queue, and access has to be confirmed again after 100 days without use. WooCommerce runs on your own WordPress site: it needs WooCommerce 3.5 or newer, WordPress 4.4 or newer and readable permalinks, and if your server fails to answer the store's notifications more than five times in a row, WooCommerce pauses them until someone switches them back on, so the hosting has to be stable. Which accounts sales, shipping and tax go to is an accounting decision we set up the way your bookkeeper says.

How to start

Three steps from a first message to work on your project.

  1. 01

    Leave a request

    Describe the task in the form — in text or by voice. Budget and timing are optional.

  2. 02

    We review and estimate

    A developer studies the brief, asks about anything unclear and sends an estimate.

  3. 03

    We start

    Once scope and price are agreed, the work begins.

or write to info@coreviaflow.space

Questions

There are ready plugins that connect WooCommerce to QuickBooks. Why a custom pair?
If a ready plugin fits your accounts, tax setup and stock rules, use it, and we will say so after looking. A custom pair is for stores where the ready one posts summaries instead of orders, mishandles several currencies or does not keep stock in step the way the bookkeeper needs.
What happens if our site is down for a while?
Orders are not lost: WooCommerce keeps a log of every event it tried to send, and we additionally check the store for new and changed orders on a schedule. If notifications were paused after repeated failures, we see it and switch them back on.
Where should stock be kept: in QuickBooks or in WooCommerce?
In one place only, and you choose it at the start. If purchases and stock counts happen in QuickBooks, it is the source and the store follows. If the warehouse works from the store, orders reduce stock there and QuickBooks only receives the sales.
What happens to orders placed before the launch?
Nothing, unless you ask. The pair starts from an agreed date so the bookkeeper's earlier entries are not doubled. Older orders can be loaded separately for a chosen period after checking that they are not already in QuickBooks.

Tell us what needs to be connected

Describe the task in text or a voice message. We look at your setup and reply with a plan.