The most popular small business accounting software with invoicing, expense tracking, payroll, and tax preparation features.
Full ReviewThe WooCommerce and QuickBooks integration automatically syncs your WordPress ecommerce store's orders, customers, products, and tax data with your QuickBooks Online accounting software. This eliminates manual bookkeeping by ensuring every WooCommerce sale is recorded in QuickBooks as a proper financial transaction. Several WordPress plugins facilitate this connection, with the most popular being MyWorks Sync and Zapier.
Once connected, WooCommerce orders are synced to QuickBooks as sales receipts or invoices, complete with line items, tax amounts, shipping charges, and discount details. Customer records are created or matched automatically, and product inventory can optionally sync between both platforms. Refunds processed in WooCommerce are reflected in QuickBooks as credit memos or refund receipts.
This integration is critical for WooCommerce store owners who need accurate financial records for tax filing, bookkeeping, and business analysis. Without it, you would need to manually enter each sale into QuickBooks or hire a bookkeeper to do so, which is both expensive and error-prone at scale.
In WordPress, go to Plugins > Add New and search for "WooCommerce QuickBooks." The top option is MyWorks Sync for WooCommerce and QuickBooks, which offers a free version with basic syncing and a premium version with real-time sync. Install and activate your chosen plugin. Alternatively, you can use Zapier to connect WooCommerce to QuickBooks without a dedicated plugin.
In your WordPress admin, find the plugin's settings page (e.g., MyWorks Sync > Connection). Click Connect to QuickBooks. A popup will open where you sign in to your Intuit/QuickBooks account. Select the QuickBooks company file you want to connect and click Authorize. The plugin will confirm the connection and display your QuickBooks company name.
Navigate to the plugin's Map or Settings section. Configure where WooCommerce revenue should be recorded in QuickBooks. Map Product Sales to your product income account (e.g., "Sales of Product Income"), Shipping Charges to a shipping income account, Discounts to a discounts contra-revenue account, and Fees (like payment processing fees) to an expense account.
Map WooCommerce tax rates to QuickBooks tax codes. If you use WooCommerce's built-in tax calculation, the plugin needs to know which QuickBooks sales tax item or tax rate corresponds to each WooCommerce tax rate. For stores using Tax-inclusive pricing, configure the plugin to handle gross vs. net amounts correctly. This step is critical for accurate tax reporting.
Set how orders should be created in QuickBooks. Choose between Sales Receipts (for immediate payment — standard for online retail) and Invoices (for B2B or wholesale where payment is received later). Set the sync method: real-time (each order syncs immediately when placed) or batch (orders sync on a schedule, such as hourly or daily). Choose a sync start date — typically the start of your current fiscal period.
Set up customer record syncing. The plugin can create a new QuickBooks customer for each WooCommerce customer, match existing customers by email address, or sync all orders under a single generic customer record (simpler but less detailed). Email-based matching is recommended for most stores as it provides accurate per-customer reporting in QuickBooks without creating duplicates.
Trigger the initial sync to import historical orders. Start with a small date range (last 7 days) as a test. Check QuickBooks to verify orders appear correctly: amounts should match, taxes should be properly categorized, and customers should be correctly created or matched. Once verified, expand the sync date range to cover your full desired history.
Most plugins support configuring: product mapping (each WooCommerce product to a QuickBooks item, or a single generic item), inventory sync (two-way quantity tracking), payment method mapping (which QuickBooks payment method to use for each WooCommerce payment gateway), and refund handling (automatic creation of credit memos or refund receipts when WooCommerce refunds are processed). Advanced plugins also support multi-currency transactions and class/location tracking in QuickBooks.
| Data | Direction | Frequency |
|---|---|---|
| Orders (as sales receipts/invoices) | WooCommerce to QuickBooks | Real-time or batch |
| Customer records | WooCommerce to QuickBooks | On order sync |
| Product/item records | WooCommerce to QuickBooks | On order sync |
| Tax amounts | WooCommerce to QuickBooks | Per order |
| Refunds | WooCommerce to QuickBooks | On refund processing |
| Inventory quantities (optional) | Two-way | Periodic |
Check the plugin's sync log for error messages. Common causes include: unmapped tax rates (the plugin cannot find a matching QuickBooks tax code), product names with special characters that QuickBooks rejects, or the QuickBooks API connection timing out. Fix the mapping issue and re-sync the failed orders.
This happens when the same customer uses slightly different email addresses or when the matching logic fails. Review your customer sync settings and ensure email-based matching is enabled. Periodically merge duplicate customers in QuickBooks using Sales > Customers > Merge.
QuickBooks API tokens expire periodically and must be refreshed. Most plugins handle this automatically, but if the connection drops, go to the plugin settings and click Reconnect or Reauthorize. Avoid changing your Intuit account password without re-authorizing the plugin afterward.
For stores with complex needs, premium sync plugins support: mapping WooCommerce product variations to separate QuickBooks items, syncing WooCommerce Subscriptions renewal orders, tracking cost of goods sold (COGS) by mapping product costs from WooCommerce to QuickBooks expense accounts, and using QuickBooks classes and locations to categorize revenue by sales channel, product category, or region. You can also use the WooCommerce REST API and QuickBooks API together with a custom middleware to build bespoke sync logic for unique business requirements.