Skip to main content
Buchhaltung
S
D

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.

StripeDATEV

Results & Benefits

100%
Automatic booking of all Stripe transactions
8-10h
Monthly time savings on payment reconciliation
GoBD
Compliant and audit-proof bookkeeping
< 1 min
Delay between payment and booking

How it Works

1

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.

2

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.

3

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.

4

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.

5

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.

6

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?
Because days pass between a payment and the credit on your bank account, and a payout bundles hundreds of individual payments net of fees. Without a clearing account the bank entry cannot be matched to any invoice. With one, the balance at month end becomes a hard figure to check against Stripe.
What happens if the same period is exported twice?
DATEV does not detect duplicates on import. A second import of the same period creates every entry a second time, and once the period is locked each line has to be reversed individually. Each exported period is therefore flagged and a repeat export is blocked until it is explicitly released.
Which date becomes the document date?
That is a decision to take with your tax adviser. Candidates are the payment date, the date of the balance transaction, or the day funds become available. Those dates diverge across a year end: a payment on 31 December can become available only in January. The rule is fixed once and documented.
How are reverse charge and OSS handled?
The entry follows the tax treatment that was actually applied at the time of payment, including customer country and verified VAT ID. If that information was never captured during checkout, the integration cannot invent it afterwards. Such payments go onto the clarification list instead of into the batch.
Why are posting keys and accounts not preset?
Because chart of accounts, tax keys and revenue accounts are configured differently for every client and your tax adviser owns them. We build the mapping table together with the tax office, have it signed off, and treat it as master data afterwards. Nothing is guessed; unknown combinations stop processing.
How are processing fees and dispute fees separated?
The processing fee is charged per payment, while a dispute fee is a separate transaction that normally stays charged even when the dispute is won. Both are tracked separately, otherwise the real cost of chargebacks never becomes visible in any report you produce.
Does this work with Stripe Connect?
Yes, but it raises a different question. In a platform model you first have to establish which share is your own revenue and which is a pass-through item for the connected account. That distinction is a tax decision to settle with your adviser before the build, not something an automation should invent.
How often does the export run?
A daily run with a monthly handover is the usual pattern. A posting batch is a period artefact, not a real-time interface, and pushing individual entries to DATEV within seconds buys nothing. The daily run exists so clarification cases surface within a day instead of at month end.
How is test data kept out of the live books?
Stripe separates test and live mode through different keys, and the event receiver accepts only events from the matching mode. The most common incident is a test key left behind in a production environment after a migration, so the mode is checked and logged on every run.
How long does setup take?
One entity, one chart of accounts, one currency and one tax territory is running within a few working days. Several entities, foreign currencies, Connect or an OSS case push that to one to three weeks, because every mapping is agreed with the tax office and tested. An entry scope starts from 5,000 EUR, with ongoing tool costs of 50 to 200 EUR per month.
What does this integration explicitly not do?
It produces neither the German VAT return nor the OSS report, it does not replace review and locking by your tax adviser, and it is not a DATEV-certified interface. It does not assess tax liability abroad, does not correct wrongly configured products in Stripe, and does not migrate legacy bookkeeping.

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.