Gifts

Culture

Reviews

Local Spots

How to Setup QuickBooks with WooCommerce (2026 Guide)

QuickBooks

QuickBooks

★★★★ 4.3
Accounting Finance Accounting

The most popular small business accounting software with invoicing, expense tracking, payroll, and tax preparation features.

Full Review

WooCommerce

Open-source e-commerce plugin for WordPress.

All WooCommerce Tools

Overview

The 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.

Prerequisites

  • A self-hosted WordPress site with WooCommerce installed and active
  • A QuickBooks Online account (Simple Start, Essentials, Plus, or Advanced)
  • WordPress admin access to install plugins
  • QuickBooks admin access to authorize the connection
  • An understanding of your QuickBooks chart of accounts and income categories

Step-by-Step Setup

Step 1: Choose and Install a Sync Plugin

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.

Step 2: Connect to QuickBooks Online

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.

Step 3: Map Income Accounts

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.

Step 4: Configure Tax Mapping

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.

Step 5: Configure Order Sync Settings

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.

Step 6: Configure Customer Syncing

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.

Step 7: Run Initial Sync and Verify

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.

Configuration Options

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.

What Syncs

DataDirectionFrequency
Orders (as sales receipts/invoices)WooCommerce to QuickBooksReal-time or batch
Customer recordsWooCommerce to QuickBooksOn order sync
Product/item recordsWooCommerce to QuickBooksOn order sync
Tax amountsWooCommerce to QuickBooksPer order
RefundsWooCommerce to QuickBooksOn refund processing
Inventory quantities (optional)Two-wayPeriodic

Best Practices

  • Set up the integration at the beginning of a fiscal quarter or year for the cleanest transition
  • Always test with a small batch of orders before syncing your full history — mapping errors are easier to fix when only a few records are affected
  • Create dedicated income accounts in QuickBooks for WooCommerce revenue so ecommerce sales are clearly separated in your financial reports
  • Reconcile monthly by comparing WooCommerce sales reports with QuickBooks income reports to catch discrepancies early
  • If using real-time sync, monitor the plugin's sync log regularly for failed transactions and resolve them promptly

Common Issues and Fixes

Orders Failing to Sync

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.

Duplicate Customer Records

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.

Connection Drops After QuickBooks Token Expires

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.

Advanced Configuration

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.

QuickBooks Full Review » | All WooCommerce Tools »