1. Your Stripe report
The itemised CSV from Reports > Payout reconciliation, or the balance-transactions export from Balance > All activity. More than one payout per file is fine.
Choose a file or paste the text, then click Read, check and build journals.
Result
Deposit check
| Payout | Payout date | Stripe states | Journals clear | Agrees |
|---|
Journals
| Journal | Date | Account | Debit | Credit | Memo |
|---|
Download
The accounts must already exist in your software under these names or codes. Post the journals, then match each bank deposit to Stripe clearing.
The model, and what it leaves out
- Rows: each row is one balance transaction with a gross amount, a fee and a net (gross minus fee), a reporting category and an automatic payout ID. Rows are grouped by payout. Amounts are read to cents; European
1.234,56and US1,234.56both work. - Payout check: the signed nets of a payout's rows must add up exactly to the payout. The balance-transactions export carries a
payoutrow that states it; the reconciliation report does not, so type the deposit from your bank into the optional box. If they do not agree, the page says by how much, and you should not post the journal. Rows where gross minus fee is not net are flagged too. - Categories: charges to gross sales, refunds to refunds, disputes and dispute reversals to disputes, every fee column and fee-type category (Stripe fees, billing, tax, network costs, FX) to Stripe fees, adjustments and transfers to adjustments. A category no rule recognises goes to an uncategorised account and is listed.
- Month split: rows are grouped by the date they were created. A journal is dated the month end, or the payout date for the last month. Each journal balances to Stripe clearing, so the clearing account holds exactly the part of the payout that belongs to that month.
- Not checked: that the report agrees with your Stripe dashboard or your books, tax treatment anywhere (tax collected inside a charge is not split out), revenue recognition for annual plans, currency conversion between payouts, and that the accounts exist in your software.
Common questions
How do I turn a Stripe payout into a journal entry?
Download the Payout reconciliation (itemised) report from the Stripe Dashboard under Reports, paste it here and press Read, check and build journals. The page adds up every row, checks the total against the payout, groups the rows into gross sales, Stripe fees, refunds and disputes, and writes a journal that balances to a Stripe clearing account.
Why book gross sales and fees instead of the bank deposit?
A Stripe payout is net of fees, refunds and disputes. Booking only the deposit as income understates revenue and hides the processing fees, and a payout that spans two months pushes one month's sales into the next. This page books gross sales and fees separately, in the month they happened, and the bank deposit clears the Stripe clearing account.
What is the Stripe clearing account?
A holding account. Each journal debits or credits it with that period's net, and the bank deposit, when it arrives, is matched against it. When every payout is journalled and deposited, the clearing account returns to zero, which is the cheap proof that nothing was missed.
Which accounting software can I import to?
Xero (manual journal CSV), QuickBooks Online (journal entry CSV), QuickBooks Desktop (IIF general journal) and a plain CSV for anything else. You can rename the accounts for each category before downloading so they match your chart of accounts.
What does the page do with rows it does not recognise?
It never drops them. They are journalled to an uncategorised account so the journal still equals the payout, and listed so you can review them.
Is it safe to paste a Stripe report into a web page?
The page runs in your browser, the report is read locally and nothing is uploaded; a test in the code asserts there are no network calls. Remove customer names and emails from the file if you would rather not have them on screen: the page only needs the amounts, categories, dates and payout IDs.
What does this not check?
Whether the report matches your Stripe dashboard or your books, tax treatment in any jurisdiction (tax collected inside a charge is not split out), revenue recognition for annual plans, currencies converted between payouts, and account names or codes that must already exist in your accounting software.