Connect WooCommerce to your QuickBooks Online company and start pushing orders across. Here's how to install the plugin, register a free Intuit developer app, connect with OAuth, map your item and tax codes, and sync your first order.
✓ Free on WordPress.org. This plugin writes to your live accounting company, so before you use it on real books, connect it to an Intuit sandbox or trial company first, run a few test orders, and confirm the sales look right in QuickBooks.
Upload the plugin zip and activate it.
Get a free Client ID & secret.
Sign in, then map item & tax.
Push an order to QuickBooks.
Demfilz Sync for QuickBooks connects your store to QuickBooks Online through the official Intuit Accounting API. The free Basic version lets you push an order to QuickBooks as a sale at the click of a button, syncs the customer, and pulls quantity-on-hand back for a product. The Pro version ($19.95/month via Stripe) adds automatic order sync, scheduled inventory, bulk backfill, refunds and per-tax-class rules.
You'll need: a WordPress site with WooCommerce 6.0+ and PHP 7.2+, and a QuickBooks Online company to connect to. You do not need a paid plugin licence to test — the free tier does the full connect-and-sync. To have a company you can use a free QuickBooks Online trial, or the free Intuit sandbox company that comes with every developer account.
Plugins → Add New and search for Demfilz Sync for QuickBooks, then click Install Now and Activate.Plugins → Add New → Upload Plugin).WooCommerce → QuickBooks Sync.Intuit needs you to register a small "app" so it can issue you API keys. This is free and takes a couple of minutes.
https://your-store.com/wp-admin/admin.php?page=dwtq&dwtq_action=oauth_callback).https, no trailing slash) to the app's Redirect URIs.Tip: Intuit requires an https callback, so test on a real (staging) site with a valid SSL certificate rather than localhost. One Intuit app can hold several redirect URIs, so you can add both a staging and a live store to the same app.
Open any WooCommerce order. In the QuickBooks Sync box, click Sync to QuickBooks. The plugin creates or matches the customer, posts the sale against your mapped item and tax codes, and stores the QuickBooks reference on the order so it's never duplicated. Open the sale in QuickBooks to confirm the totals. The Logs tab records every attempt.
To pull stock, edit a product, open the Inventory tab, and click Pull stock from QuickBooks (matched by SKU; the QuickBooks item must track quantity on hand).
Upgrade on the Pro Licence tab ($19.95/month via Stripe — cancel anytime). Pro adds:
| Platform | QuickBooks Online (Production and Sandbox), via the official Intuit Accounting API (OAuth 2.0). QuickBooks Desktop is not supported. |
|---|---|
| Sale type | Posts as an Invoice (default), Sales Receipt or Estimate. Line totals are sent tax-exclusive and your QuickBooks tax codes are applied per line, so totals reconcile. |
| Customers | Matched in QuickBooks before creating, to avoid duplicate customers. |
| Idempotent | The QuickBooks sale id is stored on the order; re-syncing updates it rather than duplicating. |
| Security | OAuth tokens encrypted at rest; data sent to QuickBooks only on connect/sync. |
No. The free Basic tier does the full connect-and-sync (orders, customers, stock). You only need a QuickBooks Online company to point at — a free trial or the Intuit sandbox company is fine. The $19.95/mo Pro plan only unlocks automation.
No — this integrates with QuickBooks Online via the Intuit API. QuickBooks Desktop uses a different, local interface and isn't supported.
QuickBooks requires every line on a sale to reference a product/service item. The plugin posts your order lines against the item you choose, while keeping each line's own description and amount.
OAuth tokens are encrypted in your WordPress database, and order data is only sent to QuickBooks when you connect or sync. The plugin declares its use of the Intuit API as required for WordPress.org.
No. Customers are matched before being created, and each order stores its QuickBooks sale id — re-syncing updates the existing sale rather than making a new one.
Because it writes to your accounts, test on a sandbox or trial company first and eyeball the first few synced sales (totals, tax, item) in QuickBooks. Found something off? Let us know — we're happy to help.
This plugin is independent and not affiliated with, endorsed by, or sponsored by Intuit, QuickBooks, WooCommerce, Automattic or Stripe. Product names are trademarks of their respective owners.
Accounting integrations, payments, shipping or something custom — tell us what you need and we'll come back with a plan and a fixed quote.