The most popular small business accounting software with invoicing, expense tracking, payroll, and tax preparation features.
Full ReviewAn open-source e-commerce plugin for WordPress that powers over 30% of all online stores worldwide.
Full ReviewIntegrating QuickBooks with WooCommerce automates the transfer of ecommerce sales data from your WordPress store into your accounting system. Instead of manually entering orders, refunds, and tax data into QuickBooks, the integration creates sales receipts, invoices, and expense entries automatically. For WooCommerce store owners who do their own bookkeeping, this can save hours per week and eliminate costly data entry mistakes.
Several WordPress plugins and third-party connectors bridge WooCommerce and QuickBooks Online. Popular options include MyWorks Sync, WP Swings' integration plugin, and Zapier-based workflows. There is no single "official" connector from Intuit for WooCommerce specifically, so the ecosystem relies on third-party solutions that use the QuickBooks Online API (/v3/company/{companyId}/) to post transactions.
The most important factor in choosing a connector is how it handles the mapping between WooCommerce orders and QuickBooks entries. WooCommerce orders include product line items, tax, shipping, discounts, payment gateway fees, and refunds — all of which need to be correctly categorized in your QuickBooks chart of accounts for accurate financial reporting.
| Method | Difficulty | Features |
|---|---|---|
| MyWorks Sync Plugin | Easy | Real-time order sync, product/inventory sync, customer sync, tax mapping |
| Zapier | Easy | Triggers: New Order, Order Status Changed. Actions: Create Sales Receipt, Create Customer |
| WP Swings Integration | Medium | Bulk sync, field mapping, scheduled sync intervals |
| API | Advanced | WooCommerce REST API + QuickBooks Online API v3 for fully custom accounting flows |
In WordPress Admin, go to Plugins > Add New and search for "QuickBooks WooCommerce." Install your chosen connector plugin. MyWorks Sync is the most widely used with support for both QuickBooks Online and QuickBooks Desktop. Activate the plugin and navigate to its settings page.
In the plugin settings, click Connect to QuickBooks. Sign in with your Intuit account credentials and select the QuickBooks company file to link. Authorize the plugin to read and write transactions, customers, and items. The OAuth 2.0 connection uses Intuit's authorization server and generates a refresh token that keeps the connection alive.
Configure the chart of accounts mapping. At minimum, map: product sales to an Income account (e.g., "Product Revenue"), shipping charges to a separate Income account (e.g., "Shipping Income"), tax collected to a Liability account (e.g., "Sales Tax Payable"), discounts to an Income or contra-revenue account, and payment gateway fees to an Expense account (e.g., "Merchant Fees").
Decide whether WooCommerce products should sync to QuickBooks as items. If you track cost of goods sold (COGS) or inventory in QuickBooks, enable product sync and map each WooCommerce product to a QuickBooks item. For simpler setups, map all sales to a single QuickBooks service item called "WooCommerce Sale" to avoid maintaining a parallel product catalog.
Choose how WooCommerce customers map to QuickBooks customers. Options include creating a new QuickBooks customer for each WooCommerce customer, or grouping all sales under a single "WooCommerce Customers" entry. Individual customer mapping is better for B2B stores; aggregated mapping works for high-volume B2C stores where you do not need per-customer QuickBooks records.
Process a test order in WooCommerce and verify it appears correctly in QuickBooks. Check that the Sales Receipt or Invoice has the correct line items, tax amounts, and account categorization. Compare the QuickBooks entry total to the WooCommerce order total. Resolve any mapping issues before enabling automatic real-time sync.
| Data Type | From WooCommerce | To QuickBooks | Direction |
|---|---|---|---|
| Orders | Order details with line items | Sales Receipts or Invoices | WooCommerce to QuickBooks |
| Refunds | Refund records | Refund Receipts or Credit Memos | WooCommerce to QuickBooks |
| Customers | Customer billing/shipping data | Customer records | WooCommerce to QuickBooks |
| Products | Product catalog | Products & Services items | Two-way (optional) |
| Inventory | Stock quantities | Item quantities on hand | Two-way (optional) |
A WooCommerce store using WooCommerce Tax or TaxJar collects the correct sales tax rate for each jurisdiction. The QuickBooks integration maps these tax amounts to the appropriate QuickBooks tax agency and liability account. At tax filing time, the QuickBooks Sales Tax Liability report accurately reflects what was collected by jurisdiction, eliminating manual tax reconciliation.
With bidirectional inventory sync enabled, QuickBooks tracks real-time stock levels as WooCommerce orders reduce quantities. When a QuickBooks item hits its reorder point, a purchase order can be generated automatically for the supplier. Stock received against purchase orders in QuickBooks updates WooCommerce inventory, keeping the storefront accurate.
QuickBooks Online OAuth tokens expire and need refreshing. Most connector plugins handle this automatically, but server-level issues (cron jobs not running, PHP timeouts) can prevent token refresh. In WordPress, verify WP-Cron is running by going to Tools > Site Health and checking for scheduled event warnings. If using a server-side cron instead of WP-Cron, ensure it fires at least once per hour.
Differences in tax calculation rounding between WooCommerce and QuickBooks can cause small discrepancies. WooCommerce may round tax per line item, while QuickBooks rounds on the transaction total. Configure both platforms to use the same rounding method. In WooCommerce, check Settings > Tax > Enable tax rounding at subtotal level to match QuickBooks' behavior.
Most connector plugins require a paid subscription ($15-$40/month) for real-time sync and full features. Free versions typically offer manual sync only. QuickBooks Online has API rate limits (500 requests per minute per connection) that can throttle high-volume stores during peak sales. WooCommerce's flexible product types (variable products, bundles, composite products) do not always map cleanly to QuickBooks' simpler item model. Partial refunds in WooCommerce can create complex QuickBooks entries that require manual review. QuickBooks Desktop integration (non-Online) typically requires a local sync agent running on the same machine as the QuickBooks Desktop application.
These platforms can help you connect QuickBooks and WooCommerce without writing code: