A Stripe to DATEV integration turns each Stripe charge, refund, fee, dispute, and payout into correctly coded bookings your Steuerberater can import as a Buchungsstapel. It books revenue at the point of sale with the right SKR03 or SKR04 accounts and tax keys, routes every payout through a clearing account so the netted bank transfer reconciles to the cent against gross sales plus Stripe fees, and reads Stripe's balance transactions as the ledger of record. Done properly it is not a CSV export but a daily, idempotent pipeline that keeps DATEV in sync with Stripe without anyone re-keying figures at month-end.
Stripe knows everything about the money: the charge in euros or dollars, the per-transaction fee, the refund two days later, the dispute that pulled funds back with a 15 EUR dispute fee, the payout that lands in your bank account on Thursday bundling four hundred charges into one net figure. DATEV, and the tax advisor working inside it, needs all of that expressed as bookings - the right account, the right tax key, the right posting date, and a clean split between the revenue and the money that actually reached the bank.
The gap between those two worlds is where the work lives. A Stripe to DATEV integration closes it automatically: it reads each relevant event from Stripe, treats the balance transaction as the ledger of record, applies your accounting logic, and hands DATEV a clean booking batch your Kanzlei can import without touching a spreadsheet.
| Stripe object / event | Becomes in DATEV | Notes |
|---|---|---|
| Successful charge / PaymentIntent | Revenue booking, split by VAT rate | Coded to the correct SKR03 / SKR04 revenue account per tax treatment |
| Stripe Tax lines | Correct tax key (Steuerschlüssel / BU-Schlüssel) | Domestic 19% / 7%, EU OSS, reverse-charge, third-country export |
| Stripe / application fee | Expense booking (payment fees) | Per-transaction; netted inside the payout, booked gross |
| Refund / partial refund | Reversing booking | Same accounts and tax keys as the original charge, dated to the refund |
| Dispute / chargeback + dispute fee | Reversal plus separate fee expense | Funds withdrawn and the fixed dispute fee are two distinct lines |
| Payout | Clearing-account settlement (Geldtransit) | One net payout reconciled against its underlying balance transactions |
| Currency conversion | FX difference booking | Presentment vs settlement amount posted separately |
| Stripe Billing invoice / subscription | Revenue with debtor reference | Recurring charges carry the invoice and customer as the booking reference |
The exact account numbers, tax keys, and clearing accounts are agreed once with your tax advisor and encoded in the pipeline. After that, nobody maps them again by hand.
A Dashboard CSV or a generic connector app gets you 80% of the way and leaves the expensive 20% on your desk:
We treat this as a pipeline, not a batch job. Stripe charges, refunds, disputes, fees, and payouts are pulled on a schedule (or by webhook), reconciled against the balance-transaction ledger, validated, transformed into your agreed DATEV coding, and written out as a DATEV-Format booking batch - or delivered through the DATEV Rechnungsdatenservice into DATEV Unternehmen online where that suits your Kanzlei’s workflow.
The pipeline is idempotent: every Stripe object carries a stable identifier, so a retry or a re-run never produces a duplicate booking, and a payout only closes once its underlying transactions all balance. It runs on cloud-native, fully EU-hosted AWS infrastructure, so payment and customer data never leaves the EU - which keeps the DPA / AVV with your tax advisor and your GDPR obligations clean.
And then we keep it running. Monitoring, alerting, incident response, and - critically - tracking Stripe API versions and DATEV format changes are our responsibility under contract. Stripe pins your account to an API version and ships breaking changes behind new ones; keeping the pipeline current with that is our job. You get a named owner and an SLA rather than a script somebody has to remember to run.
If you take a handful of euro charges a month at a single VAT rate with no refunds, exporting the Stripe balance report and booking it by hand is genuinely fine, and we will tell you so. The integration earns its place when volume climbs, when you charge across currencies, when refunds and disputes make each payout a reconciliation puzzle, when Stripe Billing subscriptions need debtor-level bookings, or when your tax advisor is charging you to untangle payouts that a pipeline should have delivered correctly in the first place.
Need this integration built and permanently operated? Tell us which systems connect and what data has to move. Fixed-price scoping quote within 48 hours.
Request a scoping call