October 17, 2025
WooCommerce is a WordPress plugin — a shopping cart and order management system, not a payment processor. Like Ecwid, WooCommerce itself never holds or disburses funds. Every deposit in your bank arrives from whichever payment gateway the store uses: WooPayments (the native gateway, powered by Stripe), PayPal, Square, Stripe directly, Authorize.Net, or any of dozens of other supported gateways.
This is the most important fact to carry into every WooCommerce reconciliation engagement:
There is no "WooCommerce payout." Deposits in your bank are labeled by the gateway — "STRIPE PAYOUT," "PAYPAL INST XFER," "SQUARE INC" — never by WooCommerce.
WooCommerce charges no transaction fees. There are no WooCommerce-level per-transaction charges. Fees belong entirely to the gateway.
Multiple gateways can run simultaneously. A single WooCommerce store may accept WooPayments (cards), PayPal (PayPal balance), Afterpay, Klarna, and Stripe — each depositing independently. Each gateway requires its own clearing account and its own PayTraQer connector.
WooPayments is the native gateway. It is built into WooCommerce and powered by Stripe under the hood. Its payout mechanics, fee structure, and dispute process mirror Stripe's — but it is configured and managed inside the WooCommerce admin, not the Stripe dashboard.
Individual sync only in PayTraQer. PayTraQer syncs WooCommerce in individual (per-order) mode — one Sales Receipt per order with itemized products, shipping, discounts, and taxes. There is no consolidated summary mode.
Most WooCommerce merchants use WooPayments as their primary or only gateway. Understanding its mechanics before configuring PayTraQer prevents the most common reconciliation errors.
WooPayments uses a pay-as-you-go model with no monthly or setup fees. Fees are deducted directly from each payment before it reaches your WooPayments balance.
Transaction Type | US Fee | Notes |
Domestic card (US-issued) | 2.9% + $0.30 | Standard online card rate |
International card | 3.9% + $0.30 | Customer's card issued outside the US |
Currency conversion | +2.00% additional | If customer pays in a currency different from your payout currency |
BNPL (Afterpay/Affirm) | 6.0% + $0.30 | No dispute fee applies to BNPL |
Dispute / chargeback | $15.00 flat fee | Refunded automatically if you win the dispute |
Fees are never refunded when you issue a refund to a customer. If a $100 order is fully refunded, the 2.9% + $0.30 fee is permanently lost. This must be recorded as an expense in QBO regardless of the refund.
Australian merchants pay 1.75% + $0.30 for domestic cards, plus 10% GST on the fee itself. European merchants pay 1.5% + €0.25 with VAT on fees varying by country. Always verify country-specific rates on the official WooPayments Fees documentation page.
WooPayments does not release funds immediately. Money flows through two stages:
Pending funds: The period between a successful payment and when funds become available. For US merchants this is 2 business days. For other countries it varies (e.g., Singapore: 7 calendar days).
Available funds: Once the pending period is complete, funds move to available and are paid out per the merchant's schedule — daily, weekly, or monthly.
New accounts have an additional 7-day waiting period on their first payout. This cannot be waived.
For reconciliation: The payout date is 2+ business days after the order date for US merchants. A Friday order lands in your bank the following Tuesday. This lag means a sale recorded in QBO on Friday will match a bank deposit on Tuesday — the clearing account absorbs this timing difference.
When a customer disputes a WooPayments transaction:
The full disputed amount plus the $15 dispute fee are immediately debited from your WooPayments account balance.
You have a limited window (typically 7 business days) to respond with evidence through the WooCommerce admin or WooPayments dashboard.
If you win, both the disputed amount and the $15 fee are credited back to your account.
If you lose (or do not respond), the disputed amount goes to the customer and the $15 fee is kept by the card network.
Both the debit (when dispute is opened) and the credit (if you win) must be recorded in QBO through the clearing account.
Transaction Type | Direction | What It Is | QBO Target |
Product Sale | Credit | Customer payment for product | Income → WooCommerce Sales |
Shipping Charged | Credit | Shipping fee collected at checkout | Income → WooCommerce Shipping Income |
Discount Applied | Debit | Coupon or promotional discount | Contra-Revenue → WooCommerce Discounts |
Sales Tax Collected | Credit | Tax collected per WooCommerce tax config | Liability → Sales Tax Payable |
Full Refund | Debit | Complete order reversal | Contra-Revenue → WooCommerce Refunds |
Partial Refund | Debit | Partial reversal on one or more items | Contra-Revenue → WooCommerce Refunds |
Transaction Type | Direction | What It Is | QBO Target |
Processing Fee | Debit | Gateway fee deducted per captured order | Expense → [Gateway] Processing Fees |
Non-refunded Fee on Refund | Debit | Fee kept by gateway when order is refunded | Expense → [Gateway] Processing Fees |
Payout / Transfer | Debit | Net funds sent to bank account | Bank Transfer → Checking Account |
Dispute Debit | Debit | Disputed amount + dispute fee removed | Expense → [Gateway] Chargebacks |
Dispute Win Credit | Credit | Disputed amount + dispute fee returned | Contra → [Gateway] Chargebacks |
Currency Conversion Fee | Debit | Additional % if payout currency ≠ sale currency | Expense → [Gateway] FX Fees |
Create one Bank-type clearing account in QBO for each active payment gateway in the WooCommerce store:
Gateway | Clearing Account Name |
WooPayments | WooPayments Clearing |
Stripe (direct) | Stripe Clearing |
PayPal | PayPal Bank Account |
Square | Square Clearing |
Authorize.Net | Authorize.Net Bank Account |
How to create each:
QBO → Accounting → Chart of Accounts → New
Account Type: Bank
Detail Type: Checking
Name: as above
Save and Close
If the store uses only WooPayments, one clearing account is sufficient.
Account Name | Type | Purpose |
WooCommerce Sales | Income | Product revenue from all WooCommerce orders |
WooCommerce Shipping Income | Income | Shipping charged to customers |
WooCommerce Discounts | Income (contra) | Coupon and promotional discounts |
WooCommerce Refunds | Income (contra) | Full and partial order refunds |
[Gateway] Processing Fees | Expense | Per-transaction gateway fees (one per gateway) |
[Gateway] Chargebacks | Expense | Dispute losses per gateway |
[Gateway] FX Fees | Expense | Currency conversion fees (if applicable) |
Sales Tax Payable | Other Current Liability | Sales tax collected from customers |
From WooCommerce Admin:
Orders report: WooCommerce → Reports → Orders (or export CSV from WooCommerce → Orders). This is the source of truth for all order amounts, taxes, shipping, and discounts.
Refunds report: Filter orders by "Refunded" status for the period.
From WooPayments (if applicable):
WooPayments → Transactions: Lists all captured payments, fees, refunds, and disputes.
WooPayments → Payouts: Lists all payouts sent to your bank with exact amounts and dates.
From each third-party gateway:
Pull the same payout and transaction reports as described in the respective gateway articles (Stripe Balance Transactions CSV, PayPal Monthly Statement, Square Deposit Report, etc.).
PayTraQer → Connectors → + Add New → E-commerce Platforms → WooCommerce
Enter your WooCommerce store URL
Authorize PayTraQer via the WooCommerce REST API (PayTraQer generates a consumer key/secret automatically or you can use your own)
PayTraQer automatically downloads the past 60 days of orders on first connection
For older data: use Download Historical Transactions with a custom date range
After connecting WooCommerce, connect each active payment gateway:
PayTraQer → Connectors → + Add New → Payment Platforms → [WooPayments / Stripe / PayPal / Square / etc.]
Complete gateway-specific authorization
For stores with multiple gateways, connect each one separately
Key rule: The WooCommerce connector handles order data (sales receipts). The gateway connector handles payment data (fees and payout transfers). Both must be configured to point to the same clearing account for each respective gateway.
Navigate to PayTraQer → Settings → WooCommerce:
Sales Settings:
Bank Account to Deposit: WooPayments Clearing (or the relevant gateway clearing account if the store uses only one gateway)
Income Account: WooCommerce Sales
Customer: Common Customer (WooCommerce Customer) — recommended to prevent hundreds of individual customer records in QBO
Payment Method: WooCommerce (or the gateway name)
Products & Services Settings:
Common Product/Service: ON (recommended for most stores)
Item Name: WooCommerce Sale
Income Account: WooCommerce Sales
Auto-Create Products: Use only if you need per-SKU revenue tracking and have a small, stable catalog. Match by SKU for reliability.
Shipping Settings:
Shipping Item: WooCommerce Shipping
Income Account: WooCommerce Shipping Income
Bank Account: same clearing account as Sales
Discount Settings:
Discount Item: WooCommerce Discount
Account: WooCommerce Discounts (contra-revenue)
Tax Settings:
Map each WooCommerce tax class (e.g., "Standard Rate 8.25%", "Reduced Rate") to the corresponding QBO Sales Tax Payable account or tax agency rate
PayTraQer syncs the exact tax amount per order from WooCommerce — no estimation
Configure each gateway connector with:
Sales Bank Account: Same clearing account used in WooCommerce Sales Settings (e.g., WooPayments Clearing)
Fees Account: WooPayments Processing Fees (expense)
Payout Settings: Process the Payout toggle → ON; Transfer Account → Business Checking
Multi-gateway stores: If the store accepts WooPayments AND PayPal, configure:
WooCommerce connector → map WooPayments orders to WooPayments Clearing, PayPal orders to PayPal Bank Account
WooPayments gateway connector → maps fees/payouts to WooPayments Clearing
PayPal gateway connector → maps fees/payouts to PayPal Bank Account
PayTraQer can route individual orders to different clearing accounts based on the payment method recorded on each WooCommerce order.
PayTraQer → Connectors → WooCommerce → Transactions Dashboard
Set the date range for your target period
Click Download Transactions — PayTraQer pulls all completed WooCommerce orders
Review the Not Synced tab:
Each order shows the correct clearing account as deposit account
Shipping lines map to WooCommerce Shipping Income
Discount lines map to WooCommerce Discounts (negative amount)
Tax lines map to Sales Tax Payable
Click Sync to QuickBooks
Gateway transactions (fees and payouts) are downloaded and synced separately from the gateway connector's dashboard. Verify and sync these in the same date range.
PayTraQer automatically detects duplicate transactions. If an order has already been synced, PayTraQer shows an error and stops — it does not create a second Sales Receipt. If you see a "Duplicate" flag for a WooCommerce order, the entry already exists in QBO. Do not force-sync it.
QBO → Accounting → Chart of Accounts → [Gateway] Clearing Account → View Register
Expected entries:
Individual Sales Receipts per order (product, shipping, discount, tax as line items)
Fee expense entries per order (from the gateway connector)
Bank Transfers to Checking (payouts, from the gateway connector)
Running balance approaching $0 after each gateway payout clears
PayTraQer → Settings → Automation → Enable Auto-Sync for both the WooCommerce connector and each gateway connector. Auto-sync runs in the background and keeps QBO current without manual downloads.
When a WooPayments (or other gateway) payout arrives in your bank account:
QBO → Banking → For Review (Business Checking)
Find the deposit — labeled by the gateway ("STRIPE PAYOUT," "PAYPAL INST XFER," "SQUARE INC")
PayTraQer created a Bank Transfer from [Gateway] Clearing → Checking for the exact net amount — QBO will suggest a green Match
Click Match
Never click "Add." The deposit is already accounted for via the clearing account. Clicking Add creates a duplicate income entry.
Payout timing lag: WooPayments US deposits arrive 2 business days after the order. A Friday order deposits Tuesday. The bank deposit will not appear until Tuesday, but the Sales Receipt and fee were already posted to the clearing account on Friday. This is normal — the clearing account holds the balance during the lag period.
Create one bank rule per gateway to speed up future matching:
Rule condition | Action |
Description contains "STRIPE" or "WOOPAYMENTS" | Transfer from WooPayments Clearing |
Description contains "PAYPAL" | Transfer from PayPal Bank Account |
Description contains "SQUARE" | Transfer from Square Clearing |
For each active gateway:
QBO → Accounting → Reconcile
Select: [Gateway] Clearing Account (e.g., WooPayments Clearing)
Ending Balance: The gateway's closing account balance on the last day of the period (from WooPayments → Overview, Stripe Dashboard, PayPal balance, etc.). If all payouts have cleared, this is typically $0.00.
Ending Date: Last day of the period
Check off all Sales Receipts (order amounts), fee entries, refund entries, chargeback entries, and Bank Transfers to Checking
Difference must read $0.00
Finish Now → save the reconciliation PDF
After clearing accounts are reconciled, run the standard bank account reconciliation. All matched gateway transfers will already be cleared.
WooCommerce supports both manual and automated tax configuration. PayTraQer syncs the exact tax amount per order as an itemized line on each Sales Receipt.
Key rules:
Map every WooCommerce tax class to Sales Tax Payable in PayTraQer Tax Settings before the first sync. Unmapped taxes may default to an income account.
For US sellers, verify whether WooCommerce Tax (Automattic's automated tax service) or a third-party plugin (TaxJar, Avalara) is calculating tax. Whichever calculates it, PayTraQer syncs the final tax amount from the order record — the source of calculation does not affect the sync.
WooPayments does not remit tax on your behalf. Unlike Amazon or Walmart (marketplace facilitators), WooCommerce is a self-hosted platform. You are responsible for collecting and remitting all sales tax to the relevant tax authorities. All tax synced to Sales Tax Payable is your liability.
For international merchants with VAT: map each VAT rate to the appropriate QBO tax account. WooPayments charges VAT on its own fees in many countries (e.g., 10% GST in Australia, 20% VAT in France). This fee VAT is an input tax credit — map it to a separate WooPayments Fee VAT (ITC) account for BAS/VAT return purposes.
When a chargeback is opened:
WooPayments immediately debits the disputed order amount + $15 dispute fee from your WooPayments balance
PayTraQer syncs this as a negative entry in the WooPayments Clearing account:
Debit: WooPayments Chargebacks (expense) — full disputed amount
Debit: WooPayments Processing Fees (expense) — $15 dispute fee
Credit: WooPayments Clearing (net reduction in clearing balance)
If you win the dispute: WooPayments credits both amounts back. PayTraQer syncs the reversal — debit WooPayments Clearing, credit WooPayments Chargebacks and WooPayments Processing Fees
If you lose: the entries stand as-is; no reversal needed
Do not record a chargeback by creating a Refund Receipt in QBO. A chargeback is not a voluntary refund — it is a forced debit from the gateway. Using a Refund Receipt creates a double deduction (the original chargeback debit + the Refund Receipt).
Scenario | Root Cause | Fix |
Bank deposit labeled "STRIPE" — not "WooCommerce" | WooPayments is powered by Stripe; deposits appear as Stripe in bank statements | Expected behavior. Match to WooPayments Clearing Transfer using the exact net amount. |
Sales Receipts in QBO have no fee lines | WooCommerce connector created order Sales Receipts but WooPayments/gateway connector is not connected or not synced | Connect and sync the gateway connector. Fees come from the gateway connector, not the WooCommerce connector. |
Payout timing gap creates unmatched bank deposit | WooPayments deposits 2 business days after order; Sales Receipt and payout Transfer in QBO were created on order date | Normal. The clearing account holds the balance during the lag. The Transfer matches the deposit when it arrives. |
Multiple gateways mixing into same clearing account | PayPal and WooPayments orders both mapped to WooPayments Clearing | Create separate clearing accounts per gateway. Route each order to the correct clearing account based on payment method. |
Shipping charged to customer not synced | Shipping item not configured in PayTraQer Products & Services Settings | Configure Shipping Item → WooCommerce Shipping Income → Bank = same clearing account → re-sync affected orders. |
Discount not reducing income | Discount item not mapped in PayTraQer | Map Discount Item → WooCommerce Discounts (contra-revenue) → re-sync. |
Sales tax posting to income, not liability | Tax mapped to income account in PayTraQer Tax Settings | Remap all tax classes → Sales Tax Payable → rollback and re-sync the affected period. |
Processing fee charged even on refunded order | WooPayments (and most gateways) do not refund transaction fees when a refund is issued | Keep the fee expense entry as-is. It is a real, permanent cost. Record the refund as a separate WooCommerce Refund entry. |
Duplicate Sales Receipts in QBO | Same WooCommerce order synced in two overlapping date ranges | PayTraQer duplicate detection normally prevents this. If duplicates exist, use PayTraQer's Traceless Rollback to remove the duplicate sync batch and re-sync clean. |
Partial refund not appearing in PayTraQer | Partial refund processed in WooCommerce admin but not yet downloaded | In PayTraQer Transactions Dashboard, filter by Refunds → Download Transactions for refund date range → sync. |
WooPayments account balance went negative | Refunds and chargebacks exceeded incoming sales in the period; WooPayments debits your bank | Record the bank debit as a Transfer FROM Checking TO WooPayments Clearing. This replenishes the clearing account to cover the negative balance. |
Multi-currency orders showing wrong amounts | QBO Multi-Currency not enabled before sync | Enable Multi-Currency in QBO (Settings → Advanced → Currency). Assign correct home/foreign currency to each clearing account. Re-sync after enabling. |
WooCommerce subscription plugin orders | Recurring orders from WooCommerce Subscriptions plugin create new orders each billing cycle | Each recurring order syncs as a separate Sales Receipt — this is correct. If duplicates appear, check for duplicate gateway charge records overlapping with WooCommerce order records. |
WooCommerce Orders CSV exported and reviewed — all completed orders for the period identified
Refunded orders list confirmed — all refunds in the period identified by order number
WooPayments Payouts report pulled (if WooPayments used) — all payout amounts and dates noted
Third-party gateway reports downloaded per active gateway (Stripe CSV, PayPal statement, Square report, etc.)
All WooCommerce orders confirmed "Synced" in PayTraQer WooCommerce Transactions Dashboard — Error tab empty
All gateway transactions confirmed "Synced" in each gateway connector's Dashboard — Error tab empty
Shipping income mapped to WooCommerce Shipping Income — not lumped into product sales
Discounts mapped as contra-revenue — reducing gross income, not as a separate expense
Sales tax mapped to Sales Tax Payable — not appearing in income
All chargebacks and disputes accounted for — dispute fees recorded as expense, wins reversed
Each gateway bank deposit Matched (not Added) in QBO Banking For Review
Bank rules per gateway confirmed active — future deposits will auto-match
Each gateway clearing account reconciled — Ending Balance = gateway dashboard balance — Difference $0.00
Main bank account reconciled — all transfers cleared
P&L reviewed: WooCommerce Sales net of discounts; shipping tracked separately; gateway fees as distinct expense lines
Sales Tax Payable on Balance Sheet cross-checked against WooCommerce tax report
Reconciliation PDFs saved for all reconciled accounts.