Zum Inhalt springen

Funktion

E-Rechnungen: ZUGFeRD und Factur-X

Eine E-Rechnung ist das PDF, das ein Mensch liest, und dieselbe Rechnung als Daten, die ein Programm liest. Formfeed erzeugt beides aus einer Vorlage und einer Anfrage: das PDF, wie Ihre Vorlage es rendert, mit der Rechnung darin als XML, gegen die Regeln der Norm geprüft, bevor Sie es zurückbekommen.

Kostenloser Plan mit 100 Einheiten im Monat, keine Kreditkarte

Eine deutsche Rechnung über 3.760,40 €, aus einer Vorlage gerendert
Der Download des Beispiels: Diese Seite ist eine ZUGFeRD-Datei mit der Rechnung darin als XML.

Eine Datei für den Leser und für die Software

Legen Sie die E-Rechnung in der Vorlage fest oder verlangen Sie sie pro Anfrage mit post.einvoice. Die Antwort ist das PDF, das Ihre Vorlage rendert, umgewandelt in PDF/A-3b, mit der Rechnung als Anhang factur-x.xml. Ein Mensch öffnet es wie jedes PDF; die Buchhaltungssoftware liest das XML.

  • ZUGFeRD und Factur-X. Eine Spezifikation unter zwei Namen, und die Datei ist dieselbe. Formfeed schreibt ZUGFeRD 2.5, das ist Factur-X 1.09, in den Profilen EN 16931 und Basic.
  • Eine Einstellung der Vorlage. In der Vorlage eingeschaltet, ist jedes PDF, das sie rendert, eine E-Rechnung, und die Anfrage bleibt die, die Sie schon senden.
  • HTML- und Word-Vorlagen. Es funktioniert für das PDF einer HTML-Vorlage, einer Word- oder PowerPoint-Vorlage, von HTML, das Sie mit der Anfrage senden, und einer Seite, die Sie über ihre URL nennen.
  • In Ihrer Sprache. Ein vollständiges Programm mit Fehlerbehandlung, gegen einen Stellvertreter der API ausgeführt: Node.js, Python, PHP, Go, C#, Java, Ruby und curl.
POST /v1/rendersJSON
{
  "template": "invoice",
  "data": { "_invoice": { "number": "RE-2026-0042", … } },
  "post": { "einvoice": { "profile": "en16931", "flavour": "zugferd" } }
}

Die Rechnung ist ein Block Ihrer Daten

Das XML wird aus _invoice in den Render-Daten gebaut und nie aus dem PDF herausgelesen. Der Block nennt die Parteien, die Positionen, die Aufschlüsselung der Umsatzsteuer und die Summen in den Begriffen der EN 16931, und Ihre Vorlage druckt aus demselben Block, Seite und XML haben also eine Quelle. Formfeed berechnet nichts für Sie: Eine Summe, die nicht aufgeht, wird mit der verletzten Regel abgelehnt, nie gerundet. Dies sind die Daten des E-Rechnungs-Beispiels, gekürzt.

data.jsonJSON
{
  "_invoice": {
    "number": "RE-2026-0042",
    "issue_date": "2026-09-10",
    "currency": "EUR",
    "seller": { "name": "Fennlor Studio GmbH", "vat_id": "DE000000000", "address": { … } },
    "buyer": { "name": "Olvarest GmbH", "address": { … } },
    "lines": [
      { "id": "1", "name": "Beratung", "quantity": 8, "unit_code": "HUR",
        "net_price": 120, "net_amount": 960, "tax": { "category": "S", "rate": 19 } },
      …
    ],
    "tax": { "breakdown": [{ "category": "S", "rate": 19, "basis": 3160, "amount": 600.4 }] },
    "totals": { "line_net": 3160, "tax_basis": 3160, "tax_total": 600.4, "grand": 3760.4, "due": 3760.4 },
    "payment": { "terms": "Zahlbar bis zum 24.09.2026 ohne Abzug.", "due_date": "2026-09-24", … }
  }
}

Vor der Auslieferung validiert

Jede Datei wird zweimal geprüft, bevor Sie sie erhalten: das XML gegen sein Schema und die Regeln des Profils, zu denen die Geschäftsregeln der EN 16931 gehören, und das fertige PDF gegen PDF/A-3b. Eine Datei, die nicht besteht, wird nicht ausgeliefert, und an ihrer Stelle auch kein gewöhnliches PDF: Das Rendering schlägt fehl und nennt die Regel. Ein Rendering, das gelingt, trägt den Bericht.

  • Bevor etwas gerendert wird. Der Block wird an den Regeln gemessen, sobald die Anfrage eintrifft. Was nicht stimmt, kommt sofort zurück, jeder Befund mit seinem Feld und seiner Regel, etwa BR-CO-15 für eine Summe, die nicht aufgeht, und kostet nichts.
  • Ein Bericht zum Aufbewahren. Der Bericht nennt das Regelwerk, an dem die Datei gemessen wurde, und sagt, dass sie bestanden hat. Er bleibt am Rendering, kommt mit dem Webhook und lässt sich aus dem Render-Protokoll als Datei herunterladen, die neben der Rechnung aufbewahrt wird.
  • Rechnungen zwischen französischen Unternehmen. Sitzen Verkäufer und Käufer beide in Frankreich, muss der Block zusätzlich enthalten, was Frankreichs Regeln vorschreiben: beide SIREN-Nummern, die Art des Umsatzes, die drei gesetzlichen Zahlungshinweise und beide elektronischen Adressen. Das Profil Basic wird für eine solche Rechnung abgelehnt, und der Validator wendet außerdem Frankreichs eigene BR-FR-Regeln an, deren Befunde als Warnungen zurückkommen. Französische Inlandsrechnungen führt die Felder auf.
  • Was er beweist. Die Validierung beweist das Format und die Geschäftsregeln, nicht den Inhalt. Eine Rechnung mit dem falschen Steuersatz besteht.
200 OKJSON
{
  "id": "rnd_7da09ab6cd9946b798c187c2a9350852",
  "status": "succeeded",
  "page_count": 1,
  "units": 2,
  "einvoice": {
    "profile": "en16931",
    "flavour": "zugferd",
    "spec_version": "2.5",
    "validation": {
      "valid": true,
      "schematron": "Factur-X 1.09.2 (Mustang 2.26.0)",
      "pdfa": "PDF/A-3b",
      "messages": []
    },
    "display": { "checked": ["BT-1", "BT-109", "BT-110", "BT-112"], "missing": [] }
  }
}
Ein Rendering im Render-Protokoll mit den zwei Berichten einer Datei. Der E-Rechnungs-Bericht: das Urteil „Gültig“, ZUGFeRD im Profil EN 16931 und drei bestandene Prüfungen (die Regeln des XML, PDF/A-3b sowie Rechnungsnummer und Summen im PDF sichtbar). Darunter der Bericht zur Barrierefreiheit: das Urteil „Konform“, PDF/UA-1 mit veraPDF geprüft, 106 Regeln bestanden, und eine Warnung zu drei Texten, die nur in der Fußzeile der Seite stehen. Jeder Bericht hat eine Schaltfläche, die ihn als JSON herunterlädt.

Die Seite sagt, was das XML sagt

In einer E-Rechnung ist das XML die Rechnung, das PDF daneben darf also keine anderen Beträge zeigen. Formfeed liest den Text des fertigen PDFs und sucht die Rechnungsnummer und die Summen, die das XML nennt. Ein Wert, den die Seite nicht zeigt, steht in einvoice.display.missing; mit display_check: "strict" schlägt das Rendering stattdessen fehl.

Auch ein PDF/UA-1-Dokument, wenn die Vorlage es festlegt

Eine E-Rechnung kann die Struktur tragen, nach der ein Screenreader liest. Legen Sie in derselben Vorlage PDF/UA-1 fest, und die Datei, die Sie erhalten, ist die E-Rechnung und zugleich ein PDF/UA-1-Dokument: Das PDF/A-3 behält seine Tags, veraPDF prüft die fertige Datei gegen beide Normen, und das Rendering trägt den zweiten Bericht als accessibility. Eine Datei, die PDF/UA-1 nicht besteht, lässt das Rendering scheitern oder kommt mit { "check": "report" } als gültige E-Rechnung ohne die PDF/UA-Kennzeichnung zurück. Das gilt für HTML-Vorlagen; das PDF einer Word-Vorlage wird so noch nicht getaggt.

Im Editor

Die Seiteneinrichtung hat einen Abschnitt E-Rechnung mit dem Schalter, dem Format und dem Profil. Darunter sagt eine Karte, was dem Datensatz auf dem Bildschirm fehlt, jeder Befund mit der Regel, die er verletzt, und ein Klick öffnet das Feld. Die Vorschau zählt die Werte des XML, die sie zeigt, und ein echtes Rendering liefert das Urteil des Validators über die echte Datei.

Die Seiteneinrichtung einer Rechnungsvorlage mit dem Abschnitt E-Rechnung: der Schalter eingeschaltet, ZUGFeRD als Format und EN 16931 als Profil, darunter die Karte, die den _invoice-Block des Datensatzes vollständig nennt, mit Rechnungsnummer, zwei Positionen und Gesamtbetrag, daneben die paginierte Vorschau der Rechnung. Die Vorlage ist zugleich ein PDF/UA-1-Dokument: Über dem Abschnitt enden die Warnungen der Vorlagenprüfung zur Fußzeile, und die Statusleiste nennt die E-Rechnung und PDF/UA-1.

Wann eine E-Rechnung Pflicht ist

E-Rechnungen zwischen Unternehmen werden in Stufen Pflicht. Die Termine wurden am 17. Oktober 2026 mit den FAQ des Bundesfinanzministeriums und der französischen Steuerverwaltung abgeglichen.

  • Formate. Deutschland nennt XRechnung und ZUGFeRD ab Version 2.0.1, in jedem Profil außer Minimum und Basic WL. In Frankreich läuft die Rechnung über eine zugelassene Plattform: Formfeed erzeugt die Datei, die Plattform übermittelt sie.
  • Ausnahmen. Viele steuerfreie Umsätze, Kleinbetragsrechnungen bis 250 € brutto, Fahrausweise, die als Rechnung gelten, und Rechnungen von Kleinunternehmern bleiben außerhalb der deutschen Pflicht. Ob und ab wann eine Regel für Sie gilt, ist eine Frage für Ihre Steuerberatung.
LandWerAb
Deutschland: Empfangjedes inländische Unternehmen1. Januar 2025
Deutschland: AusstellungVorjahresumsatz über 800.000 €1. Januar 2027
Deutschland: Ausstellungjedes inländische Unternehmen1. Januar 2028
Frankreich: Empfangjedes Unternehmen1. September 2026
Frankreich: AusstellungGroßunternehmen und Unternehmen mittlerer Größe (ETI)1. September 2026
Frankreich: Ausstellungkleine und mittlere Unternehmen (KMU) und Kleinstunternehmen1. September 2027

Was Formfeed nicht tut

Formfeed erzeugt die Datei und validiert sie. Sie stellen die Rechnung aus und stehen für ihren Inhalt und ihre umsatzsteuerliche Behandlung ein; Formfeed steht für das Format ein, wie es Ziffer 4 der AGB regelt. Der Rest bleibt bei Ihnen oder Ihrer Plattform:

  • Versand. Formfeed ist weder ein Peppol Access Point noch eine zugelassene Plattform in Frankreich. Sie, Ihre Plattform oder Ihr Access Point stellen die Rechnung zu.
  • Archivierung. Ausgaben werden gelöscht, wenn die Aufbewahrung des Workspaces endet, lange vor der gesetzlichen Frist für Rechnungen. Archivieren Sie die ausgelieferte Datei und ihren Bericht selbst; ist Ihr eigener Speicher verbunden, geht von jeder Datei beim Rendern eine Kopie in Ihren Bucket.
  • Die umsatzsteuerliche Behandlung. Welche Kategorie, welcher Satz und welcher Befreiungsgrund gelten, entscheiden Sie oder Ihre Steuerberatung. Formfeed prüft, ob der Block zu dem passt, was Sie angeben, und leistet keine Steuerberatung.
  • XRechnung und UBL. Nicht verfügbar, ebenso wenig die Profile Minimum, Basic WL und Extended.

FAQ

In welchen Plänen, und was kostet es?
E-Rechnungen gibt es ab Starter, und sie kosten eine Einheit zusätzlich zum Rendering: Eine zweiseitige Rechnung kostet zwei Einheiten. Renderings mit einem Test-Schlüssel und Vorschauen im Editor sind kostenlos. Im Free-Plan lässt es sich ausprobieren, bevor Sie zahlen: Test-Renderings und das echte Rendering im Editor erzeugen bis zu 20 E-Rechnungen pro Tag, jede eine gültige Datei mit der Testmarkierung auf ihren Seiten. Eine Live-Anfrage nach einer E-Rechnung wird dort abgelehnt. In den bezahlten Plänen tragen Test-E-Rechnungen die Markierung ebenfalls und werden pro Tag gezählt, ein Dreißigstel der monatlichen Einheiten des Plans: 100 in Starter, 500 in Pro, 2.000 in Business. Live-E-Rechnungen werden weder gezählt noch markiert.
Ist Formfeed zertifiziert?
Nein. Weder Deutschland noch Frankreich lässt Software zum Erzeugen von E-Rechnungen zu oder zertifiziert sie; die Vorschriften beschreiben die Datei. Frankreich registriert die Plattformen, die Rechnungen übermitteln, und Formfeed ist keine davon.
ZUGFeRD oder Factur-X: Was brauche ich?
Es ist dieselbe Datei. Wählen Sie den Namen, den Ihr Kunde kennt: flavour entscheidet nur, wie das Rendering und sein Bericht sie nennen.
Kann ich eine sehen?
Das E-Rechnungs-Beispiel ist eine vollständige Rechnungsvorlage mit ihren Daten, und sein Download ist eine echte ZUGFeRD-Datei. Ein Klick kopiert es in Ihren Workspace.
Wo stehen die Einzelheiten?
Die Anleitung zu E-Rechnungen führt jedes Feld von _invoice, die Optionen, den Bericht und die Fehler auf.

Weitere Funktionen

Heute mit dem Rendern beginnen

Der kostenlose Plan enthält 100 Einheiten im Monat und kostenlose Testrenderings. Wechseln Sie den Plan, wenn Sie mehr brauchen.