Every document is a ZUGFeRD invoice under EN 16931: a PDF/A-3 with embedded XML. The XML meets the format requirement for e-invoices in § 14 (1) UStG, and consumers open the document like a normal PDF. Public-sector buyers automatically get an XRechnung 3.0 as soon as their Leitweg-ID (public-sector routing ID) is on file.
In detail
One document for people and machines: a PDF with embedded XML, compliant with EN 16931
XRechnung 3.0 is triggered per customer: store the Leitweg-ID under Customers, ask for it at checkout or send it via the API; all other customers stay on ZUGFeRD
If a mandatory detail such as the issuer's phone number (BR-DE-6) is missing, the XRechnung is held instead of being created incorrectly
Small-amount invoices up to €250 under § 33 UStDV only where allowed, never for EU distance sales, intra-EU supplies or reverse charge
If a required recipient address is missing, the buyer adds it via a link without logging in, and then the document is created automatically
Logo, accent color and text blocks make the invoice yours. Optional email delivery goes out in the name of your business, not in the name of Rechnungskit.
In detail
Every template change creates a new, immutable version; existing documents stay as they were
The sender is your company name, the reply-to address is up to you, and if you like everything goes through your own SMTP server
Subject and text per language (German, English) with placeholders, separate templates for invoices and cancellations
Before sending, Rechnungskit checks your legal details (address, VAT ID, register, legal notice); if something is missing, the document is still created and you get a task
Undeliverable addresses create a task so nothing gets lost silently; nothing is ever sent in test mode
Shipped goods are invoiced on the shipping date, not the payment date. The date of delivery is a mandatory detail on the invoice (§ 14 (4) no. 6 UStG). Digital services are invoiced right after payment.
In detail
The shipping date comes automatically from your shop's shipping event or the API's fulfillment message
Digital services and SaaS are invoiced immediately, with the service period shown
Time-based services without a determinable period are held for review instead of being dated wrongly
A refund or cancellation in the shop or at the payment provider? Rechnungskit creates the cancellation invoice (Storno) automatically, accurate to the cent even for partial refunds.
In detail
A separate correction document instead of editing after the fact; there is deliberately no manual cancel button
Accurate to the cent, even for partial refunds
Returned direct debits don't cancel the invoice, they reopen the receivable
An unpaid B2B invoice is not a cancellation but a bad debt under § 17 (2) no. 1 UStG
A one-click upsell after checkout (e.g. WooCommerce with FunnelKit/UpStroke)? The order grows, a second payment comes in, and Rechnungskit automatically creates a supplementary invoice for exactly the items added.
In detail
The first invoice stays unchanged in the GoBD archive; the supplement is its own document with its own number
Automatic only when the payment matches the open difference to the cent; otherwise a clear task instead of guesswork
Refunds are matched to the right invoice, even when one order has several documents
Two payments, two documents: open items, DATEV export and customer communication stay cleanly separated
Did a customer enter the wrong billing address or forget the company name? You correct it right on the invoice, as a corrected invoice (§ 31 UStDV) under the same invoice number, without a cancellation.
In detail
The original invoice stays unchanged in the archive; the correction is added as a linked document
No second revenue entry and no second DATEV booking; your revenue stays booked exactly once
A change of recipient (a different company) is detected and rejected, so you don't run into a § 14c case
Download both documents separately or as one combined PDF and send them to the customer together
Sell your own products without a shop through a shareable link (checkout.rechnungskit.de/c/your-product). The buyer chooses the product and address, pays through your own payment provider, and Rechnungskit issues the e-invoice automatically.
In detail
Payment through your own provider: Mollie, Stripe, PayPal or Unzer. The money goes straight to your account, not through Rechnungskit
A checkout that complies with § 312j BGB, with price, mandatory information and the "order with obligation to pay" button
Consumer or business: an EU business's VAT ID is checked live with the BZSt, reverse charge only when confirmed, and the check never blocks the purchase
A public authority as a customer? An optional Leitweg-ID field turns the invoice into an XRechnung automatically
Physical goods with quantity and delivery address, invoiced only once you "mark as shipped"; digital services immediately
Webhooks per order for Make, n8n or Zapier, with an API key and optional HMAC signature, for example for license keys, download links or course access
After payment: a GoBD-compliant e-invoice, DATEV export, archive and invoice download on the confirmation page
Several products on one page (checkout.rechnungskit.de/shop/your-name): buyers add quantities to the cart and check out, and the result is one order and one e-invoice. Meant for small product ranges, trade fair stands and direct sales, not as a replacement for a shop system.
In detail
Title, intro, accent color, tiles or list; choice and order of products, with an image and longer description per product
Flat shipping fee per order, optionally free shipping above an order value; split proportionally when the cart has 7% and 19% items
QR code as SVG for flyers and trade fair stands, plus the shareable link
Payment through your provider or by bank transfer as pay-by-invoice or prepayment, for buyers in Germany
The cart lives in the link: without tracking there are no cookies and no banner; with tracking, a slim consent bar
You create orders that come in without a shop yourself, for example from business customers by email or phone. A wizard guides you through customer, line items, service and payment method; the result is the e-invoice with payment terms or, for prepayment, once the money has arrived.
In detail
Line items from the product catalog, tax rate from the VAT category, discount per line item or on the whole order
Foreign EU VAT IDs checked live with the BZSt, reverse charge only after confirmation
Prepayment with a payment request by email, explicitly without an invoice number; invoice marked as paid after "payment received"
Partial payments under open items, full or partial cancellation with a reason
Recurring services like SaaS without a shop and without Stripe Billing: create plans, share the subscription link, and Rechnungskit sets up the mandate, charges monthly or annually and creates the e-invoice for each period.
In detail
Collected via Mollie or Stripe, by card or SEPA direct debit with mandate and pre-notification; prices gross or net, optionally with a free trial
Every period is a normal e-invoice with service period, archive, DATEV export and deferred revenue (pRAP), emailed to the customer automatically
Customer portal at konto.rechnungskit.de with no forced login: cancellation button under § 312k and withdrawal under § 356a BGB, each in two steps, plus an invoice overview with PDF and XML
An upgrade is charged pro rata right away as a supplementary invoice under § 31 UStDV, a downgrade is credited pro rata under § 17 UStG
The contracting party is always your business, your legal texts are linked, and confirmations go out in your name
Keeping Stripe Billing? Then Rechnungskit reads the paid Stripe invoices and creates the e-invoices from them
Your SaaS, own checkout or headless shop reports orders to Rechnungskit via REST. The payment comes from the connected payment provider, and the e-invoice is created as soon as the two match.
In detail
REST with JSON and OpenAPI 3.1: report orders, report shipping, fetch documents as PDF and XML
Idempotent via your order number plus the Idempotency-Key header; duplicate submissions never create duplicate documents
One key for test and live: in test mode the same pipeline runs, including validation, in the test number sequence, and at go-live the key simply stays valid
Service period per order (service_period) for SaaS and subscriptions, Leitweg-ID for public-sector buyers
Permissions per key, expiry date, activity log with request ID for 30 days
Rechnungskit determines the type of supply, place of supply, taxability and exemption in the legally required order, for goods, SaaS and digital services.
In detail
Separate decision paths for domestic, EU B2B, EU B2C, exports and non-EU services
Tax exemptions only with a usable VAT ID and the required transport or export evidence
Shipping cost split for mixed carts: the flat fee is an ancillary service and is split per tax rate, in proportion to the gross individual selling prices (method based on the Federal Fiscal Court ruling of 22.01.2025, XI R 22/22)
Distance sales of goods and electronic services share the same EU-wide €10,000 threshold (§ 3c (4) UStG)
If your shop charges a different rate than the matrix, the document is held and you decide; a different rate is never shown silently
Excluded special cases such as chain transactions, consignment stock or construction services stop the automation
Every decision is documented immutably on the invoice line item
Every product gets a VAT category, and the category sets the tax rate per delivery country through the country matrix. Rechnungskit classifies new shop products with AI support, and you confirm.
In detail
Suggestions for VAT category, revenue recognition, consistent German names and English translations; confident suggestions are applied, uncertain ones wait in "To review"
Without a confirmed category, Rechnungskit invoices with your shop's tax rate, never with a guessed standard rate
Labels like organic, Fairtrade or vegan from your shop tags: one click creates the invoice note, printed in the language of the invoice (six languages), including the organic control body number
Voucher products classified as single- or multi-purpose vouchers, in-person courses and events with the place of supply at the venue
Prices from the shop stay authoritative; Rechnungskit doesn't change anything in your shop
VAT rates per country and product category straight from the EU database TEDB, updated automatically every month.
In detail
If a rate changes, Rechnungskit warns you with a task and an email; your own rates stay untouched
If a rate is missing for a category and delivery country, the document is held instead of showing a wrong rate; you can adopt the shop's rate with one click
The overview shows which combinations of category and delivery country your orders from the last 180 days actually need
Invoices can be issued in EUR, CHF, USD, GBP, SEK, DKK, NOK, PLN and CZK. Net amount, VAT and total also appear in euros on the document. By law, the BMF monthly average rate applies; using a daily rate requires permission from the tax office (§ 16 (6) UStG).
In detail
The default is the BMF monthly rate for the month of supply (§ 16 (6) sentence 1 UStG). Until it is published after month-end, Rechnungskit calculates provisionally with the ECB daily rate and flags that. With the tax office's permission, the daily rate or the previous month's rate also work as a fixed method (section 16.4 (2) UStAE). Which method applies to you is something to settle with your tax advisor
E-invoice with invoice currency (BT-5) and EUR tax currency (BT-6/BT-111) under EN 16931
Rate, rate month and source are frozen per document, identical for the invoice and the DATEV booking
Shopify with several currencies: the invoice is in the currency the customer actually paid (§ 10 UStG), and reconciliation runs in your payout currency
The quarterly OSS return converts foreign-currency OSS sales at the ECB rate of the quarter's last day
Payments whose currency doesn't match the order are never invoiced automatically; they land as a task to resolve
Rechnungskit runs qualified VAT ID checks with the BZSt, live at checkout and again in the invoicing pipeline, and keeps the response as solid evidence.
In detail
The unchanged BZSt response is stored in the GoBD archive and protected against overwriting or deletion by a WORM lock
A SHA-256 checksum protects integrity and is verified on retrieval
Linked to the individual invoice and its date of supply
Kept until December 31 of the eighth year after the check
Transport, export and non-EU business evidence is also archived with WORM protection
Without usable evidence, Rechnungskit issues nothing as tax-exempt
Purchased vouchers, return credit and referral rewards are classified separately and tracked transparently.
In detail
Single- and multi-purpose vouchers under § 3 (13) to (15) UStG
A purchase receipt instead of an invoice for multi-purpose vouchers: own number sequence, no VAT shown. If goods and a voucher are in one order, two documents are created that reference each other and reach the customer together
Store credit stays a means of payment and doesn't accidentally reduce the VAT base
An ongoing, immutable register for issue, partial redemption, cancellation and expiry
Open liability per credit balance, including the DATEV connection
Shopify store credit of unknown origin: guided clarification (return/goodwill or purchased voucher) with a direct link into the Shopify admin instead of a silent assumption
Optional remember rule per shop; every automatically classified case stays documented as a completed task
Revenue and payments as finished EXTF booking batches per month, plus the documents as a DATEV "Belegtransfer" package. Your tax advisor imports both directly, with no rework.
In detail
Finished EXTF bookings for sales, fees and payouts, chart of accounts SKR03 or SKR04, Windows-1252 as DATEV expects
Every invoice booking carries a DATEV Beleglink; the Belegtransfer package (document.xml plus a PDF per invoice) attaches the document images to the bookings in Unternehmen online automatically
Alternatively a simple ZIP of documents (file name = invoice number) for Pennylane or a DMS
Debtors as a collective debtor, per payment provider, per payment method or as an individual debtor per customer with a master data file, so open items in DATEV clear per customer
All nine account roles prefilled with the DATEV standard accounts from SKR03 or SKR04, confirmed with one click and changeable individually
Locking: after that, every download is byte-identical and SHA-256 verified; if an account mapping is missing, the preview warns you and the export is blocked instead of booking wrongly in silence
Every document is stored tamper-proof for 8 years: structured XML in immutable storage (WORM) with a SHA-256 checksum that is verified on every retrieval.
In detail
Finalized documents are never changed or deleted; corrections go through a cancellation invoice or a corrected invoice
The PDF view is generated reproducibly from the XML, as the GoBD version of 14.07.2025 (para. 131) allows
Three copies, all in the EU: production system in Germany, WORM archive in Germany, encrypted backup in Finland
Exportable at any time, even after the contract ends (free for 90 days after cancellation)
Shopify, WooCommerce and Shopware deliver the orders; Stripe, Mollie, PayPal, Klarna, GoCardless, Unzer and Shopify Payments deliver the payments. When the two match, the document is created.
In detail
Connections are read-only: Rechnungskit doesn't change orders, payments or customer data in your shop or at your payment provider
If a payment arrives without a matching order, Rechnungskit creates a task instead of silently guessing an invoice
In test mode you can connect real live accounts while your current system keeps running: documents are created in the test number sequence, and nothing is sent or reported
Stripe Billing, Rechnungskit Checkout and the push API cover subscriptions, selling without a shop and your own systems
Every payout from Stripe, Mollie, PayPal, GoCardless, Klarna or Shopify Payments is broken down into payments, fees and refunds and reconciled against your invoices.
In detail
Automatic breakdown into payments, fees and refunds; fees are never netted against revenue
For Klarna straight from the settlement: fee per transaction plus commission per payout
For Unzer from the transaction-level report (ETN CSV): fees per transaction, net and gross separately
If the payment for an item is missing (missed webhook, sale before your start date), reconciliation fetches it from Stripe and Mollie automatically
You see unresolved items right away and resolve them with a reason; the decision lands immutably in the audit log
Kit guides you from your company details to the first connection. In test mode, documents run through the same pipeline as real invoices, but they don't count anywhere and never leave the system.
In detail
Own test number sequence (TEST-2026-0001), a clear note on every test document, not metered, no sending, no effect on DATEV, OSS or ZM
Test alongside your old system: real orders and payments run through as test documents, without duplicate invoices
Go live in place: connections and settings stay, test data is hidden, and your start date takes effect immediately or at a scheduled minute
Set your invoice number sequence freely and continue your previous numbering seamlessly; test keys at payment providers block go-live
Only four details are required before the first invoice: company name, street, city and VAT ID; you can add everything else later
Role-based access: your team works along, your tax advisor gets their own area, auditors only read. Every action is recorded in the immutable activity log.
In detail
Roles: owner, bookkeeping (works like an admin but can't appoint admins), tax audit with read-only rights, read-only for dashboards
Invitation by email, link valid for 7 days and bound to the address, revocable at any time
Tax advisor via external access: their own area with documents and exports, maintains the DATEV settings and locks exports themselves, with no email back-and-forth
Agency and support access limited to 30 days, ends automatically, can be extended or revoked with one click
Transfer ownership completely, for example when selling the company; the account always needs at least one admin
Kit explains features, shows you the right setting and helps with open tasks. When it doesn't know, a person takes over.
In detail
Answers only from the knowledge base and doesn't invent features; when unsure, Kit escalates instead of guessing
Doesn't change settings or carry out actions; you confirm every change yourself
No tax advice (§ 5 StBerG): Kit explains the basics and refers you to your tax advisor
AI or human, you decide: a person from the Rechnungskit team takes over, usually within a few hours, and if you are away also by email with a link back into the chat
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.
Ready for mandatory e-invoicing?
We check every invoice before it goes out. Set up in minutes, cancel any time.