UsefulBox guide · three-source gross-to-net comparison
How to Investigate WooCommerce, Stripe, and Xero Clearing Residuals
Compare WooCommerce gross sales, Stripe settlement movements, and Xero or bank payouts to isolate clearing-account residuals without account writeback.
The three sources answer different questions
WooCommerce describes orders and gross sales. Stripe describes payment and settlement movements. Xero or the bank describes the deposited amount. A clearing residual appears when those populations, identifiers, dates, or movement types do not line up.
- WooCommerce side: order date, gross total, currency, order ID, and payment transaction ID where available.
- Stripe side: charge, fee, refund, dispute, adjustment, net, availability date, and payout allocation.
- Xero or bank side: payout date, amount, currency, and settlement reference.
Match identifiers before comparing totals
Transaction ID is normally the strongest bridge, followed by order ID. When neither exists, aggregate comparison by date and currency can show a difference but cannot prove row-level identity.
Keep unmatched WooCommerce orders, unmatched Stripe sales, and unmatched payouts in separate lists. Combining them into one residual hides the source of the difference.
Use the result as a review aid
The final pack should present gross-sales difference, Stripe payout residual, unmatched identifiers, cross-period movement, and data-quality warnings. A bookkeeper or accountant can then confirm whether the difference represents timing, incomplete exports, duplicate data, fees, refunds, disputes, or another treatment outside the tool.
Build the review pack in your browser
Upload CSV or XLSX exports, confirm the field mappings, and export a normalized ledger, payout bridge, unmatched list, cross-period movements, and warnings.
Build a reconciliation pack