Does WooCommerce integrate with QuickBooks?
Not out of the box. WooCommerce has no built-in QuickBooks link, so you connect the two in one of three ways: Intuit’s connector, a WooCommerce plugin, or a sync that Pandaflow sets up for you on request. The plugin route is the one most small stores take first, and the choice mostly comes down to how many gateways, fees and tax rules you run.
Intuit’s QuickBooks Connector (OneSaas)
Intuit documents a connector called QuickBooks Connector (OneSaas) for WooCommerce. Its listed requirements are:
- WooCommerce 3.5 or above, and WordPress 4.4 or above.
- Your full store domain and URL, without the wp-admin ending.
- Pretty permalinks. The default plain permalink will not work. In WordPress, go to Settings, select Permalinks, and choose one of the common structures. Any option other than Plain counts as pretty.
- The WooCommerce Admin plugin, only if you want to filter by custom order statuses.
These requirements explain most failed first connections: a plain permalink, or a domain entered with the admin path still on the end.
WP Swings: QuickBooks Integration for WooCommerce
This plugin is listed on WooCommerce.com. It works only with QuickBooks Online. It syncs orders, customers and products, creating customers, items and invoices. It can map asset, expense, income and deposit accounts at product level, falling back to feed-level mapping when a product has none. It syncs partial and full refunds when an order status changes to refunded, and it keeps sync logs so you can see what failed. At the time of writing, a one-year plan was listed at $99.
It fits a small store that wants invoices, clear logs and product-level accounts, and that runs QuickBooks Online only.
MyWorks: QuickBooks Sync for WooCommerce
This plugin is also listed on WooCommerce.com and works with QuickBooks Online, Desktop and POS. You choose whether orders post as an invoice, sales receipt, sales order or estimate, and it can sync as often as every 5 minutes. Its listing names support for payments, refunds, transaction fees, smart bank deposits, and taxes from WooCommerce Tax, Avalara and TaxJar. It says it works with all WooCommerce payment gateways. The plugin is free to download, but it requires a free or paid MyWorks account. Check the MyWorks pricing page for current plans.
It fits stores with more complex gateway, fee and tax setups, or stores that use QuickBooks Desktop or POS.
QuickBooks Payments
Whether QuickBooks Payments is available as a WooCommerce gateway depends on your region and current listings, so check both vendors’ pages before you plan around it. If you use Stripe, PayPal or another gateway, the payout section below applies in full.
What syncs between WooCommerce and QuickBooks?
This table shows what usually lands in QuickBooks Online from each WooCommerce data type. The right-hand column is the part to check on day one.
| WooCommerce data | Typical QuickBooks result | What to check |
|---|---|---|
| Paid order | Invoice or sales receipt (MyWorks also offers sales order or estimate) | Record type and income account mapping |
| Customer | QuickBooks customer, created or mapped | Duplicates when guest checkout emails differ |
| Product or SKU | QuickBooks item, with optional account mapping | SKU matching and income account per product |
| Tax lines | Sales tax amount on the record | Whether QuickBooks recalculates, and the liability account |
| Shipping and discounts | Line items on the record | A separate shipping income account |
| Payment | Payment into Undeposited Funds or a clearing account | One gateway per clearing account |
| Gateway fee | Expense on the bank deposit, if the tool supports it | Whether the gateway records fees on the order |
| Refund in WooCommerce | Refund or credit memo, if the tool syncs it | Status must change to refunded (WP Swings) |
| Refund or chargeback in the gateway | Nothing, unless the payout is read | A short payout against the order total |
| Gift card sale | Depends on the extension and mapping | Liability account, not income |
The top rows depend mostly on QuickBooks settings and your mapping. The fee, refund and gift card rows depend on your plugin, your gateway and whether anything reads the payout. That is where the bank reconciliation usually breaks.
You also choose a posting style. Per-order records give customer-level detail and an invoice trail. A daily summary keeps the ledger short and ties to payouts. The trade-off is covered below.
Where do the numbers stop matching the bank?
A WooCommerce order total is not what the bank receives. Most gateways pay out one lump per payout period, net of processing fees, refunds and disputes. One deposit can cover dozens of orders, so a per-order record can never match that deposit one-to-one.
One deposit covers many orders
In QuickBooks Online, payments sit in Undeposited Funds until they are grouped into a Bank Deposit. The clean pattern is to post each order’s payment into Undeposited Funds (or a dedicated clearing account), then group those payments into one Bank Deposit that matches the payout. The fee goes on that deposit as a negative line. If you skip this step, the bank feed shows one payout that matches nothing in the ledger.
Fees missing from the order
Some gateway plugins store the fee and the net amount in the order. Some do not. If the fee is missing, QuickBooks revenue is overstated by the fee until someone books it from the gateway’s payout report. MyWorks lists transaction fee syncing and smart bank deposits, which is the kind of support to confirm before you rely on it.
Refunds and chargebacks made in the gateway
WP Swings syncs refunds when the order status changes to refunded. A refund issued directly in the gateway dashboard never changes the WooCommerce order, so QuickBooks never sees it. Chargebacks have the same problem. They exist only in the gateway’s dispute records, and they appear as a short payout.
Sales tax computed twice
WooCommerce works out tax at checkout, from its own tax tables or from a service. QuickBooks Online has its own sales tax setup. If the two calculate differently, the tax liability account drifts from what customers were charged. Map the WooCommerce tax lines to the QuickBooks tax code or liability account, and do not let QuickBooks recalculate on top of them. Check this by location if you sell across more than one tax jurisdiction.
Gift cards are a liability, not income
WooCommerce core has no gift cards; they come from extensions. A gift card sale is a liability until it is redeemed. If your sync maps it to income, the sale is counted as revenue and the redemption counts it again. Map gift cards to a liability account.
Timing at month end
An order dated the 31st can land in the next month’s payout. Post by order date and clear by payout date, and the month-end bank balance stays explainable. The check is the clearing balance: after each payout it should return to near zero. If it keeps growing, something is not clearing.
Per-order or daily summary
Per-order posting gives customer-level records and an invoice trail, but it fills QuickBooks with entries and gives the bank feed many-to-one matches to work through. A daily summary per gateway keeps the ledger short and ties to payouts, but customer-level records are lost in QuickBooks.
A check you can run today
Pick one recent payout and test it:
- Add up the WooCommerce orders paid out in that period.
- Subtract processing fees.
- Subtract refunds and disputes issued in the gateway.
- The result should equal the payout amount on the bank deposit.
If step 4 fails, the difference is your reconciliation gap. It is usually a missing fee, a gateway-side refund, or a chargeback.
How does Pandaflow handle WooCommerce and QuickBooks?
Pandaflow’s WooCommerce sync is set up on request. It is not a self-serve connector you install today. You can read more on the WooCommerce integrations page.
What the sync does:
- Maps orders, tax, refunds and gateway payouts to your QuickBooks accounts.
- Posts entries per order or as one summary per day, whichever you choose.
- Clears the entries against each payout, so the clearing balance returns to near zero.
- Flags anything unmatched for review rather than guessing.
- Has the agent repair the sync when a plugin, gateway or QuickBooks setting changes.
If you also want the QuickBooks side of this set out, see the QuickBooks integrations page.
Plans: free to start. Lite is $79 a month, Silver $299 a month and Gold $499 a month. It can be deployed in Pandaflow’s cloud or in yours. For details, see pricing.
How do you set it up, and what do you see once it runs?
Setup follows five steps:
- Request setup.
- A short call about what you sell and how your books are kept.
- Pandaflow builds the sync and tests it on real records.
- Go live.
- The agent keeps it running.
Bring these to the call:
- Your gateway names.
- Your chart of accounts, especially Undeposited Funds or any clearing account, fee expense and gift card liability.
- Your tax approach: which plugin or service calculates it, and which QuickBooks tax code you use.
- Whether you want per-order or daily posting.
After go-live, entries land in the mapped accounts, each payout matches a bank deposit, and the clearing balance falls back to near zero. Anything that does not match is flagged for review.
What can go wrong
- Plain permalinks block the Intuit connector. Switch to a pretty structure first.
- Gateway-side refunds never reach the order. Make refunds in WooCommerce where the sync can see them, or make sure the payout is read.
- Missing fees overstate revenue. Confirm whether your gateway writes fees to the order.
- Double tax appears when QuickBooks recalculates on top of WooCommerce tax lines. Map to the liability account and disable recalculation.
- Gift card redemptions counted as sales happen when the card is mapped to income. Map to a liability.