Bestands-PDF zur E-Rechnung — ohne Vorlagenwechsel
Deine Rechnungsvorlage bleibt, wie sie ist. Das maschinenlesbare XML entsteht daneben.
Die Rechnung entsteht heute in Word, Excel oder einem Branchenprogramm und geht als PDF raus. Was mit der E-Rechnungspflicht fehlt, ist nicht das Aussehen, sondern die Struktur: Nummer, Datum, Parteien, Positionen und Steuerbeträge als Felder statt als Text. Die API nimmt genau diese Felder entgegen und gibt ein PDF/A-3 zurück, das aussieht wie vorher und das eingebettete EN-16931-XML mitführt. Wer seine Vorlage behalten will, muss die Rechnungssoftware dafür nicht wechseln.
Was reinkommt
PDF-Rechnung aus Word, Excel oder einem Branchenprogramm
Positionszeilen mit Menge, Einheit, Einzelpreis und Steuersatz
Stammdaten des Absenders: Anschrift, USt-IdNr., IBAN, Zahlungsziel
Empfängerdaten aus dem Adressfeld, bei Behörden zusätzlich die Leitweg-ID
Was das löst
Die Vorlage bleibt, wo sie ist
Kein Wechsel der Rechnungssoftware, kein neues Layout, keine Schulung. Die bestehende Vorlage liefert weiter das Aussehen; die API liefert die Struktur, die der Empfänger einlesen muss.
Ein PDF ist nicht automatisch genau eine Rechnung
Ein Sammel-PDF kann mehrere Rechnungen enthalten. Wer je Datei eine Rechnung annimmt, verliert die zweite ohne Fehlermeldung. Die Abbildung setzt deshalb an der einzelnen Rechnung an, nicht an der Datei.
Pflichtfelder, die im PDF nur Text sind
Steuerkategorie, Einheit, Zahlungsziel und ein erreichbarer Ansprechpartner stehen im PDF als Fließtext. Als Feld fehlen sie — und genau daran scheitert die erste XRechnung. Die Prüfung benennt die verletzte Regel samt Feld, bevor die Rechnung rausgeht.
Der Empfänger sieht weiterhin ein PDF
ZUGFeRD ist ein PDF/A-3 mit konform eingebettetem XML. Menschen lesen das Blatt, Systeme lesen den Anhang — niemand muss auf ein Format umgestellt werden, das er nicht öffnen kann.
Ein echtes Beispiel
Ausschnitt aus dem Rezept „ZUGFeRD-PDF erzeugen“ — dieselben Felder, die im PDF heute nur Text sind.
{ "invoice": { "invoiceNumber": "RE-2025-002", "issueDate": "2025-01-15", "seller": { "name": "Muster GmbH" }, "buyer": { "name": "Beispiel AG" }, "items": [ { "position": 1, "description": "Beratungsleistung", "quantity": 10, "unit": "HUR", "unitPrice": 150, "taxRate": 19, "netAmount": 1500, "taxAmount": 285, "grossAmount": 1785 } ], "subtotal": 1500, "total": 1785 }}POST /api/v1/invoice/DE/zugferd/generate
Antwort: ein Base64-kodiertes PDF/A-3 mit eingebettetem EN-16931-XML. Die Position rechnet 10 × 150,00 € = 1.500,00 € netto, 19 % ergeben 285,00 € Steuer, Gesamtbetrag 1.785,00 € — dieselben Werte, die oben in der Eingabe stehen.
Das vollständige RezeptDie beteiligten Endpoints
- Invoice CreatorLive
POST /api/v1/invoice/{countryCode}/{format}/generate
- ValidatorLive
POST /api/v1/invoice/{countryCode}/validate
Gegenüber der Alternative
Die Alternative zu diesem Weg heißt: Rechnungssoftware wechseln und die Vorlage neu bauen. Das löst die E-Rechnung mit — und kostet die gewachsene Vorlage, die Nummernkreise und die Einarbeitung.
Zum VergleichSo läuft es
- 1
Rechnungsdaten aus der Vorlage abgreifen — als Export oder über feste Regeln je Vorlagentyp. Ohne Sprachmodell: eine Regel, die danebenliegt, sieht man; ein Modell, das rät, nicht.
- 2
POST /api/v1/invoice/DE/zugferd/generate mit den Feldern aus Schritt 1.
- 3
Antwort dekodieren, als PDF speichern und wie bisher per E-Mail versenden.
Was es bei diesem Umfang kostet
Rund 300 Rechnungen im Monat liegen im Tarif Starter bei 23 € pro Monat.
Alle Preise netto, zzgl. USt. · 20 % Rabatt bei Jahreszahlung · Free-Tier ohne Kreditkarte
Alle TarifeGrenzen
- Die API liest kein PDF — sie nimmt Felder entgegen. Das Herauslösen der Felder aus deiner Vorlage bleibt der Schritt davor.
- Peppol-Versand ist noch nicht verfügbar (geplant 2027). Peppol BIS 3.0 erzeugen und prüfen kannst du heute.
- Revisionssichere Ablage ist nicht Teil der API (Archive API geplant 2027).
Häufige Fragen
Muss ich meine Rechnungsvorlage ändern?
Nein. Gebraucht werden die Werte, nicht das Layout. Solange sich Nummer, Datum, Parteien, Positionen und Steuerbeträge aus deiner Vorlage herauslösen lassen, bleibt das Blatt, wie es ist.
Liest die API ein bestehendes PDF aus?
Der Parse-Endpoint liest E-Rechnungen — also XML und PDFs mit eingebettetem XML. Ein PDF ohne eingebettete Daten enthält keine strukturierten Felder; die kommen auf diesem Weg aus deiner Vorlage, nicht aus dem Bild.
Was passiert, wenn in einem PDF zwei Rechnungen stehen?
Dann sind es zwei Vorgänge. Die Abbildung muss je Rechnung greifen, sonst verschwindet die zweite lautlos — das ist der Fehler, der in der ersten echten Strecke am teuersten war.