Connect Stripe to DATEV: Automated Bookkeeping
Stripe payments, fees, refunds and payouts are turned into a DATEV posting batch in EXTF format. This page documents the reference architecture: which fields from the charge, the balance transaction and the payout are needed, why the Stripe balance is a clearing account, and which decisions your tax adviser has to make before anything is built.
Results & Benefits
How it Works
Collect Events and Balance Transactions
Payments, refunds, chargebacks, fees and payouts are all evaluated. The authoritative record is not the charge itself but the associated balance transaction, because only there do gross amount, fee, net amount, currency and exchange rate appear together in one place.
Rule Out Double Processing
Stripe delivers events at least once, occasionally more. Every event identifier is stored before a posting line is created. This matters more here than elsewhere, because DATEV does not check on import whether the same entry already exists in the ledger.
Apply Tax Logic and Accounts
Customer country, customer type, product type and the tax amount Stripe determined produce the entry: revenue account under SKR03 or SKR04, contra account and posting key. Combinations without a defined mapping are never estimated; they go onto a clarification list instead.
Write the Posting Batch
Lines are written as an EXTF file in DATEV format with document date, amount, debit and credit indicator, currency code, account, contra account, posting text and optional cost centres. Posting text is truncated to the permitted length without losing the document reference.
Reconcile Before Handover
Before handover a check runs three totals against each other: gross revenue, fees and payouts for the period. If the calculated balance does not match the Stripe balance, the batch is not handed over. A day of delay costs less than a batch that has to be reversed afterwards.
Handover and Locking
The checked batch is provided to the tax office, imported and locked there. From that point corrections are only possible as separate reversing entries. Every handed-over period is therefore flagged so that a later catch-up run cannot export it a second time.
Use Cases
Book Gross, Keep the Fee Separate
Stripe deducts its fee from the payment. Bookkeeping still records full revenue, the fee as its own expense, and the difference through the Stripe balance. Booking the net amount as revenue instead leaves both turnover and input tax wrong, and the cost of card acceptance never appears in any report.
The Stripe Balance as a Clearing Account
The bank statement shows an aggregated payout, never the individual payment. The Stripe balance is therefore carried as its own account: payments increase it, fees and refunds reduce it, and the payout books against the bank. At period end the account has to equal the Stripe balance, which makes it a hard checkpoint.
Chargebacks Take Three Entries
A chargeback reverses the original payment, adds a dispute fee of its own, and reverses again if the dispute is won. Three records belonging to one customer payment, arriving weeks apart. They are chained through the identifier of the original charge so the case stays readable months later.
Foreign Currency and Exchange Differences
A payment in a foreign currency is converted by Stripe when it settles into your balance, while the payout happens later at a different rate. The resulting difference is an exchange rate difference and belongs on its own account. Folding it into revenue shifts turnover between periods and creates work at year end.
Subscriptions and Period Allocation
On an annual plan the full amount arrives in January while the revenue belongs across twelve months. Whether and how it is deferred depends on accrual or cash-basis taxation and on agreement with your tax adviser. The integration carries the service period per invoice line so the deferral is possible at all.
A Document Reference That Survives an Audit
Every entry carries the Stripe object identifier in Belegfeld 1, within its 36-character limit and restricted character set. Any line in the batch can then be traced back to the payment in Stripe in seconds, and back again. Without that reference every query from the tax office becomes a manual search.
Frequently Asked Questions
Why is the Stripe balance its own account?
What happens if the same period is exported twice?
Which date becomes the document date?
How are reverse charge and OSS handled?
Why are posting keys and accounts not preset?
How are processing fees and dispute fees separated?
Does this work with Stripe Connect?
How often does the export run?
How is test data kept out of the live books?
How long does setup take?
What does this integration explicitly not do?
Connect Stripe + DATEV?
We set up your integration — tailored to your processes. First, five minutes to check whether the process is worth automating at all.