STRIPE PAYOUT TO JOURNAL · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Turn a Stripe payout report into a Xero or QuickBooks journal

Paste or drop the itemised payout reconciliation report from the Stripe Dashboard. Every row is added up and checked against the payout, grouped into gross sales, Stripe fees, refunds, disputes and adjustments, and written as a balanced journal to a Stripe clearing account — split at month end when a payout straddles two months — for Xero, QuickBooks Online, QuickBooks Desktop (IIF) or plain CSV.

The report is read in this browser tab and never leaves your device. Only amounts, categories, dates and payout IDs are used. Independent of Stripe, Xero and Intuit. The report layout and the importer layouts are read from memory of public help documents; no real Stripe export and no live Xero or QuickBooks import was available when this was written.

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.

The model, and what it leaves out

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.