# Germany e-invoicing API

Send German e-invoices through the Complyance API, and find out when German businesses need structured e-invoices. Check the buyer's requirements before choosing a format or delivery route.

## Which rules apply?

For domestic business-to-business (B2B) transactions, Germany requires an e-invoice with structured data that can be processed electronically. A PDF alone is not an e-invoice. The structured format must comply with EN 16931, the European invoice standard.

The [German Federal Ministry of Finance’s e-invoicing FAQ](https://www.bundesfinanzministerium.de/Content/DE/FAQ/e-rechnung.html) distinguishes the B2B rules from separate business-to-government (B2G) requirements:

| Date | Domestic B2B requirement |
| - | - |
| 1 January 2025 | German businesses must be able to receive e-invoices. An email inbox is sufficient for receipt. |
| Through 31 December 2026 | Issuers may generally continue to use paper invoices, or another electronic format such as a PDF with the recipient’s consent. |
| During 2027 | The same issuing transition continues for businesses with prior-year turnover of up to €800,000. A separate transition for certain EDI invoices also runs through 2027. |
| From 1 January 2028 | The issuing transitions end for qualifying domestic B2B transactions. |

These rules do not apply to every invoice: consumer sales, some tax-exempt supplies and invoices up to €250 gross are examples of exceptions. Check the [ministry’s exceptions and transition rules](https://www.bundesfinanzministerium.de/Content/DE/FAQ/e-rechnung.html) for your transaction. Invoices to public authorities have separate rules; ask the authority which format and delivery channel it accepts.

## What Complyance produces

Complyance turns your GETS invoice into a **Peppol BIS Billing 3.0** invoice, a UBL format that complies with EN 16931, and delivers it over Peppol, the network for exchanging business documents, to the buyer’s Peppol access point. The buyer needs a Peppol participant ID; you send it, with its scheme, in the request. Complyance does not produce XRechnung or ZUGFeRD files. If a buyer asks for one of those formats or another channel, check with the buyer whether it accepts Peppol BIS Billing 3.0 over Peppol.

The last step Complyance reports is the hand-over to the buyer’s access point: the Invoice Portal shows the invoice as **Submitted**, with delivery **Delivered**. Germany has no tax authority clearance step, so the API does not report `final_valid` for a German invoice.

## Keep your invoices

Under § 14b of the German VAT Act, invoices are kept for eight years, starting at the end of the calendar year in which the invoice was issued. See [§ 14b UStG](https://www.gesetze-im-internet.de/ustg_1980/__14b.html).

## Send a German invoice

For a company onboarded in Germany, send a GETS invoice with `country: "DE"` to [Unify](https://docs.complyance.io/api-reference/unify/submit-and-retrieve/). GETS is the standard invoice payload you send to Complyance. Include the German [fields](https://docs.complyance.io/countries/de/fields/) required for the document type and use the [Germany examples](https://docs.complyance.io/countries/de/examples/) to prepare your request. A successful HTTP `200` means the document passed validation and was stored; it does **not** by itself prove delivery. The response includes the generated Peppol BIS Billing 3.0 XML in `Base64XML`. Keep the returned `documentId` and follow its delivery. When your sandbox results are correct, follow the [Germany go-live checklist](https://docs.complyance.io/countries/de/go-live/).

For a public-sector buyer, ask for the **buyer’s** Leitweg-ID, a routing reference placed in the invoice’s buyer reference (BT-10 Buyer reference). It is not your company’s registration number, and a domestic B2B buyer does not generally need one. [Germany examples](https://docs.complyance.io/countries/de/examples/#invoice-to-a-public-authority-b2g) has a B2G request. See [onboarding](https://docs.complyance.io/countries/de/onboarding/) before sending and [validation rules](https://docs.complyance.io/countries/de/validation-rules/) if your invoice is rejected.

The format and channel a public authority accepts depend on the authority; ask it before you send.

Source: https://docs.complyance.io/countries/de/
