← Back to the blog

How to record Stripe taxes in QuickBooks Online

Step-by-step: record Stripe Tax, VAT and sales tax in QuickBooks Online — manually with Stripe reports, or automatically with sush.io.

By sush.io team ·

Stripe tells your customers one number (tax included). QuickBooks wants two — net revenue and tax, each on the right line, against the right tax code. Here’s how to bridge the two: first by hand with Stripe’s reports, then automatically.

What Stripe gives you to work with

Before recording anything, it helps to know where tax data actually lives in Stripe:

  • Per-transaction tax amounts and rates. If you use Stripe Tax, every charge carries the tax that was computed and collected — amount, rate, and jurisdiction.
  • Payout reports. Each payout aggregates charges, refunds and Stripe fees over a period. This is what actually hits your bank account.

The key thing to internalize: a payout is not revenue. It’s revenue minus fees minus refunds — with tax buried inside the gross amounts. Book the payout as income and you’ve understated sales, hidden your fees, and lost your tax detail in one move.

Method 1: recording Stripe taxes manually

If you only have a handful of charges per month, the manual route is workable. Here’s the process:

1. Export the payout reconciliation report. In Stripe, download the payout reconciliation report for the period you’re recording. It lists every charge, refund and fee behind each payout.

2. Split each payout into its parts. Separate gross sales, refunds, and Stripe fees. Each belongs to a different account in QuickBooks — income, contra-revenue (or refunds), and expenses.

3. Separate net revenue from collected tax. For every charge, split the gross amount into net revenue and tax. Watch out for tax-inclusive pricing: a $2,000.00 charge with $4.06 of tax is $1,995.94 of revenue, not $2,000.00.

4. Create the entry in QuickBooks. Post net sales to your income account and tax to the correct QuickBooks tax code — not a plain “Tax” expense line. QuickBooks builds your tax return from tax codes; an untyped tax line is invisible to your filing.

5. Match against the bank deposit. The net amount of your entry should match the payout that landed in your bank account, to the cent. If it doesn’t, something in steps 2–4 is off.

Where the manual method breaks

The process above is honest work — and it degrades quickly as volume grows:

  • Tax-inclusive rounding. Converting gross to net per charge produces rounding differences that accumulate across a payout.
  • Multiple rates in one period. GST vs. HST vs. zero-rated supplies, or different US state rates, each need their own tax code — one spreadsheet column won’t do.
  • Refunds landing in a later period. A charge in March refunded in April touches two filings, and the tax has to move with it.
  • Currency conversion. Multi-currency charges add a conversion layer between what the customer paid and what your books record.
  • Volume. At 200 charges a month you’re looking at hours of spreadsheet work — and one mistyped tax line breaks the return it feeds into.

Every one of these errors surfaces at filing time, when it’s most expensive to fix.

Method 2: syncing Stripe taxes automatically

This is the problem sush.io was built for. It runs the same process — daily, without the spreadsheet:

  • Tax codes matched to your QuickBooks setup. Stripe tax rates and amounts land on the correct QBO tax code automatically.
  • Gross rebalanced to net. Tax-inclusive totals are converted to net revenue with tax posted at the transaction level (GlobalTaxCalculation: TaxExcluded), so QuickBooks computes and reports tax the way your accountant expects.
  • Country-aware. US sales tax, Canadian GST/HST with zero-rated supplies, VAT — handling follows your QuickBooks company country, including a dedicated French VAT mode.
  • Nothing invented. If Stripe reports no tax on a transaction, none is applied. Your books only contain tax that was actually collected.
  • History included. Sync past months in one go, so prior filings reconcile too — no row limits, no extra charge.

See exactly how tax sync works → Stripe Tax in QuickBooks, with the right codes

And because taxes are only part of the picture, the same daily sync reconciles your Stripe payouts, fees and refunds into QuickBooks — the details are in the documentation.

Manual vs. automated: a quick comparison

Manual (Stripe reports) Automated (sush.io)
Time per month Hours, growing with volume Zero — daily sync
Tax codes Typed by hand, per line Matched automatically
Gross → net conversion Manual, rounding-prone Rebalanced per transaction
Historical data Re-do the whole process One-off full-history sync
Cost Your evenings $7.40/month flat

Frequently asked questions

Does this work with Stripe Tax? Yes — tax amounts and rates computed by Stripe Tax are read from each transaction and posted with the matching QuickBooks tax code.

What if a charge has no tax? Then no tax is recorded. Automated sync never estimates or adds tax on its own — your books only show tax that was actually collected.

Can I fix past periods? Yes. Historical sync covers months or years of past Stripe data, so prior filings reconcile without redoing the spreadsheet work.


If you’d rather never open a payout reconciliation report again: start a free trial — setup takes about three minutes, no credit card required.