Answers · E-commerce, Creators and US Sales Tax
How do I record PayPal and Stripe fees and payouts for tax?
Record the full amount a customer paid as revenue and the fee PayPal or Stripe deducted as a separate expense, rather than recording only the smaller net amount that actually lands in your bank account. Because payouts often batch several days of sales into one deposit, a clearing account is the cleanest way to bridge the gap between when a sale happens and when the cash arrives. The processor’s own fee is generally GST/HST-exempt as a financial service, which means no tax applies to it but also no input tax credit is available on it.
By the AnalytIQ Accounting team · Last reviewed: September 6, 2026
Why the net deposit is the wrong number to record
PayPal and Stripe both deduct their processing fee before the money ever reaches your bank account, so the deposit you see on your bank statement is already net of fees. Recording that net figure as your only entry understates both revenue and expenses by the same amount, which distorts your gross margin and can misstate GST/HST collected if the fee was taken out of a tax-inclusive sale before it was recorded.
The correct entry splits the transaction into two pieces: the full sale price a customer paid is revenue, and the processor's percentage-plus-fixed fee is a separate expense, typically categorized as merchant fees or payment processing fees. A $100 sale with a $3.20 Stripe fee is $100 of revenue and $3.20 of expense, not $96.80 of revenue with no expense recorded at all.
Using a clearing account to bridge the payout timing gap
Stripe and PayPal typically batch several days of individual sales into one lump-sum payout to your bank account, which means the payout deposit rarely matches any single sale you recorded. A clearing account, sometimes called an undeposited funds or payment processor holding account, solves this: individual sales post to the clearing account as they happen, and the batched payout is recorded as a transfer out of that account into your bank account once it lands.
When set up correctly, the clearing account's balance represents money processed but not yet paid out, and it should reconcile close to zero on a regular basis once payouts catch up to sales. A clearing account balance that keeps growing without ever clearing usually signals a mismatch between recorded sales and actual payouts that is worth tracking down before it compounds.
Handling foreign exchange on USD balances
A Canadian seller who accepts USD payments through Stripe or PayPal often holds a USD balance inside the processor before converting it to Canadian dollars, and the exchange rate used at conversion rarely matches the rate in effect when the original sale happened. That gap creates a small foreign exchange gain or loss that belongs in your books as its own line, separate from the sale and the processing fee, following the same USD tracking approach described in how to record USD transactions in Canadian books.
Where a business keeps a running USD balance rather than converting immediately, that balance should be revalued periodically at the current exchange rate, since an uncorrected balance carried at an old rate understates or overstates its true Canadian-dollar value over time.
Why GST/HST does not apply to the processing fee
PayPal and Stripe fees are generally treated as financial services for GST/HST purposes, which are exempt rather than taxable or zero-rated. That means no GST/HST is charged on the fee itself, but it also means a registered business gets no input tax credit on that portion of the cost, unlike most other business expenses where the GST/HST paid can be recovered. This is a narrow but easy-to-miss distinction: recording the fee correctly as an expense is still necessary, but do not expect to find GST/HST on the processor's invoice to claim back.
How often to reconcile
Reconciling PayPal and Stripe activity against your accounting software on a monthly cadence, at minimum, keeps the clearing account balance manageable and catches errors, chargebacks, or disputed transactions while the details are still easy to trace. A business with high transaction volume, many refunds, or multiple currencies often benefits from reconciling weekly instead, since a month of unreconciled activity across hundreds of small transactions is considerably harder to untangle after the fact than a week's worth.
Bank feeds versus dedicated app connectors
QuickBooks Online's standard bank feed pulls in the net payout as a single bank transaction, which is accurate for cash purposes but does not show the underlying gross sales and fees that made up that deposit. A dedicated connector app built specifically for Stripe or PayPal typically imports each individual sale, fee, refund, and payout separately, automating the split described above rather than requiring it to be reconstructed manually from payout reports. For a business with meaningful transaction volume, the cost of one of these connector apps is usually recovered quickly in the bookkeeping time it saves and the accuracy it adds.
A business with only a handful of transactions a month can often manage the split manually from the processor's own payout report without a dedicated connector, matching each line on the report to a sale and a fee by hand. Once volume grows past a level where that manual matching starts eating meaningful time each month, moving to a connector app or asking whoever does your bookkeeping to set one up is usually the more cost-effective choice.
Handling refunds and chargebacks correctly
A refund should reverse the original sale's revenue and, where GST/HST was charged, the tax collected on it, rather than simply being recorded as a new expense. Refunds processed through Stripe or PayPal usually also come with a partial or full refund of the original processing fee, which needs its own entry rather than being ignored, since assuming the full original fee still applies after a refund overstates that expense. A chargeback, where a customer disputes a charge with their card issuer rather than requesting a refund through the seller, typically comes with an additional chargeback fee on top of losing the original sale, and that fee is a separate expense worth tracking on its own line so repeated chargebacks are visible rather than buried inside general processing fees. Where the refunded order involved physical inventory, the cost of that unit needs its own reversal too, following the same logic covered in how to account for inventory and cost of goods sold.
How we set this up for clients
We build a clearing account into the chart of accounts from the start, connect the right app or reconciliation process for each payment processor a client uses, and reconcile gross sales, fees, and payouts on a schedule matched to the client's transaction volume. Our e-commerce accounting page covers the payment processor bookkeeping we set up for online sellers.
Related questions.
Can I just record the net PayPal deposit and skip tracking the fee separately?
It is possible but not accurate; it understates both revenue and expenses by the fee amount and can misstate the GST/HST you actually collected, so recording revenue and fees separately is the correct approach even though it takes an extra step.
Do I charge GST/HST on the fee Stripe or PayPal charges me?
No, the fee itself is not something you charge tax on; it is generally an exempt financial service on the processor's side, and it simply gets recorded as a business expense on yours, with no input tax credit available on that portion.
Why does my clearing account balance never reach exactly zero?
A small residual balance is normal because there is almost always some sales activity that has happened but has not yet been included in a payout; a balance that grows steadily larger over time, rather than fluctuating around a small number, usually points to a reconciliation gap.
Related reading
Still have questions?
Not sure your payout reconciliation is accurate.
A short discovery call gets you a specific answer and a fixed quote — no hourly meter.