ZUGFeRD API

ZUGFeRD-Rechnungen per API erzeugen

Ein Request mit strukturierten Daten, zurück kommt das hybride Dokument: ein PDF/A-3, das dein Kunde lesen kann, mit eingebettetem XML, das seine Software liest — beides aus demselben Datensatz, geprüft bevor es rausgeht.

// Warum hybrid schwieriger ist

Zwei Darstellungen, die nicht auseinanderlaufen dürfen

Beim hybriden Format hängt an jeder Rechnung ein zweites Dokument — und beide müssen denselben Sachverhalt zeigen.

  • PDF und Daten müssen übereinstimmen

    Steht im Layout ein anderer Betrag als im eingebetteten XML, ist die Rechnung im Zweifel unbrauchbar. Zwei Erzeugungswege sind zwei Fehlerquellen.

  • PDF/A-3 ist kein normales PDF

    Das Trägerdokument braucht die Archivierungs-Konformität samt Metadaten, damit die eingebettete Datei überhaupt zulässig ist.

  • Anhänge gehören mit hinein

    Leistungsnachweise, Stundenzettel oder Aufmaße landen sonst als zweite Mail beim Empfänger — und damit außerhalb der Rechnung.

  • Der Empfänger will ein Dokument

    Zwei Dateien nebeneinander zu versenden verschiebt das Zusammenführen nur auf die andere Seite.

// Mit Factora

Ein Datensatz, ein Dokument

Layout und XML entstehen im selben Durchlauf aus denselben Feldern — dieselbe Pipeline, die auch die reine XRechnung erzeugt.

  • PDF und XML in einer Antwort

    Die Antwort enthält beides Base64-kodiert. Du musst nichts zusammensetzen und nichts nachträglich einbetten.

  • PDF/A-3 mit Metadaten

    Das Trägerdokument wird nach PDF/A-3 konvertiert und mit Factur-X-XMP ausgezeichnet, bevor die XML-Datei eingebettet wird — der Anhangsname folgt dabei dem Profil.

  • Anhänge eingebettet

    Bis zu zehn Anhänge, zusammen bis 15 MB, mit geprüftem Dateityp — sie reisen im selben Dokument mit.

  • Geprüft vor dem Versand

    Das eingebettete XML läuft durch dieselbe KoSIT-Prüfung wie eine reine XRechnung.

// Integration

Was zurückkommt

Derselbe Atomic Endpoint wie bei der reinen XRechnung — der Unterschied liegt in der Antwort und im Abruf.

Antwort
HTTP/1.1 200 OK

{
  "valid": true,
  "data": {
    "id": null,
    "invoice_number": "RE-2026-0042",
    "status": "sandbox",
    "total": "1428.00",
    "message": "Sandbox-Vorschau — validiert und generiert, nichts gespeichert. Dokumentbytes liefert nur der Live-Key."
  },
  "errors": [],
  "meta": { "sandbox": true }
}
PDF später erneut abholen
GET /api/v1/invoices/4711/pdf/ HTTP/1.1
Authorization: Bearer fa_live_...

# PDF/A-3 mit eingebettetem XML
GET /api/v1/invoices/4711/pdf/

# Nur das eingebettete XML
GET /api/v1/invoices/4711/xml/

Base64 gekürzt dargestellt. Beispieldaten sind frei erfunden.

// Umfang

Was das hybride Dokument enthält

Wir nennen hier bewusst kein Konformitätsprofil, das wir nicht maschinenlesbar nachweisen können.

Trägerdokument

  • PDF/A-3 mit XMP-Metadaten Factur-X-Deklaration, mit veraPDF geprüft ✓ live
  • Eingebettete XML-Datei als Dateianhang im PDF ✓ live
  • Zusätzliche Anhänge max. 10, zusammen 15 MB, MIME-geprüft ✓ live
  • Eigenes Logo und Stammdaten je Konto und je Mandant ✓ live

Eingebettete Daten

  • CII-XML nach EN 16931 erzeugt als XRechnung 3.0.2 CII ✓ live
  • KoSIT-Validierung vor jeder Finalisierung ✓ live
  • Findings je Regel code, rule, bt, location ✓ live
  • Factur-X-Profilkennzeichnung kein eigenes Extension-Schema im PDF ⊙ geplant
// Einwände

Bevor du dich festlegst

Drei Punkte, die vor einer Integration geklärt sein sollten.

  • Wann ZUGFeRD, wann reine XRechnung?

    Behörden verlangen in der Regel die reine XRechnung. Im B2B ist das hybride Dokument oft angenehmer, weil der Empfänger auch ohne E-Rechnungssoftware etwas lesen kann. Beides kommt bei Factora aus demselben Request.

  • Welches ZUGFeRD-Profil ist das?

    Das eingebettete XML ist CII nach EN 16931, erzeugt als XRechnung 3.0.2. Ein Factur-X-Profilkennzeichen im PDF setzen wir aktuell nicht — wer eine formale Profilzusage braucht, sollte das vorher mit uns klären.

  • Wie weit geht das White-Labeling?

    Logo und Stammdaten kommen aus deinem Konto beziehungsweise dem jeweiligen Mandanten. Eine vollständige Entfernung der Factora-Attribution ist im Standard-API-Tarif nicht pauschal enthalten — sprich uns an, wenn du sie brauchst.

// Preis

Ein Preis für beide Formate

Sandbox kostenlos zum Testen. Der Live-Betrieb startet bei 49 € pro Monat inkl. 250 finalisierten Live-Rechnungen; darüber graduiert gestaffelt bis 0,04 € je Rechnung — direkt im Self-Service, monatlich kündbar.

Plattformgebühr · pro Konto

49 € pro Monat

inkl. 250 finalisierte Live-Rechnungen / Monat pro Konto

  • Sandbox kostenlos — nur der Live-Betrieb kostet
  • Multi-Mandant inklusive, ohne Aufpreis
  • Monatlich kündbar, kein Setup

Darüber gestaffelt — aufs Konto-Gesamtvolumen

Rechnungen / Monat Preis / Rechnung
251 – 1.000 0,12 €
1.001 – 5.000 0,07 €
ab 5.001 0,04 €

Entwürfe, Sandbox-Tests, Fehlversuche und idempotente Retries kosten nichts.

Kleinunternehmer §19 UStG — alle Preise sind Endpreise. Die Sandbox ist kostenlos; der Live-Betrieb erfordert ein aktives 49-€-Abo und eine hinterlegte Zahlungsmethode. Graduierte Staffel: jede Stufe wird zu ihrem eigenen Satz berechnet. Monatlich kündbar.

REST-API v1, Bearer-Auth, Idempotency-Keys, KoSIT-Validierung und Mehrmandantenfähigkeit sind inklusive. Für hohe Volumina oder Integrator-Setups mit vielen Mandanten stimmen wir die Konditionen direkt ab.

ZUGFeRD API

Hybride Rechnungen ausprobieren

Mit einem Sandbox-Key bekommst du dasselbe PDF und dasselbe XML wie im Live-Betrieb — nur ohne Speicherung.