Unzer e‑invoicing for Germany: an e‑invoice from every payment
Unzer is widespread in Germany, Austria and Switzerland because it bundles credit card, direct debit, buy now pay later and wallets in one place. What Unzer does not do: create compliant invoices for your customers, archive them under GoBD and hand your tax advisor (Steuerberater) finished bookings. That is where Rechnungskit comes in, with a native connection through your Unzer private key.
Unzer takes the payment. The invoice is your job.
What Unzer does not do: create compliant invoices for your customers, archive them under GoBD and hand your tax advisor finished bookings. That is where Rechnungskit comes in.
- Unzer processes the payment
- PDF receipt without a structured e-invoice format
- No German VAT logic per country
- No GoBD archive, no DATEV export
- Compliant e-invoice under EN 16931 (ZUGFeRD)
- Payments matched to orders automatically
- GoBD-compliant, tamper-evident archive with checksum
- DATEV export in one click
Four steps from payment to booking.
- 01ConnectConnect your Unzer account in a few minutes. No code needed.
- 02ImportRechnungskit imports every Unzer payment and matches it.
- 03ErzeugenEvery payment becomes a validated e-invoice under EN 16931.
- 04ArchiveThe invoice is archived to GoBD standards and is ready for the DATEV export.
Every format Unzer doesn't deliver.
How the Unzer integration works
You add your Unzer private key in the settings, and Rechnungskit registers the webhook with Unzer itself. From then on Unzer reports every payment, and Rechnungskit reads it back through the API. This is deliberate: Unzer webhooks are not signed, so every amount that gets booked comes from the authenticated API call, never from the notification itself.
The payment is linked to the matching order from your shop, for example from WooCommerce, Shopware or Shopify. For this to work automatically, two things are needed: your Unzer module has to pass the order number as the Unzer order ID (the Unzer modules for Shopware and WooCommerce do this by default), and in Rechnungskit you choose your shop as the matching source for Unzer under Connections → Connect. Rechnungskit checks right on the connection whether the latest payments match with these settings. The result is a validated e-invoice in ZUGFeRD format: a PDF for your customer and machine-readable XML for their accounting. Before sending, Rechnungskit checks all mandatory details under § 14 Abs. 4 UStG, the correct VAT rate per country and formal validity under EN 16931. Customers with a Leitweg-ID (the routing ID German public authorities use), such as government agencies or universities, get the same invoice as XRechnung 3.0.
Only what is actually paid gets booked. An authorization alone creates no invoice; only the actual charge does. Partial charges, refunds and chargebacks are recorded one by one.
Unzer fees: the transaction statement
Unlike Stripe or Mollie, Unzer does not provide transaction fees through its API, and it has no payout API either. The fees appear only in the transaction statement (Einzeltransaktionsnachweis, ETN): the CSV file for your monthly Unzer invoice, which you download in Unzer Insights.
You upload this ETN to Rechnungskit in the monthly report, once a month as soon as the new Unzer invoice is available. The upload box sits right next to that month's payouts. Unzer's own ETN guide shows where to download the file. The upload is manual because of how Unzer works: the download only runs through a short-lived portal session, and each account can have only one active session. An automatic download would log you out of your own Unzer Insights session.
The file becomes one settlement per Unzer invoice number with all its line items: payments, refunds, chargebacks and the fee for each individual transaction, with net fee, VAT and gross amount shown separately, including disagio, interchange and scheme fees. That is more detail than a single monthly total, because you see what each transaction cost.
You can upload the same ETN again safely: it is recognized by the Unzer invoice number, and existing line items are updated instead of duplicated. Rows that cannot be used are listed after the upload, so nothing goes missing without you noticing.
The result: DATEV-ready bookings with revenue and Unzer fees, cleanly separated and assigned for your tax advisor, as an EXTF export in SKR03 or SKR04.
So that no month stays incomplete, Rechnungskit reminds you automatically: on the first of the month a task appears in the dashboard and in the task reminder email (weekly on Friday by default, daily if you prefer) until the previous month's transaction statement is uploaded. The upload closes the task on its own.
One honest note on matching: the transaction statement contains Unzer's own transaction numbers, not the payment IDs from the API. Totals, fees and the VAT split are right automatically; if needed, you assign individual payout line items with a few clicks on the payouts page.
Why this matters for Unzer merchants
Unzer bundles many payment methods, each with its own fee logic. Working out by hand every month which fee belongs to which order takes hours, and the numbers sit in a CSV file instead of your books. Rechnungskit turns the route from incoming payment to DATEV booking into an automatic process with a complete audit trail: revenue and fees cleanly separated, every fee attached to its transaction.
The GoBD archive is included: every invoice is archived in an audit-proof way. If you cancel, you have 90 days afterwards to export your complete archive free of charge.
Unzer and e-invoicing: FAQ
Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.
Connect Unzer, e-invoicing done.
Create an account, connect your payment provider, check everything in free test mode. Billing starts when you go live.
Try it now