Was eine E-Rechnung ist
Eine E-Rechnung enthält die Rechnung als strukturierte Daten, die Software direkt verbuchen kann. Ein PDF ist dagegen nur ein Bild einer Rechnung.
Lange war eine Rechnung als PDF im E-Mail-Anhang völlig normal. Der Kunde las sie, tippte die Beträge in seine Buchhaltung und zahlte. Das Umsatzsteuergesetz nennt so ein PDF heute eine sonstige Rechnung. Eine E-Rechnung ist dagegen eine Rechnung in einem strukturierten elektronischen Format, das der europäischen Norm EN 16931 entspricht.
Für diese Struktur gibt es zwei Wege. Der erste ist das XML allein, so funktioniert die XRechnung. Der zweite ist ein hybrides Format: ein normales PDF zum Lesen, in das dieselbe Rechnung als XML eingebettet ist. Das ist ZUGFeRD in Deutschland und Factur-X in Frankreich. Seit ZUGFeRD 2.1 sind beide technisch dieselbe Datei.
- Ihre Buchhaltungdie Rechnung ist fertig
- e_invoice als JSONParteien, Positionen, USt.
- CastPDFprüft und rechnet
- PDF/A-3 mit XMLoder das XRechnung-XML
- Ihr Kundebucht ohne Abtippen
Bei einer hybriden Rechnung ist das XML der rechtlich führende Teil. Das Bundesfinanzministerium sagt das ausdrücklich. Deshalb dürfen die Beträge auf der Seite und im XML nie voneinander abweichen. CastPDF erzeugt beide aus einer einzigen Berechnung.
Nein. Ein PDF ohne eingebettetes XML ist keine E-Rechnung, auch wenn Sie es per E-Mail verschicken. Erst die strukturierten Daten machen daraus eine E-Rechnung.
Die E-Rechnungspflicht: 2025, 2027 und 2028
Empfangen müssen alle Unternehmen schon jetzt. Das Ausstellen wird in zwei Stufen Pflicht: 2027 für größere Unternehmen, 2028 für alle.
- 1. Januar 2025In KraftAlle müssen empfangenJedes Unternehmen in Deutschland muss E-Rechnungen von anderen Unternehmen empfangen und verarbeiten können.
- Bis 31. Dezember 2026JetztÜbergang für alleSie dürfen weiter Papierrechnungen senden. Ein PDF oder ein anderes elektronisches Format ist mit Zustimmung des Empfängers erlaubt.
- 1. Januar 2027KommtGrößere Unternehmen müssen sendenWer im Vorjahr mehr als 800.000 Euro Gesamtumsatz hatte, muss E-Rechnungen ausstellen. Kleinere Unternehmen dürfen 2027 noch Papier oder PDF nutzen.
- 1. Januar 2028KommtAlle müssen sendenDie Übergangsfrist endet für alle. Rechnungen zwischen inländischen Unternehmen sind dann E-Rechnungen.
Grundlage ist das Wachstumschancengesetz. Es hat § 14 des Umsatzsteuergesetzes geändert und die Übergangsregeln in § 27 Abs. 38 UStG festgelegt. Wie die Regeln im Alltag gelten, erklärt das Bundesfinanzministerium im BMF-Schreiben vom 15. Oktober 2024. Ein zweites BMF-Schreiben vom 15. Oktober 2025 hat es überarbeitet und ergänzt.
Bis Ende 2027 dürfen außerdem Rechnungen im EDI-Verfahren weiterlaufen, wenn beide Seiten zustimmen. Das betrifft vor allem Handel und Industrie, die schon heute Rechnungen zwischen ihren Systemen austauschen.
- Die XRechnung zählt als E-Rechnung.
- ZUGFeRD ab Version 2.0.1 zählt, außer in den Profilen MINIMUM und BASIC WL.
- Ein einfaches PDF ist keine E-Rechnung, auch nicht per E-Mail.
- Weichen Seite und XML einer ZUGFeRD-Datei ab, gilt das XML.
Handwerksverbände haben gefordert, die Stufe 2027 um ein Jahr zu verschieben. Bis August 2026 war nichts beschlossen. Prüfen Sie die aktuellen Termine in den FAQ des Bundesfinanzministeriums oder bei Ihrem Steuerberater.
Ausnahmen: Privatkunden, Kleinbeträge, Kleinunternehmer
Die Pflicht gilt für Rechnungen zwischen Unternehmen im Inland, also im B2B-Geschäft. Einige Rechnungen dürfen auch nach 2028 als Papier oder PDF verschickt werden:
- Rechnungen an Privatkunden (B2C). Hier ist keine E-Rechnung nötig.
- Kleinbetragsrechnungen bis 250 Euro brutto nach § 33 UStDV, zum Beispiel eine Quittung.
- Fahrausweise nach § 34 UStDV, etwa Bahn- und Bustickets.
- Rechnungen von Kleinunternehmern nach § 19 UStG. Die Ausnahme steht in § 34a UStDV.
Kleinunternehmer ist seit 2025, wer im Vorjahr höchstens 25.000 Euro und im laufenden Jahr höchstens 100.000 Euro Umsatz hat. Wichtig: Auch Kleinunternehmer müssen E-Rechnungen empfangen können. Ausgenommen sind sie nur beim Ausstellen.
Für den Empfang genügt nach Auskunft des BMF ein E-Mail-Postfach. Damit Sie die Rechnung lesen und prüfen können, brauchen Sie aber ein Programm, das das XML anzeigt. Unser XRechnung-Validator zeigt die Eckdaten einer E-Rechnung kostenlos an.
Welches Format: ZUGFeRD, XRechnung oder Factur-X?
Für Geschäftskunden in Deutschland: ZUGFeRD. Für öffentliche Auftraggeber: XRechnung. Für Kunden in Frankreich: Factur-X. Alle drei entstehen aus derselben Anfrage.
| ZUGFeRD | XRechnung | Factur-X | |
|---|---|---|---|
| Wo es genutzt wird | Deutschland, zwischen Unternehmen | Deutschland, öffentliche Auftraggeber (und viele Unternehmen) | Frankreich, und lesbar für ZUGFeRD-Empfänger |
| Was die Datei ist | PDF/A-3 mit factur-x.xml darin | Nur XML (Syntax CII oder UBL) | PDF/A-3 mit factur-x.xml darin |
| Für Menschen lesbar | Ja, es ist ein PDF | Nur mit einem Viewer oder einer lesbaren Kopie | Ja, es ist ein PDF |
| Zusätzliche Pflichtangaben | Keine über EN 16931 hinaus | Leitweg-ID, Kontakt des Verkäufers, elektronische Adressen | Keine über EN 16931 hinaus |
Wert für standard | zugferd | xrechnung-cii oder xrechnung-ubl | factur-x |
Die häufigste Frage ist ZUGFeRD oder XRechnung. Behörden erwarten meist die XRechnung, oft über ein Portal, und nennen Ihnen die Syntax. Unternehmen nehmen häufig lieber ZUGFeRD, weil ihre Mitarbeiter das PDF weiter öffnen und lesen können. Beide sind E-Rechnungen im Sinne des Gesetzes. Mehr dazu lesen Sie auf unseren Seiten zu ZUGFeRD und zur XRechnung.
Profile: wie viele Daten das XML enthält
| Profil | Rechnungspositionen | E-Rechnung in Deutschland | Wert für `profile` |
|---|---|---|---|
| MINIMUM | Nein, nur Kopf und Summen | Nein | minimum |
| BASIC WL | Nein, nur Kopf und Summen | Nein | basic-wl |
| BASIC | Ja | Ja | basic |
| EN 16931 (früher COMFORT) | Ja, die volle europäische Norm | Ja | en16931 (Standard) |
| EXTENDED | Ja, mit Zusatzfeldern | Ja | extended |
| XRECHNUNG (nur ZUGFeRD) | Ja, mit den XRechnung-Regeln | Ja | xrechnung |
Nehmen Sie en16931, wenn Ihr Kunde nichts anderes verlangt. Das Profil enthält die ganze Rechnung, und die meisten Empfänger rechnen damit. Die beiden kleinsten Profile enthalten keine Positionen und gelten in Deutschland nicht als Rechnung.
E-Rechnung im B2B-Alltag: empfangen, senden, aufbewahren
Für viele Betriebe ändert sich zuerst der Posteingang. Lieferanten schicken XML-Dateien oder ZUGFeRD-PDFs, und Ihre Buchhaltung muss sie lesen können. Danach kommt der Ausgang: Ihre eigenen Rechnungen brauchen ab 2027 oder 2028 ein strukturiertes Format.
- Klären Sie, ob Ihre Buchhaltungssoftware E-Rechnungen empfangen und anzeigen kann.
- Prüfen Sie Ihren Vorjahresumsatz: Über 800.000 Euro gilt für Sie die Stufe 2027.
- Fragen Sie Ihre wichtigsten Kunden, welches Format sie bevorzugen.
- Bewahren Sie E-Rechnungen im Originalformat auf, also das XML, nicht nur einen Ausdruck.
- Testen Sie eine Rechnung mit einem Kunden, bevor Sie alle umstellen.
Rechnungen sind Buchungsbelege. Für sie gilt seit 2025 in der Regel eine Aufbewahrungsfrist von acht statt zehn Jahren. Bei E-Rechnungen muss dabei der strukturierte Teil erhalten bleiben. Das ist allgemeine Information, keine Steuer- oder Rechtsberatung. Fragen zu Ihrem Fall klären Sie am besten mit Ihrem Steuerberater.
E-Rechnung erstellen: drei Wege
Wie Sie E-Rechnungen erstellen, hängt davon ab, wo Ihre Rechnungsdaten heute liegen. Für die meisten Betriebe passt einer von drei Wegen:
| Weg | Passt für | So geht es |
|---|---|---|
| Rechnungssoftware | Betriebe, die ohnehin ein Buchhaltungsprogramm nutzen | Fragen Sie Ihren Anbieter nach ZUGFeRD oder XRechnung. Viele Programme können es schon. |
| Kostenloser Generator | Einzelne Rechnungen, Tests, Kleinbetriebe | Formular ausfüllen und die Datei herunterladen, mit dem E-Rechnungs-Generator. |
| E-Rechnungs-API | Eigene Shops, Plattformen und Abrechnungssysteme | Ihr System sendet die Rechnung als JSON an CastPDF und erhält die fertige Datei zurück. |
Eine eigene Schnittstelle lohnt sich, wenn Ihre Rechnungen schon in einer Datenbank entstehen. Dann ist die E-Rechnung nur ein weiterer Aufruf, und Ihr Rechnungslayout bleibt erhalten. Die PDF-API dahinter erstellt auch Ihre übrigen Dokumente.
Eine Anfrage: vom JSON zur E-Rechnung
Legen Sie die Rechnung in e_invoice in die normale Anfrage POST /v1/pdf. Eine Vorlage brauchen Sie nicht, die eingebaute Rechnungsvorlage erzeugt die Seite. Mit standard wählen Sie das Format, die Rechnung selbst bleibt gleich.
{
"e_invoice": {
"standard": "zugferd",
"profile": "en16931",
"invoice": {
"number": "RE-2026-0815",
"issue_date": "2026-10-10",
"currency": "EUR",
"seller": {
"name": "Lindqvist Software GmbH",
"vat_id": "DE123456789",
"address": { "line1": "Kastanienallee 12", "city": "Berlin", "postal_code": "10435", "country_code": "DE" }
},
"buyer": {
"name": "Brightwater Kaffee GmbH",
"address": { "city": "Hamburg", "postal_code": "20457", "country_code": "DE" }
},
"payment": { "iban": "DE89370400440532013000", "due_date": "2026-11-09" },
"lines": [
{ "name": "Softwarelizenz", "quantity": 1, "unit_price": "4800.00", "vat": { "category": "S", "rate": 19 } },
{ "name": "Handbuch, gedruckt", "quantity": 3, "unit_price": "24.90", "vat": { "category": "S", "rate": 7 } }
]
}
}
}curl https://api.castpdf.com/v1/pdf \
-H "Authorization: Bearer $CASTPDF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: rechnung-RE-2026-0815" \
-d @RE-2026-0815.json \
-o RE-2026-0815.pdfimport { readFile, writeFile } from 'node:fs/promises';
const body = await readFile('RE-2026-0815.json', 'utf8');
const res = await fetch('https://api.castpdf.com/v1/pdf', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CASTPDF_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': 'rechnung-RE-2026-0815',
},
body,
});
if (!res.ok) {
const { error } = await res.json();
// invalid_e_invoice listet jedes Problem in error.details.issues
throw new Error(`${error.code}: ${error.message}`);
}
await writeFile('RE-2026-0815.pdf', Buffer.from(await res.arrayBuffer()));import json
import os
import requests
with open("RE-2026-0815.json", encoding="utf-8") as f:
body = json.load(f)
res = requests.post(
"https://api.castpdf.com/v1/pdf",
headers={
"Authorization": f"Bearer {os.environ['CASTPDF_API_KEY']}",
"Idempotency-Key": "rechnung-RE-2026-0815",
},
json=body,
timeout=60,
)
if not res.ok:
error = res.json()["error"]
raise RuntimeError(f"{error['code']}: {error['message']}")
with open("RE-2026-0815.pdf", "wb") as f:
f.write(res.content)HTTP/1.1 200 OK
content-type: application/pdf
content-disposition: attachment; filename="RE-2026-0815.pdf"
x-e-invoice: zugferd/en16931
x-pages: 1Mit "standard": "xrechnung-ubl" liefert dieselbe Anfrage das XRechnung-XML, sobald die Rechnung die zusätzlichen XRechnung-Felder enthält. Die API-Referenz beschreibt jedes Feld. Der Leitfaden zu ZUGFeRD und XRechnung zeigt Gutschriften, Reverse Charge und steuerfreie Umsätze.
Die eingebaute Rechnungsvorlage beschriftet die Seite derzeit auf Englisch. Beträge und Daten erscheinen bei einem deutschen Verkäufer im deutschen Format. Für eine deutsch beschriftete Seite senden Sie Ihre eigene Vorlage mit template_id. Rechtlich führend ist ohnehin das XML.
Summen einmal berechnet, zweimal gedruckt
Der häufigste Grund für eine abgelehnte E-Rechnung ist eine Summe, die um einen Cent abweicht. CastPDF rechnet jede Summe selbst, nach den Regeln, die auch die Prüfprogramme nutzen.
- Jede Position ist Menge mal Nettopreis, auf Cent gerundet, danach folgen Abschläge und Zuschläge der Position.
- Die Umsatzsteuer wird einmal je Kategorie und Steuersatz berechnet, nicht je Position.
- Gerechnet wird mit exakten Dezimalzahlen, ohne Gleitkommafehler.
- Senden Sie gern eigene
totals: Jede Abweichung meldet die API mit unserem Wert. - Reverse Charge, innergemeinschaftliche Lieferungen und Exporte erhalten den passenden Befreiungstext und Code.
Viele Abrechnungssysteme runden die Steuer pro Position. EN 16931 rundet einmal je Steuersatz, und das kann einen Cent Unterschied machen. Senden Sie Ihre Summen mit, nennt die API die abweichende Summe und den Grund, bevor etwas erzeugt oder berechnet wird.
Was wir geprüft haben, und womit
Jede Angabe nennt das Werkzeug, die Version und das Ergebnis. Keine Behörde hat CastPDF geprüft, und wir behaupten das auch nicht.
| Prüfung | Werkzeug | Ergebnis |
|---|---|---|
| XML-Struktur, jedes Profil | Die offiziellen XSD-Schemas, in unserer Testsuite | Jedes erzeugte XML besteht |
| Geschäftsregeln | Offizielle Schematron-Regeln: CEN EN 16931 1.3.16, Factur-X 1.09, KoSIT XRechnung 3.0.2 | Keine verletzte Regel in unserer Testsuite |
| PDF/A-3b | veraPDF 1.30.3, Lauf vom 10. Oktober 2026 | 16 von 16 Beispiel-PDFs konform, 0 fehlgeschlagene Prüfungen |
| XRechnung und EN 16931 | KoSIT-Validator 1.6.3 mit der Konfiguration für XRechnung 3.0.2 | Alle 14 Dateien akzeptiert, 0 fehlgeschlagene Prüfungen |
Die Beispiele decken sechs Rechnungsarten ab: zwei Steuersätze mit Rabatten und Zuschlägen, Reverse Charge, einen steuerfreien Umsatz, eine Gutschrift, eine innergemeinschaftliche Lieferung und einen Rundungstest mit 40 Positionen.
veraPDF prüft PDF/A, nicht die Übereinstimmung zwischen PDF-Metadaten und XML. Ihr Empfänger kann eigene Regeln haben. Senden Sie ihm deshalb zuerst eine Testrechnung.
Was eine E-Rechnung kostet
Eine E-Rechnung zählt in Ihrem Tarif genau wie jedes andere PDF. Der kostenlose Tarif enthält 100 Dokumente im Monat. Bezahlte Tarife beginnen bei 19 $ im Monat für 2.500 Dokumente. Mit Testschlüsseln erstellen Sie beliebig viele E-Rechnungen mit Wasserzeichen, und eine abgelehnte Anfrage zählt nie. Alle Tarife finden Sie auf der Preisseite.
Häufige Fragen
Ist eine PDF-Rechnung eine E-Rechnung?
Ab wann muss mein Unternehmen E-Rechnungen ausstellen?
Müssen Kleinunternehmer E-Rechnungen schreiben?
Brauche ich XRechnung oder ZUGFeRD?
Versendet CastPDF E-Rechnungen, zum Beispiel über Peppol?
Wer hat geprüft, ob die E-Rechnungen von CastPDF stimmen?
Kostet eine E-Rechnung extra?
Alles zum Thema E-Rechnung
Alle Seiten, die auf dieser aufbauen. Jede beantwortet eine engere Frage ausführlicher.