← All integrations
Stripe → DATEV

Stripe DATEV integration

In short

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.

What a Stripe to DATEV integration actually does

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.

What data moves

Stripe object / eventBecomes in DATEVNotes
Successful charge / PaymentIntentRevenue booking, split by VAT rateCoded to the correct SKR03 / SKR04 revenue account per tax treatment
Stripe Tax linesCorrect tax key (Steuerschlüssel / BU-Schlüssel)Domestic 19% / 7%, EU OSS, reverse-charge, third-country export
Stripe / application feeExpense booking (payment fees)Per-transaction; netted inside the payout, booked gross
Refund / partial refundReversing bookingSame accounts and tax keys as the original charge, dated to the refund
Dispute / chargeback + dispute feeReversal plus separate fee expenseFunds withdrawn and the fixed dispute fee are two distinct lines
PayoutClearing-account settlement (Geldtransit)One net payout reconciled against its underlying balance transactions
Currency conversionFX difference bookingPresentment vs settlement amount posted separately
Stripe Billing invoice / subscriptionRevenue with debtor referenceRecurring 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.

The details that break naive exports

A Dashboard CSV or a generic connector app gets you 80% of the way and leaves the expensive 20% on your desk:

How we build and run it

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.

When this integration is worth building

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.

Frequently asked questions

Can I not just export a CSV from the Stripe Dashboard and import it into DATEV?
You can export the balance report, and for a low volume of single-currency charges it is workable. It breaks once refunds, disputes, multiple currencies, and Stripe Billing invoices appear. A raw export has no chart-of-accounts logic, no tax keys, no split between the sale and the payout, and no protection against importing the same period twice. Every export becomes manual reconciliation in Excel before your tax advisor will book it. The integration moves that logic into a pipeline that runs itself.
Why can't I just book the Stripe payout as revenue?
Because the payout and the revenue are different events. A single Stripe payout is a net figure that bundles many charges, minus per-transaction fees, minus refunds and dispute deductions, days after the sales happened. Booking it as revenue collapses all of that into one wrong number. We book each sale at its own date and tax key, book Stripe fees as expense, and route the payout through a clearing account (Geldtransit) so the bank line reconciles exactly.
Does it handle multiple currencies and Stripe Tax?
Yes. Stripe can charge in one currency and settle in another, and the presentment amount, the settlement amount, and the conversion difference all need to land correctly. We book on Stripe's balance-transaction figures in your settlement currency and post the FX difference separately. Where you use Stripe Tax, the collected VAT and its rate drive the correct German tax key for domestic, EU OSS, reverse-charge, and third-country sales.
Which DATEV target do you deliver into?
Whichever your tax advisor works with. Most commonly we produce a DATEV-Format booking batch (Buchungsstapel, the EXTF/DTVF structure DATEV Kanzlei-Rechnungswesen imports) and, where your workflow calls for it, deliver documents and booking proposals through the DATEV Rechnungsdatenservice into DATEV Unternehmen online. We agree the target and the accounts with your Kanzlei up front so the import is clean on their side.
Who operates it after it goes live?
We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor. If Stripe versions its API or DATEV changes an import format, that is our problem to fix, not a surprise your finance team discovers at month-end. You get a named owner, alerting, incident response, and an SLA rather than a script somebody has to remember to run.

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