# Stripe sevDesk integration

*Stripe → sevDesk*

**In short:** A Stripe to sevDesk integration turns each Stripe charge, invoice, refund, and payout into correctly coded vouchers (Belege) in sevDesk - with the right revenue and fee accounts, the correct tax rate for domestic, EU, and reverse-charge sales, and Stripe payouts reconciled against a clearing account so the bank transaction matches to the cent. Done properly it is not a CSV import: it is a daily, idempotent pipeline that keeps sevDesk in sync with Stripe without anyone re-keying figures before the month-end close.

## What a Stripe to sevDesk integration actually does

Stripe knows everything about the money: the charge, the card fee it kept, the refund three days later, the subscription invoice that renewed overnight, the payout that lands in your bank next Tuesday as one net batch spanning dozens of transactions. sevDesk needs all of that expressed as vouchers - the right revenue account, the right tax rate, the right booking date, and the fee and the payout kept separate from the sale so your bank reconciliation actually closes.

The gap between those two worlds is where the work lives. A Stripe to sevDesk integration closes it automatically: it reads each relevant event from Stripe, applies your bookkeeping logic, and writes clean vouchers and payments into sevDesk that your bookkeeper - and, downstream, your Steuerberater via sevDesk's DATEV export - can rely on without touching a spreadsheet.

## What data moves

| Stripe object / event | Becomes in sevDesk | Notes |
| --- | --- | --- |
| Successful charge / PaymentIntent | Revenue voucher (Einnahmenbeleg) | Coded to the correct revenue account and tax rate per treatment |
| Stripe Billing invoice | Voucher or invoice with line items | Subscription line items and tax preserved, not collapsed to a lump sum |
| Customer | Contact (Kontakt / Debitor) | Matched by email or VAT ID to avoid duplicate contacts |
| Refund / partial refund | Reversing voucher | Same revenue account and tax rate as the original, dated to the refund |
| Stripe fee (balance transaction) | Expense voucher (Ausgabenbeleg) | Booked to a payment-fee account, not netted into revenue |
| Payout | Clearing-account settlement (Geldtransit) | Net batch reconciled against gross charges minus fees and refunds |
| Dispute / chargeback | Reversal plus fee booking | Revenue reversed and the dispute fee booked separately |

The exact accounts, tax rates, and clearing account are agreed once with you and your tax advisor and encoded in the pipeline. After that, nobody maps them again by hand.

## The details that break naive imports

A CSV import or the thin built-in connector gets you most of the way and leaves the expensive part on your desk:

- **The payout is not the revenue.** Stripe settles net of fees, days later, in a batch that spans many charges, refunds, and adjustments. Book the payout as revenue and nothing reconciles. The charge, the fee, and the settlement must be separate bookings joined by a clearing account, tied together through Stripe's balance-transaction record.
- **Fees have to come out cleanly.** Every Stripe charge carries a processing fee that Stripe deducts before payout. If it disappears into a net figure, your revenue is understated and your expenses are invisible. It belongs on its own fee account.
- **Currency.** A USD charge settles into EUR at Stripe's rate with a conversion fee. sevDesk needs the EUR figure, but you still need the original currency, rate, and spread for the audit trail. Rounding this wrong is where cent-level drift creeps in.
- **Tax treatment.** A domestic 19% sale, a 7% reduced item, an EU B2C distance sale, a reverse-charge B2B invoice, and a Kleinunternehmer sale with no VAT are all different. The customer's country and tax status drive the sevDesk tax rate, not a single default.
- **Refunds, disputes, and idempotency.** A partial refund must reverse the exact account and tax rate of the original, on its own date. A chargeback adds a fee and a reversal. And re-running a naive import books the same week twice - the pipeline has to know each Stripe object ID it has already sent and never post it again.

## How we build and run it

We treat this as a pipeline, not a batch job. Stripe charges, invoices, refunds, and payouts are pulled by webhook and reconciled on a schedule, validated against Stripe's balance-transaction record, transformed into your agreed sevDesk coding, and written as vouchers, contacts, and payments through the sevDesk API.

The pipeline is idempotent: every Stripe object carries a stable ID (`ch_`, `in_`, `po_`, `txn_`), so a retry or a re-run never produces a duplicate voucher. It runs on cloud-native, fully EU-hosted infrastructure, so payment and customer data never leaves the EU - which keeps your DPA / AVV and your GDPR obligations clean.

And then we keep it running. Monitoring, alerting, incident response, and - critically - watching for Stripe and sevDesk API changes are our responsibility under contract. You get a named owner and an SLA. The month-end close stops depending on someone remembering to run an export.

## When this integration is worth building

If you process a handful of EUR charges a month at a single tax rate, sevDesk's built-in import is genuinely fine and we will tell you so. The integration earns its place when volume climbs, when Stripe Billing subscriptions and multiple currencies enter the picture, when fees and refunds make the payout reconciliation a monthly chore, or when your bookkeeper is spending hours each month correcting vouchers that a pipeline should have delivered right the first time.

## Frequently asked questions

### Doesn't sevDesk already connect to Stripe out of the box?

sevDesk can import some Stripe activity, but the built-in path is thin. It does not reliably split the gross sale from the Stripe fee, reconcile the batched net payout against a clearing account, handle multi-currency settlement, or apply your specific revenue and tax accounts. For a handful of EUR charges a month that is fine. Once volume, refunds, subscriptions, and foreign currency appear, you are back to correcting vouchers by hand. The integration moves that logic into a pipeline that runs itself.

### How do you handle Stripe fees and the batched payout?

The sale and the money arriving are two different events. We book the gross revenue at the point of the charge, book the Stripe fee as a separate expense voucher, and route the payout through a clearing account (Geldtransit) so the net batch that lands in your bank reconciles against the sum of charges minus fees minus refunds. Stripe's balance-transaction record is the source of truth we reconcile against, which is exactly the part manual imports get wrong.

### We sell in USD and GBP as well as EUR. Can it cope with multiple currencies?

Yes. Stripe settles in your payout currency but charges can be presented in others, and each balance transaction carries both the presentment amount and the converted settlement amount plus any conversion fee. We book the EUR settlement figure sevDesk needs, keep the original currency and rate for audit, and treat Stripe's conversion spread as a fee rather than silently distorting the revenue. This is a common source of cent-level drift that naive exports never close.

### Does it cover Stripe Billing subscriptions and Stripe Tax?

Yes. Recurring Stripe invoices are mapped to sevDesk with their line items and tax preserved, not collapsed into a single lump charge. Where you use Stripe Tax, the tax lines drive the sevDesk tax rate and account - domestic VAT, EU B2C, and reverse-charge B2B each map to the correct treatment, including the small-business (Kleinunternehmer, Paragraph 19 UStG) case where no VAT is shown.

### Who operates it after it goes live?

We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor. If Stripe or sevDesk changes an API, that is our problem to fix, not a surprise your bookkeeping discovers at month-end. You get a named owner, alerting, and an SLA rather than a script somebody has to remember to run - and your handoff to the tax advisor via sevDesk's DATEV export stays clean.

## Related integrations

- [Stripe ↔ DATEV](https://seamless.engineering/integrations/stripe-datev/): Stripe DATEV integration
- [Stripe ↔ lexoffice](https://seamless.engineering/integrations/stripe-lexoffice/): Stripe lexoffice integration
- [NetSuite ↔ Stripe](https://seamless.engineering/integrations/netsuite-stripe/): NetSuite Stripe integration
- [Stripe ↔ QuickBooks](https://seamless.engineering/integrations/stripe-quickbooks/): Stripe QuickBooks integration
- [Stripe ↔ Xero](https://seamless.engineering/integrations/stripe-xero/): Stripe Xero integration
- [sevDesk ↔ DATEV](https://seamless.engineering/integrations/sevdesk-datev/): sevDesk DATEV integration

## Browse by system

- [All Stripe integrations](https://seamless.engineering/integrations/stripe/)
- [All sevDesk integrations](https://seamless.engineering/integrations/sevdesk/)
- [Stripe API changelog](https://seamless.engineering/api-changelog/stripe/): No breaking changes or deprecations in the last 90 days

## Request a scoping call

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.

- Email: hello@seamless.engineering
- Contact form: https://seamless.engineering/#contact
