Import Stripe transactions into your accounting
Split a Stripe payout into individual transactions and import them correctly into your accounting via MT940 or CAMT.053.
Stripe processes payments for countless webshops, SaaS companies, and platforms. The payments themselves almost always go smoothly; the bottleneck is in the bookkeeping. Stripe pays out your balance in a single bundled amount to your bank account, while your accounting package wants to see every transaction separately to correctly post receivables, revenue, fees, and chargebacks. In this guide you will learn how to import Stripe transactions cleanly.
Why Stripe needs special attention
A Stripe payment goes through several steps before it appears on your bank statement:
- The customer pays — the amount is added to your Stripe balance as a charge.
- Stripe settles — fees, refunds, chargebacks, and adjustments are settled within the balance.
- Stripe pays out — the net balance is transferred as a single payout to your business bank account.
On your bank statement you only see that payout: one line with, for example, STRIPE PAYOUT of € 8,214.57. If you only post that line, outstanding invoices wrongly stay open and you lose insight into fees and chargebacks. The solution is to import a statement that contains the underlying transactions — not just the net payout.
Which Stripe report should you choose?
Stripe does not provide a ready-made MT940 or CAMT.053 file for your accounting. In the Stripe Dashboard you will, however, find the source files you need:
- Reports → Payout reconciliation report — ties one bank payout back to all underlying charges, refunds, fees, and adjustments. This is the report you use for your bookkeeping.
- Payouts → Export — the list of payouts, handy for locating a payout on your bank statement.
- Balance report — all balance movements in a period, suitable for analysis and reconciling the balance.
For your accounting, the Payout reconciliation report works best: the sum of the transactions minus the fees matches the payout on your bank account. You post the difference to a separate ledger account, for example Payment service costs. Keep in mind that the data for a payout is usually only fully available the next day around noon.
Note: Stripe works in cents
Stripe expresses amounts as whole numbers in the smallest currency unit.
An amount of 1000 therefore means € 10.00 — the value has to be divided by
100. For currencies without decimals, such as the Japanese yen (JPY), the value is
literal: 1000 then means ¥ 1,000. StatementBridge recognizes this and
automatically converts the cents to the correct amounts; always check the preview.
The approach at a high level
- Create a separate bank account (journal) with a suspense account for Stripe in your accounting.
- Download the Payout reconciliation report per payout from the Stripe Dashboard.
- Convert the CSV to MT940 or CAMT.053 with StatementBridge.
- Import the file into the Stripe journal.
- Post the payout as an internal transfer between the Stripe suspense account and your bank account.
- Post fees, refunds, and chargebacks to the correct ledger accounts.
Step 1 — Create a Stripe suspense account
- Go to the master data for your bank accounts in your accounting.
- Add a new bank account and link it to a new bank journal.
- Give it a recognizable description, for example Stripe suspense account.
- Link it to a ledger account in the cash and cash equivalents class, for example 1086 Stripe suspense account.
- Enter a fictitious IBAN — a recognizable sequence that no real bank issues, such as
NL00STRP0000000000. - Save the bank account.
This journal becomes the ‘waystation’ where Stripe transactions arrive before the payout is booked to your real bank. Does Stripe pay out per currency? Then create a separate suspense account and fictitious IBAN per currency; see Convert CSV to CAMT.053 for the detail-rich variant.
Step 2 — Download the Payout reconciliation report from Stripe
- Log in to the Stripe Dashboard.
- Go to Reports and open the Payout reconciliation report (or use Payouts → Export).
- Select the payout you want to process; if needed, wait until the data is complete the next day around noon.
- Download the report as a CSV and save it in a fixed location (for example
\Stripe\Payouts\2026\). - Note the payout ID; you will use it later to reconcile the bank line.
Step 3 — Convert the CSV to MT940 or CAMT.053
Most accounting packages process MT940 and CAMT.053 by default, but no Stripe CSV. With StatementBridge you convert the file in a few seconds:
- Open the conversion app.
- Upload the Stripe Payout reconciliation report (CSV).
- Select Stripe as the source and choose MT940 or CAMT.053 as the target.
- Enter the fictitious IBAN that you linked to the Stripe journal in step 1.
- Check in the preview that the amounts are correct — StatementBridge automatically divides the cents by 100.
- Download the converted file.
Read more about the approach in Convert CSV to MT940 and Convert CSV to CAMT.053. You can also start directly via the MT940 converter.
Step 4 — Import into your accounting
- Go to the import function for bank statements in your accounting package.
- Select the Stripe journal you created in step 1.
- Upload the MT940 or CAMT.053 file.
- Check that the IBAN in the file matches the IBAN of the journal.
- Confirm the import and open the statement to process it.
The approach with payment service providers is virtually identical for every package; see also Import AMEX, PayPal, Stripe into Exact Online and Import PayPal transactions into your accounting.
Step 5 — Post the payout, fees, and chargebacks
The Stripe journal now contains all the individual transactions. On your business bank journal there is one line: the Stripe payout. Process it as follows:
- Payout on the business bank → post it as an internal transfer between 1086 Stripe suspense account and your bank account.
- Fees (transaction costs) → post them to a ledger account Payment service costs or Bank charges.
- Refunds → reverse them against the original receivable.
- Chargebacks → post them to a separate ledger account Chargebacks so they remain visible in your reporting.
- Multiple currencies → post each currency payout to its own ledger account and its own suspense account.
At the end of each period, the balance on 1086 Stripe suspense account is zero, apart from any payout still outstanding. An unexplained balance points to a missing or duplicate imported report.
Common pitfalls
- Posting the bank line directly to receivables. First split the payout into individual transactions; only then do receivables stay correct.
- Not dividing amounts by 100. Stripe works in cents; a raw import quickly turns € 10.00 into € 1,000.00. Check the preview.
- Leaving fees in revenue. Post fees to a separate ledger account; that keeps your revenue figure clean for VAT and reporting.
- Mixing currencies. Post each currency payout to its own suspense account and ledger account.
- Downloading too early. The data for a payout is usually only complete the next day around noon.
File not accepted by your accounting?
Do you get an error such as Unknown format or IBAN not recognized? With StatementBridge you can still convert the Stripe report into a clean MT940 or CAMT.053 file with the correct IBAN and the correct amounts.
Frequently asked questions
Why do I only see one Stripe amount on my bank statement instead of individual payments?
Stripe bundles all charges, refunds, fees, and adjustments and pays out the net balance as a single payout to your bank account. That is why only that one payout line appears on your bank statement. For correct bookkeeping you need the underlying transactions from the Payout reconciliation report.
Which Stripe report do I use for my bookkeeping?
The best source file is the Payout reconciliation report under Reports in the Stripe Dashboard, because it ties one bank payout back to all underlying transactions. As an alternative you can use Payouts and Export or the Balance report. The data is usually only fully available the next day around noon.
Why are my Stripe amounts a hundred times too high?
Stripe expresses amounts as whole numbers in the smallest currency unit, so 1000 means € 10.00. The value therefore has to be divided by 100. StatementBridge recognizes this automatically and converts the cents to the correct amounts; always check the preview.
How do I post the Stripe fees and chargebacks separately?
Post the payout as an internal transfer between a Stripe suspense account (with a fictitious IBAN, for example NL00STRP0000000000) and your bank account. You post the transaction costs to Payment service costs and chargebacks to a separate account, so they remain visible. Refunds you reverse against the original receivable.
Related articles
Convert CSV to MT940
Turn a CSV export into MT940 for import into virtually any accounting package.
Convert CSV to CAMT.053
Convert a CSV to the detail-rich CAMT.053 format according to ISO 20022.
Import AMEX, PayPal, Stripe into Exact Online
Split settlements into individual transactions and import them correctly into Exact Online.
Import PayPal transactions into your accounting
Convert your PayPal overview to MT940 or CAMT.053 for any accounting package.