E-Rechnung API: XRechnung, ZUGFeRD und Peppol BIS per REST erzeugen, prüfen, lesen
Eine E-Rechnung-API nimmt Rechnungsdaten als JSON an und liefert die Datei zurück, die der Empfänger maschinell verarbeiten kann und die § 14 UStG als E-Rechnung anerkennt: eine XRechnung (UBL oder CII), eine ZUGFeRD-/Factur-X-PDF oder eine Peppol-BIS-Rechnung. Veriport tut drei Dinge über HTTPS: POST /einvoice/create schreibt die Datei aus einem JSON-Modell und prüft sie vor der Auslieferung gegen Schema und die veröffentlichten Regeln; POST /einvoice/validate prüft jede empfangene E-Rechnung; POST /einvoice/parse liest sie in dasselbe JSON oder in eine lesbare PDF zurück. Versendet wird nichts, gespeichert wird nichts.
- Fristen (§ 14 UStG, Wachstumschancengesetz): Empfang von E-Rechnungen für jedes inländische Unternehmen seit dem 1. Januar 2025; Ausstellung ab 1. Januar 2027 für Unternehmen mit mehr als 800.000 € Vorjahresumsatz, ab 1. Januar 2028 für alle. Eine PDF per E-Mail ist ab dann keine E-Rechnung mehr.
- Kosten: eine erzeugte Rechnung wiegt 20 Aufrufe, eine Prüfung oder ein Einlesen 5; 4 Prüfungen am Tag ohne Schlüssel, 100 Aufrufe im Monat mit einem kostenlosen Schlüssel, danach Pakete ab $9. Abgelehnte Anfragen kosten nichts.
- Belegt: Jede Beispieldatei der Prüfreihe hat der KoSIT-Validator (XRechnung und Peppol), veraPDF (PDF/A-3) und Mustang (ZUGFeRD) angenommen; der eingebaute Validator nennt auf allen Dateien dieselben Regel-IDs wie die KoSIT (Tabelle auf der Produktseite).
- Nichts wird stillschweigend weggelassen: Ein Feld, das v1 nicht schreibt, wird mit 422
einvoice_unsupportedabgelehnt und beim Namen genannt; eine verletzte Regel mit 422einvoice_invalidund Regel-ID.
Was muss eine E-Rechnung-API können?
Vier Dinge, die eine PDF-Vorlage nicht kann. Erstens die Formate: XRechnung für deutsche Behörden und viele Unternehmen, ZUGFeRD / Factur-X für den Rechnungsempfänger, der weiter ein PDF sehen will, Peppol BIS für das Peppol-Netz (in Belgien seit 2026 Pflicht zwischen Unternehmen). Zweitens die Prüfung vor dem Versand: Eine Datei, die BR-DE-15 oder PEPPOL-EN16931-R010 verletzt, wird vom Portal oder vom Zugangspunkt abgewiesen. Drittens den Empfang: eine erhaltene E-Rechnung lesen, prüfen und in die eigene Buchhaltung übernehmen. Viertens die Ehrlichkeit über Grenzen: welche Felder geschrieben werden, welche nicht, und was die API nicht tut (versenden, archivieren).
Die drei Aufrufe
| Aufruf | Sie senden | Sie erhalten | Kosten |
|---|---|---|---|
POST /einvoice/create | Rechnung als JSON (InvoiceInput, Format xrechnung-ubl, xrechnung-cii, zugferd oder peppol-bis) | Die Datei (XML oder PDF/A-3) mit ihrem Prüfbericht im Header Veriport-Validation; mit ?envelope=json Datei, Bericht und ergänzte Werte als JSON | 20 Aufrufe |
POST /einvoice/validate | Eine XML-Datei oder eine ZUGFeRD-/Factur-X-PDF | Gültig oder nicht, Profil, jede Meldung mit Regel-ID, Schweregrad, XPath, Text | 5 Aufrufe; ohne Schlüssel 4 am Tag |
POST /einvoice/parse | Eine empfangene E-Rechnung | Dasselbe JSON wie bei create, plus notInJson; mit ?as=pdf eine lesbare PDF | 5 Aufrufe |
Ein Beispiel: XRechnung erzeugen
Die Rechnungsdaten folgen den Geschäftsbegriffen der EN 16931; Summen und Steueraufschlüsselung rechnet die API aus den Positionen. Mit Idempotency-Key liefert eine Wiederholung dieselbe Datei, ohne zweite Berechnung.
{
"format": "xrechnung-ubl",
"number": "2026-017",
"issueDate": "2026-10-20",
"paymentTermsDays": 14,
"buyerReference": "EK-2026-0345",
"deliveryDate": "2026-10-15",
"seller": {
"name": "Lena Hartmann — Webdesign",
"address": {
"street": "Lindenstraße 14",
"postalCode": "10969",
"city": "Berlin",
"countryCode": "DE"
},
"vatId": "DE136695976",
"contact": {
"name": "Lena Hartmann",
"phone": "+49 30 1234567",
"email": "rechnung@hartmann-webdesign.example"
}
},
"buyer": {
"name": "Mustermann Maschinenbau GmbH",
"address": {
"street": "Industrieweg 7",
"postalCode": "70565",
"city": "Stuttgart",
"countryCode": "DE"
},
"contact": {
"email": "buchhaltung@mustermann.example"
}
},
"payment": {
"iban": "DE02120300000000202051"
},
"lines": [
{
"name": "Relaunch Website, Konzeption und Umsetzung",
"quantity": 24,
"unitCode": "HUR",
"unitPrice": 95,
"vat": {
"category": "S",
"rate": 19
}
},
{
"name": "Lizenz Bildmaterial",
"quantity": 1,
"unitCode": "C62",
"unitPrice": 128.4,
"vat": {
"category": "S",
"rate": 19
}
}
]
}curl -X POST "https://veriport.io/api/v1/einvoice/create" \
-H "Authorization: Bearer vp_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 2026-017" \
-D headers.txt -o xrechnung.xml \
-d @invoice.jsonWas die API nicht tut
- Kein Versand: die API erzeugt und prüft Dateien, sie übermittelt nichts (kein Peppol-Zugangspunkt, keine E-Mail an den Empfänger).
- Keine Speicherung: Eingabe und Datei existieren nur während der Anfrage; die GoBD-konforme Archivierung bleibt beim Rechnungssteller.
- Keine Steuerberatung: die Datei enthält die Angaben, die Sie senden; welche Steuerkategorie gilt, entscheidet der Rechnungssteller.
- Version 1 schreibt: Euro, Verkäufer in Deutschland, Käufer in einem EU-Mitgliedstaat, Kategorien S, Z, E, AE und K, Rechnung 380, Gutschrift 381, Rechnungskorrektur 384, Überweisung, bis 500 Positionen, Nachlässe und Zuschläge auf Belegebene. Anhänge, Anzahlungen, Positionszeiträume, Artikelnummern und Lastschrift werden mit
einvoice_unsupportedabgelehnt, nie stillschweigend weggelassen.
Was kostet eine E-Rechnung per API?
20 Aufrufe je erzeugter Rechnung: mit dem 10.000er-Paket ($29) sind das 500 Rechnungen, also knapp 6 Cent je Rechnung; mit dem 2.000er-Paket ($9) 100 Rechnungen zu 9 Cent. Anbieter, die auch versenden (Peppol-Zugangspunkte), nehmen 18 bis 30 Cent je Dokument inklusive Übermittlung; der Vergleich steht datiert auf der Produktseite. 100 kostenlose Aufrufe im Monat sind fünf Rechnungen oder zwanzig Prüfungen.
Questions
- Versendet die API die E-Rechnung an den Empfänger?
- Nein. Sie erzeugt und prüft die Datei; den Versand übernehmen Sie (E-Mail, Portal-Upload bei Behörden: ZRE, OZG-RE oder Landesportal) oder ein Peppol-Zugangspunkt. Veriport ist kein Zugangspunkt.
- Genügt eine ZUGFeRD-PDF als E-Rechnung nach § 14 UStG?
- Ja, ab dem Profil EN 16931 (bei ZUGFeRD « COMFORT »); die Profile MINIMUM und BASIC WL genügen nicht. Die API schreibt das Profil EN 16931.
- Kann ich erhaltene E-Rechnungen damit verarbeiten?
- Ja:
validatesagt, ob die Datei gültig ist,parseliefert die Rechnungsdaten als JSON für die Buchhaltung und, mit?as=pdf, eine lesbare Kopie. Der kostenlose E-Rechnungs-Viewer tut dasselbe im Browser. - Gibt es ein SDK?
- Die TypeScript- und Python-Clients mit
createEInvoice,validateEInvoiceundparseEInvoiceliegen im öffentlichen SDK-Repository; die Veröffentlichung auf npm und PyPI ist ein Schritt des Betreibers und wird im Changelog angekündigt.
100 Aufrufe im Monat ohne Karte: fünf erzeugte Rechnungen oder zwanzig Prüfungen.
Kostenlosen API-Schlüssel holenSources
- § 14 UStG (Ausstellung von Rechnungen): the e-invoice for domestic B2B supplies, receipt since 1 January 2025, issue from 1 January 2027 (turnover above €800,000) and 1 January 2028 — Bundesministerium der Justiz (gesetze-im-internet.de), consulted 2026-10-28
- XRechnung — the German CIUS of EN 16931 (standard, versions and bundles; version 3.0.2 in force) — KoSIT (Koordinierungsstelle für IT-Standards), Bremen, consulted 2026-10-28
- ZUGFeRD 2.x (identical to Factur-X 1.0; the EN 16931 profile is « COMFORT ») — FeRD (Forum elektronische Rechnung Deutschland), consulted 2026-10-28
- Peppol BIS Billing 3.0 — specification, identifiers, code lists and rules — OpenPeppol AISBL, consulted 2026-10-28. « Peppol » is a trademark of OpenPeppol; used descriptively.
- KoSIT validator (the reference validator for XRechnung), release 1.6.3 — KoSIT, consulted 2026-10-28
- Recommand — pricing (certified Peppol access point with an API): 25 documents free then €0.30; €29 a month for 200 (€0.20 each above); €99 for 1,000 — Recommand, consulted 2026-10-28. Prices exclude VAT; a document is sent or received over Peppol: the price includes the transmission Veriport does not do.
- e-invoice.be — Peppol invoice generator and pricing: Pro from €0.25 per invoice, Enterprise from €0.18 — e-invoice.be, consulted 2026-10-28. Per sent invoice: the price includes the Peppol transmission.