Skip to content
Rechnungskit

Documents, formats and the GoBD archive

Updated

Every document is a ZUGFeRD invoice: a PDF/A-3 with embedded XML according to EN 16931, valid for B2C and B2B in Germany and the EU. Before it is created, every invoice is validated against the mandatory details of § 14 Abs. 4 UStG (the German VAT Act) and against the format.

This page answers: who the e-invoicing mandate applies to, which formats Rechnungskit creates, when an XRechnung is created, how cancellation invoices and address corrections work, and how Rechnungskit archives under the GoBD.

One document · from the order to the archive
Validate, create, archive immutably
  1. ValidationMandatory details and format§ 14 Abs. 4 UStG, EN 16931
  2. DocumentZUGFeRD or XRechnungXRechnung only for customers with a Leitweg-ID
  3. ArchiveXML for 8 years, WORMSHA-256 checksum, verified on every retrieval
  4. Correctionnever overwrittencancellation plus new invoice, or a corrected invoice
Finalized documents are never changed or deleted. Rechnungskit reproduces the PDF from the archived XML on demand.

The e-invoicing mandate in brief

Since January 1, 2025, every business in Germany must be able to receive e-invoices (Abschn. 14.1 Abs. 5 UStAE). For sending domestic B2B invoices, transition periods apply (§ 27 Abs. 38 UStG):

Prior-year revenue Send e-invoices from Allowed until then
more than €800,000 January 1, 2027 another kind of invoice until the end of 2026
at most €800,000 January 1, 2028 another kind of invoice until the end of 2027

During this transition, a PDF is only allowed with the recipient's consent. A plain PDF is not an e-invoice, because it lacks the structured format (§ 14 Abs. 1 Satz 3 und 4 UStG).

E-invoicing mandate · domestic B2B
Receive from 2025, send from 2027 or 2028
  1. Jan 1, 2025All businesses receiveAbschn. 14.1 Abs. 5 UStAE
  2. Jan 1, 2027Sending above €800,000 prior-year revenueanother kind of invoice allowed before
  3. Jan 1, 2028Sending for everyone else§ 27 Abs. 38 UStG
Invoices to consumers, small-amount invoices up to €250 and travel tickets are exempt from the sending obligation.

Exceptions

  • Consumers (B2C): the mandate only covers supplies to other businesses (§ 14 Abs. 2 Satz 2 Nr. 1 UStG). A shop that only sells to consumers (a D2C Shopify store, for example) does not have to send e-invoices. It must still be able to receive them, from suppliers for instance.
  • Small amounts and travel tickets: small-amount invoices up to €250 and travel tickets are exempt (§ 33 Satz 4 and § 34 Abs. 1 UStDV).
  • Buyers abroad: the German e-invoicing mandate does not apply to sales to businesses not established in Germany (§ 14 Abs. 2 Satz 2 Nr. 1 UStG). Whether the buyer's country has its own requirements is something to check case by case with your tax advisor.

Rechnungskit still issues every invoice as ZUGFeRD: consumers open the PDF, business customers import the XML. That way the shop is ready as soon as business customers buy.

Delivery and authorities

Germany has no central platform and no PEPPOL obligation. Seller and buyer agree on the channel, and according to the Federal Ministry of Finance (BMF), email is one of them (Abschn. 14.1 Abs. 4 Satz 6 und 7 UStAE). Rechnungskit sends by email once delivery is switched on.

Federal authorities generally require XRechnung with a Leitweg-ID (routing ID) (§ 4 Abs. 1 and § 5 Abs. 1 ERechV, see XRechnung). Federal states and municipalities have their own rules. For details on deadlines and exceptions, refer to rechnungskit.de/en/guides/e-invoicing-mandate; for individual cases, to your tax advisor.

Sources: § 14 UStG, § 27 Abs. 38 UStG, § 33 UStDV, § 34 UStDV, Abschn. 14.1 UStAE, § 4 ERechV, § 5 ERechV

Formats

Format Status When
ZUGFeRD 2.5 (profile EN 16931) live standard for all documents
XRechnung 3.0 (pure XML for public-sector customers) live per customer, as soon as a Leitweg-ID is stored, see XRechnung
PEPPOL, FatturaPA, ebInterface not supported German trade does not require them

For a customer with a Leitweg-ID, future invoices are created as XRechnung automatically, and everyone else stays on ZUGFeRD.

Small-amount invoices and missing addresses

Small-amount invoices up to €250 (§ 33 UStDV) work without full recipient details. That never applies to EU distance sales, intra-community supplies or reverse charge.

If a required recipient address is missing, you request it from the buyer with a data request. The buyer adds their billing address through a link without logging in, and the document is then created automatically. The button "Request details" sits on the task under Payments or Orders.

XRechnung for public-sector customers

Authorities and other public-sector customers in Germany usually require the invoice as XRechnung (pure XML according to EN 16931, CIUS XRechnung 3.0) with their Leitweg-ID. For the federal government this is set out in § 4 Abs. 1 and § 5 Abs. 1 Nr. 1 ERechV. Rechnungskit has no project setting for it; the format is decided per customer.

Format per customer · no project setting
How the Leitweg-ID leads to XRechnung
Enter it under Customers
Expand the customer, enter the Leitweg-ID in the box "Invoice format", for example 04011000-1234512-68, and save.
Applies toall future invoices
With the order
In the checkout and subscription checkout via the link "Leitweg-ID ergänzen" for business customers in Germany, through the API as leitweg_id.
Invalidis rejected
Add a phone number
XRechnung requires a phone number for the invoice issuer (BR-DE-6), in the invoice contact under Settings.
If missinginvoice held, task
Documents already created stay unchanged. If you have no Leitweg-ID, you don't need to do anything: ZUGFeRD stays the standard.

Customer list

Under Customers, Rechnungskit groups your orders by email address. If the order has no address, it takes the address from the payment, for Mollie subscriptions for example.

After going live, only real orders and documents count, and the test data from test mode no longer appears there. In test mode you correspondingly see only the test data.

Adding a Leitweg-ID

  1. Under Customers, expand the customer.
  2. Enter the Leitweg-ID in the box "Invoice format" (example 04011000-1234512-68).
  3. Save.

From then on, all future invoices for this customer are created as XRechnung. Documents already created stay unchanged (GoBD). Owners, bookkeeping and setup roles may save; in the demo account the field is read-only.

Alternatively, the Leitweg-ID comes with the order. In the Rechnungskit checkout and the subscription checkout, business customers with country Germany see the link "Leitweg-ID ergänzen" (add Leitweg-ID) below the billing address. It opens an optional field "Leitweg-ID". Through your own API it is leitweg_id in the billing address.

An invalid Leitweg-ID is rejected. The format is 2 to 12 digits, an optional fine-addressing part and a two-digit check number, each separated by a hyphen.

Phone number required

XRechnung requires a phone number for the invoice issuer (rule BR-DE-6). It lives under Settings in the invoice contact ("Phone"). If it is missing, the invoice is not created incorrectly; it is held and shown as a task.

What changes on the document

  • Delivery: the customer gets the XML file as an attachment to the invoice email, plus a PDF as a readable copy.
  • Archive: the XRechnung sits in the archive like every other document, with hash and validation. The document view shows "XRechnung 3.0" as the format.
  • No small amounts: there are no small-amount invoices for XRechnung customers; the full invoice is always created.
  • No authority portal: PEPPOL delivery to an authority portal is not included. You upload the XML file in the customer's portal or send it by email.

If you have no Leitweg-ID, you don't need to do anything: ZUGFeRD is the right and sufficient standard for all businesses and consumers.

Date of supply (Leistungsdatum)

The invoice must state the time of supply (§ 14 Abs. 4 Satz 1 Nr. 6 UStG). For shipped goods that is when shipping begins, so the shipping date and not the payment date (Abschn. 13.1 Abs. 2 Satz 2 UStAE). Rechnungskit takes it automatically from the shop's shipping event or from the fulfillment message of the API.

Rechnungskit always writes the date of supply as a date on the invoice and into the XML (BT-72, for subscriptions the service period), even when it falls on the invoice date. The note "date of supply equals invoice date" is only enough for other invoices. In an e-invoice the date must be in the structured part (Abschn. 14.5 Abs. 16 Satz 3 und 4 UStAE, BMF letter of October 15, 2025). Older invoices with the note stay unchanged in the archive.

Sources: § 14 Abs. 4 UStG, Abschn. 13.1 UStAE

Cancellation invoices (Storno): only from events

Cancellation invoices are created automatically from refunds and cancellations in the shop or at the payment provider, accurate to the cent, partial refunds included. There is deliberately no manual cancellation button; that protects the number sequence and traceability.

Partial refunds with items

For a partial refund from Shopify or WooCommerce, the cancellation invoice lists exactly the refunded items, for example "−1 × item" when one of two units came back. This also applies when the money went back through PayPal, Stripe or Mollie: Rechnungskit takes the items from the refund in the shop and the amount from the payment provider. If shipping was refunded as well, it appears as its own line.

Partial refunds without items

If the shop reports no items (Shopware, say, or a refund of an amount only), the setting under Document rules → Cancellation invoices for refunds decides:

Setting What the cancellation invoice shows
Proportional (default) the amount spread across all lines
Collective line one line "Refund", only with a single tax rate, otherwise proportional
"Assign manually" you pick the refunded items yourself in the task "Assign partial refund" (see Assign partial refund, in German)

Two special cases without a cancellation invoice

  • Chargebacks (Rücklastschriften) do not create a cancellation invoice. The goods or service were delivered, the receivable is open again and lands in your tasks for clarification.
  • An unpaid B2B invoice is not canceled. If the payment becomes uncollectible, that is a bad debt for tax purposes, which your bookkeeping handles through an adjustment under § 17 Abs. 2 Nr. 1 UStG.

Source: § 17 UStG

Correcting the billing address

If a customer entered the billing address wrongly or incompletely at checkout (forgot the company name, mistyped the street) or wants a different billing address, you correct it directly on the invoice, without a cancellation invoice. This creates a corrected invoice (berichtigende Rechnung, § 31 Abs. 5 UStDV) under the same invoice number. The original invoice stays unchanged and valid, and the correction is archived in addition, tamper-proof.

Which correction fits?
Corrected invoice, or cancellation plus new invoice
Corrected invoice§ 31 Abs. 5 UStDV
Whenaddress of the same recipient wrong or incomplete
Numberthe same invoice number
DATEVno second booking
Originalstays valid, both archived
Cancellation plus new invoicefrom events
Whenthe amount changes, or a different recipient
Numbernew numbers for cancellation and invoice
DATEVcancellation and new revenue
Originalstays archived, gets canceled
A change of recipient, say from a private person to someone else's company, is not an address correction and is rejected.

How to correct it

  1. Open. In the invoice view, choose "Correct billing address". A small form opens, prefilled with the current address, and you change only the wrong field. Optionally you add a VAT ID (USt-IdNr.), which is then checked automatically with the Federal Central Tax Office (BZSt).
  2. Correct. One click creates the corrected invoice under the same number, archived tamper-proof. The original invoice stays untouched.
  3. Pass it on. You can download the documents one by one or as a combined PDF and send them to the customer again together ("Resend both").

Downloads after a correction

Download Content
Invoice + correction (PDF) both documents in one file. The recommended document to pass on to the customer (it contains the corrected address); it is the primary download at the top.
Original invoice (PDF) the unchanged original invoice, still available on its own. It is never removed or hidden; original and correction are separate documents, each to be kept.
Correction (PDF) only the correction document

The correction document uses the same invoice template as the invoice (logo, color, letterhead, footer), so it reads like a natural second page in the combined PDF. At the top it shows the reference to the original invoice (number and date), the corrected address and, below it, the previous (wrong) address struck through.

What applies legally

  • No second revenue, no second DATEV booking. Only the address changes; amount and supply stay the same, so nothing is booked again and no new invoice number is assigned.
  • Input tax deduction stays possible. From the original invoice and a clearly linked address correction, the recipient can deduct input tax. The correction takes effect retroactively from the time the invoice was first issued (BFH, judgment of October 20, 2016, V R 26/15; Abschn. 15.2a Abs. 7 UStAE).
  • Same invoice recipient. A correction may only fix the address of the same person or company (adding a forgotten company name, for example). A different recipient (say, from a private person to someone else's company for the input tax deduction) is a change of recipient, not an address correction, and is rejected. The invoice names the recipient of the supply (§ 14 Abs. 4 Satz 1 Nr. 1 UStG), and a correction does not swap that. For this you need a cancellation invoice and a new invoice.
  • No country lock. For supplies of goods, the place of supply follows the route of the goods (§ 3 Abs. 6 and § 3c UStG), not the billing address. So the corrected address may also be abroad, and the delivery address is not affected. Digital services to consumers are different: there the customer's place of residence counts (§ 3a Abs. 5 UStG). If the address changes country in that case, check the tax rate with your tax advisor.
  • Pay-by-invoice/BNPL (Unzer, Billie): there the address was the basis for approving the payment. Kit warns you before the change. You can still make it, but if in doubt, clear it with the payment provider first.
  • Can be corrected several times. A further correction creates another corrected invoice; every version stays archived.

Sources: § 31 Abs. 5 UStDV, § 14 Abs. 4 UStG, § 3 UStG, § 3a UStG, § 3c UStG, BFH, V R 26/15, Abschn. 15.2a UStAE

GoBD archive

The structured XML record (EN 16931) is archived for 8 years, tamper-proof (§ 14b Abs. 1 UStG, § 147 Abs. 3 AO). It sits in immutable storage (WORM) with a SHA-256 checksum that is verified on every retrieval.

GoBD · what is kept and how
The XML is the document, the PDF is made on demand
XML record according to EN 169318 years in immutable storage (WORM), SHA-256 checksum verified on every retrieval
archived
PDF/A-3 viewreproduced from the XML, an identical copy in content (GoBD para. 76)
on demand
Small-amount invoicethe pinned HTML is archived
archived
Changing or deletingnever for finalized documents. Corrections through a cancellation invoice or a corrected invoice
ruled out
After the contract ends, the export of the complete archive stays open free of charge for 90 days.

Why no PDF is stored

The human-readable PDF/A-3 view is reproduced from the XML on demand. For small-amount invoices, the pinned HTML is archived instead. The PDF is not stored permanently, because it contains nothing that is not in the XML.

Under the current version of the GoBD (the German tax authority's rules for electronic bookkeeping, BMF letter of July 14, 2025), an invoicing program does not have to keep a pictorial copy of the outgoing invoice. That includes the PDF part of a hybrid format, as long as an identical copy in content can be produced at any time (GoBD para. 76). For e-invoices received, the structured part is likewise enough, as long as the image part contains no additional tax-relevant details (GoBD para. 131).

Immutable, exportable, your duty

  • Immutable: finalized documents are never changed or deleted. Corrections that change the amount go through a cancellation invoice and a new invoice; a pure address correction goes through a corrected invoice under the same number (see Correcting the billing address).
  • Export after the contract ends: the export of the complete archive stays open to you after the contract ends (free of charge for 90 days after cancellation).
  • Retention duty: under § 14b UStG and § 147 AO it lies legally with you as the merchant. Rechnungskit provides the archive and export for it.

Sources: § 14b UStG, § 147 AO, GoBD, 2nd amendment of July 14, 2025

Layout

You set the template, logo, accent color and text blocks under Settings → Invoice template. Every change creates a new, immutable template version, and existing documents stay as they were.

Where to find it in the app

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.

de en