Accounting
Ecommerce
Financial Management
Stripe Reconciliation: Matching Payouts, Fees and Refunds to Your Books

Last updated: October 7, 2026 · Independent guide · We do not sell rankings or coverage.
Stripe reconciliation is the process of proving that each Stripe deposit in your bank equals the sales you recorded, minus Stripe fees, refunds, disputes, currency conversion and other adjustments in the same batch. Payouts rarely match a day’s sales because Stripe settles US payments two business days later and deducts fees, refunds and chargebacks from the balance first. This guide follows a payment from the Stripe charge to the payout, the bank deposit and the general ledger, with the owner, controls and common failures at each stage.
The Stripe reconciliation process in eight stages
- Capture the charge and record the sale at gross in a Stripe clearing account.
- Record Stripe fees as an expense.
- Post refunds in the period you issue them.
- Track disputes until they close.
- Handle multi-currency payments and exchange differences.
- Tie each payout to its transactions.
- Match the bank deposit and post the journal entries.
- Close the month by agreeing the clearing account to Stripe.
The table shows typical owners for a small finance team (an illustration, not a Stripe requirement) and the control that proves each stage is complete.
| Stage | Responsible / Accountable | Key record | Control |
|---|---|---|---|
| 1. Charge | Billing or AR / Controller | Invoice or order, Stripe payment | Every payment carries an order or invoice ID in metadata |
| 2. Fees | Staff accountant / Controller | Balance transaction fee | Effective fee rate reviewed monthly |
| 3. Refunds | Support or AR / Controller | Refund record and approval | Refunds above a set amount need approval |
| 4. Disputes | AR / Controller | Dispute log | Open disputes agree to the chargebacks pending balance |
| 5. Multi-currency | Staff accountant / Controller | Exchange rate on each transaction | FX gains and losses posted separately from fees |
| 6. Payout | Staff accountant / Controller | Payout reconciliation report | Itemized total equals payout amount |
| 7. Bank deposit and GL | Staff accountant / Controller | Bank statement, journal entries | Every deposit matched to one payout |
| 8. Month-end close | Controller / CFO or owner | Clearing account reconciliation | Clearing balance equals Stripe ending balance, signed off |
Stage 1: Capture the charge and record it at gross
Billing or accounts receivable owns this stage. For each successful payment, debit the Stripe clearing account and credit revenue at the full amount paid, or credit accounts receivable if the payment settles an invoice. In QuickBooks Online and Xero the clearing account is usually a bank-type account.
The key control is a shared reference: the Payout reconciliation report can include metadata such as an order ID (Stripe Docs, Payout reconciliation report, no date shown), so every payment should carry the invoice or order number from your billing system. The most common failure is booking the net deposit as revenue, which understates sales, hides fees and leaves a gap to Form 1099-K, because Stripe reports gross volume on that form (Stripe Support, 1099-K tax forms, no date shown).
Reconciliation proves cash, not earned revenue; our guide to SaaS accounting for subscription revenue covers deferred revenue.
Stage 2: Record Stripe fees
Stripe’s standard US price is 2.9% plus 30 cents per successful domestic card transaction, with an extra 1.5% for international cards and 1% if currency conversion is required (Stripe Pricing, no date shown). There is no bill to enter, because each balance transaction shows the gross amount, the fee and the net, and Stripe defines net as amount minus fee (Stripe API reference, Balance Transaction object, no date shown).
Debit merchant fee expense and credit clearing, usually as one total per payout. What goes wrong is netting fees against revenue or missing fees not tied to a payment, such as Instant Payout fees of 1.5% of the payout volume with a 50 cent minimum (Stripe Pricing).
Stage 3: Post refunds
A refund reduces today’s balance even if the sale settled weeks ago. Stripe states that “Stripe’s processing fees from the original transaction aren’t returned” when you refund a payment (Stripe Support, no date shown). The entry debits a contra-revenue refunds account (or accounts receivable, if you reissue a credit note) and credits clearing for the full refund amount; the original fee stays in expense.
The control is an approval limit and a refund log that finance ties to Stripe. Common failures are expecting the fee back, which leaves a small unexplained difference, and posting a refund of a prior month’s sale to the wrong period. If refunds exceed sales and your balance goes negative, Stripe can debit your bank account (Stripe Docs, Receive payouts, no date shown).
Stage 4: Track disputes
When a cardholder disputes a payment, Stripe debits the disputed amount plus a dispute fee from your balance, and the funds stay held for the entire dispute (Stripe Docs, How disputes work, no date shown). The US dispute received fee is $15, and a further $15 dispute countered fee applies if you respond manually (Stripe Pricing). If you win, Stripe returns the amount and the countered fee, not the received fee. Disputes can take two to three months, so they often span two periods.
Post the withdrawn amount to a chargebacks pending account and the fee to merchant fees. Keep a dispute log that agrees to that account at month end. When a dispute closes, reverse the entry (won) or move the amount to bad debt or refunds (lost). The usual failure is writing off every dispute on day one, then booking returned funds as unexplained income.
Stage 5: Handle multi-currency payments
Stripe converts a charge in another currency to your settlement currency (Stripe Docs, Supported currencies, no date shown), generally at the mid-market rate, plus the conversion fee on its pricing page (Stripe Docs, Localize prices, no date shown). Each balance transaction stores the rate used in its exchange_rate field (Stripe API reference, Balance Transaction object).
Stripe converts a refund or disputed amount back at the current exchange rate, so the amount deducted “might be more or less than the original payment,” while the customer gets back exactly what they paid (Stripe Docs, Localize prices).
Illustration: a US business charges a customer 1,000 EUR at an exchange rate of 1.10, so $1,100 enters the balance before fees. It refunds in full three weeks later at 1.12, and Stripe deducts $1,120. Post the $20 difference to foreign exchange loss, not to refunds or fees.
US businesses can enable multi-currency settlement to hold balances and receive payouts in up to 18 currencies. Each currency needs its own bank account, and Stripe charges its fee when funds settle into a non-primary currency (Stripe Docs, Multi-currency settlement, no date shown). Keep one clearing account per currency.
Stage 6: Tie each payout to its transactions
Stripe’s standard US settlement timing is two business days, and weekends do not count toward settlement, so a Wednesday deposit can contain Saturday, Sunday and Monday activity (Stripe Docs, Receive payouts).
The Payout reconciliation report, included with Stripe at no extra charge (Stripe Docs, Stripe reporting, no date shown), ties each automatic payout to its payments, refunds, disputes and fees. It works only with automatic payouts and groups them by estimated arrival date, not bank posting date. With manual or Instant Payouts, Stripe says it “can’t identify which transactions are included in each payout” (Stripe Docs, Payout reconciliation report), so you reconcile against the Balance summary report, which works like a bank statement for your Stripe balance (Stripe Docs, Balance summary report, no date shown).
The control is that the itemized transactions add up to the payout amount. Watch for a payout that reaches your bank a day after its estimated arrival date.
Stage 7: Match the bank deposit and post the entries
Your bank feed sees only the net deposit. Match each deposit to one payout, then post the detail from the payout report.
Illustration only. The business and figures are constructed to show the mechanics; the fee rates are Stripe’s published US rates. A US SaaS company sells 40 monthly plans at $250 each on a Tuesday, all on domestic cards. The same Tuesday it refunds one $250 payment from the previous month, and a customer disputes another $250 payment from three weeks earlier. Processing fees are 40 x ($7.25 + $0.30) = $302. On Thursday, Stripe pays out $10,000 − $302 − $250 − $250 − $15 = $9,183.
| Account | Debit | Credit | Note |
|---|---|---|---|
| Stripe clearing | $10,000 | 40 sales at gross | |
| Revenue | $10,000 | Or accounts receivable for invoiced sales | |
| Merchant fee expense | $317 | $302 processing plus $15 dispute fee | |
| Refunds (contra revenue) | $250 | Original $7.55 fee is not returned | |
| Chargebacks pending | $250 | Held until the dispute closes | |
| Stripe clearing | $817 | Fees, refund and dispute withdrawn | |
| Bank | $9,183 | Thursday deposit | |
| Stripe clearing | $9,183 | Clears this batch to zero |
If the company later wins the dispute, Stripe returns the $250 and you reverse the chargebacks pending entry; the $15 received fee stays in expense. If a deposit does not equal a single payout, investigate before posting.
Stage 8: Close the month
At month end the controller compares the clearing account balance to the Stripe balance, including pending funds and any reserve. The Payout reconciliation report has an Ending balance section for transactions not yet paid out, and that figure is your expected clearing balance (Stripe Docs, Payout reconciliation report). Sales from the last two business days sit in transit and belong in that balance.
List any remaining difference item by item, and have someone who did not post the entries sign off. Most differences trace back to an earlier stage.
Metrics to track
- Unreconciled clearing balance: the difference between the clearing account and Stripe’s ending balance. The target is zero.
- Days to reconcile Stripe: business days from month end until the clearing reconciliation is signed off.
- Effective fee rate: total Stripe fees divided by gross volume, tracked monthly.
- Refund rate and dispute rate: refunds and disputes as a share of gross volume and of transaction count.
- Open disputes by age: count and amount open longer than 30, 60 and 90 days.
- FX gain or loss: exchange differences on refunds and disputes, reported apart from fees.
- Auto-match rate: the share of transactions matched without manual work.
How software supports each stage
Stripe’s free reports cover stages 6 and 8 for any ledger through CSV export. Stripe Revenue Recognition ($25 a month on the monthly plan) lets you map Stripe’s accounts to your chart of accounts (Stripe Pricing; Stripe Docs, Revenue Recognition, no date shown).
Connectors automate most of stages 1 to 7. Stripe describes its Xero integration as syncing sales, fees, payouts and refunds, free for all users, and points to Acodei for QuickBooks Online (Stripe Docs, Accounting integrations, no date shown). Acodei publishes plans from $12 a month (Acodei pricing, no date shown), and Synder publishes plans from $65 a month, or $52 billed annually, though its cheapest plan posts summaries only (Synder pricing, no date shown). Both vendors sell these products.
For NetSuite, the Stripe Connector posts payments to Undeposited Funds and creates a bank deposit for each payout with its payments, refunds, disputes and fee lines (Stripe Docs, Deposit automation, no date shown). Stripe does not publish its price. With a few hundred transactions a month on automatic payouts, the free reports and a monthly journal entry are usually enough. If your wider ledger is the constraint, see our guide to the best accounting software for small business.
How we researched this
We read the top-ranking pages for “stripe reconciliation” in October 2026, from Webgility, Nanonets and Solvexia, which omit GL entries, fee rules on refunds and disputes, and exchange differences. We checked Stripe’s documentation, API reference and pricing page, and each connector vendor’s pricing page, on October 7, 2026. Stage owners and controls are our recommendations. We have no commercial relationship with any vendor named.
Related guides
- Shopify Accounting: Payouts, Fees, Gift Cards and COGS
- NetSuite Payment Gateways: Options, Fees and Level 3
- Deposits in Transit: Definition and Bank Reconciliation
Frequently asked questions
Why is my Stripe payout less than my sales for the day?
Stripe deducts fees, refunds and disputes before paying out, and US settlement takes two business days, so a payout reflects earlier days’ activity. The Payout reconciliation report lists every transaction in a payout.
Does Stripe give back fees when I refund a customer?
No. Stripe states that processing fees from the original transaction are not returned on refunds. The full refund comes out of your balance, and the original fee stays an expense.
Do I get the $15 dispute fee back if I win a chargeback?
No, not in the US. Stripe returns the disputed amount and the $15 dispute countered fee if you win, but it does not return the $15 dispute received fee unless your Stripe contract states otherwise.
Why doesn’t a refund on a foreign-currency payment match the original amount?
Stripe converts refunds and disputes at the exchange rate on that day, not the original rate, and the customer gets back exactly what they paid. The amount taken from your balance can be higher or lower; post the difference to foreign exchange gain or loss.
Sources
- Stripe, Pricing (US card, conversion, dispute, Instant Payouts, Revenue Recognition), no date shown. stripe.com
- Stripe Docs, Stripe reporting (free reports), no date shown. docs.stripe.com
- Stripe Docs, Receive payouts (US settlement timing, negative balances), no date shown. docs.stripe.com
- Stripe Docs, Payout reconciliation report, no date shown. docs.stripe.com
- Stripe Docs, Balance summary report, no date shown. docs.stripe.com
- Stripe API reference, Balance Transaction object (amount, fee, net, exchange_rate), no date shown. docs.stripe.com
- Stripe Docs, Supported currencies (presentment and settlement), no date shown. docs.stripe.com
- Stripe Docs, Localize prices (exchange rate, conversions on disputes and refunds), no date shown. docs.stripe.com
- Stripe Docs, Multi-currency settlement, no date shown. docs.stripe.com
- Stripe Docs, How disputes work, no date shown. docs.stripe.com
- Stripe Support, Fees for refunded payments, no date shown. support.stripe.com
- Stripe Support, 1099-K tax forms, no date shown. support.stripe.com
- Stripe Docs, Revenue Recognition, no date shown. docs.stripe.com
- Stripe Docs, Accounting integrations (QuickBooks Online by Acodei, Xero), no date shown. docs.stripe.com
- Stripe Docs, Stripe Connector for NetSuite, Deposit automation, no date shown. docs.stripe.com
- Acodei, Pricing (vendor), no date shown. acodei.com
- Synder, Pricing (vendor), no date shown. synder.com
- Webgility, Stripe reconciliation (vendor blog, reviewed as a competing page), December 3, 2025. webgility.com
- Solvexia, Stripe reconciliation (vendor glossary), June 9, 2025. solvexia.com
- Nanonets, Stripe reconciliation guide (vendor blog), no date shown. nanonets.com