# ZUGFeRD erstellen per API (Factur-X, PDF/A-3)

Source: https://veriport.io/guides/factur-x-zugferd-generieren-api (published 2026-10-28)

Mit `"format": "zugferd"` liefert `POST https://veriport.io/api/v1/einvoice/create` eine hybride Rechnung: ein PDF/A-3, dessen sichtbare Seite aus denselben Daten gezeichnet ist wie die eingebettete Datei `factur-x.xml` (CII, Profil EN 16931). ZUGFeRD 2.x und Factur-X 1.0 sind dasselbe Format; das Profil EN 16931 heißt bei ZUGFeRD « COMFORT ». Jede Beispieldatei der Prüfreihe hat veraPDF als PDF/A-3B-konform und Mustang als gültige ZUGFeRD-Rechnung bewertet. 20 Aufrufe je Rechnung.

- Das PDF erfüllt PDF/A-3b: eingebettete Schrift (IBM Plex Sans), sRGB-Ausgabeprofil, XMP-Metadaten mit der Factur-X-Erweiterung, die XML als Anhang mit AFRelationship « Alternative ».
- Die eingebettete XML ist reines EN 16931 (Kennung `urn:cen.eu:en16931:2017`), ohne XRechnung-Zusatzregeln: für Behörden, die XRechnung verlangen, ist `xrechnung-ubl` oder `xrechnung-cii` das richtige Format.
- Die sichtbare Seite gibt es auf Deutsch, Englisch, Französisch und Niederländisch (`language`); Beträge, Steuer und Summen kommen aus demselben Modell wie die XML.
- Belegt: veraPDF 1.30.3 und Mustang 2.26.0 auf allen 31 ZUGFeRD-PDFs der Prüfreihe, der KoSIT-Validator auf jeder eingebetteten XML.

## Warum ZUGFeRD statt reiner XML?

Der Empfänger kann das PDF lesen wie jede Rechnung, und seine Buchhaltung liest die XML. Seit 2025 gilt eine ZUGFeRD-Rechnung ab Profil EN 16931 in Deutschland als E-Rechnung im Sinne des § 14 UStG; die Profile MINIMUM und BASIC WL genügen dafür nicht. In Frankreich ist Factur-X eines der drei Formate der Reform (Empfang ab 1. September 2026, Ausstellung für KMU ab 1. September 2027).

## Die Anfrage

Dasselbe JSON wie für XRechnung, nur das Format ändert sich. Für die sichtbare Seite können Sie `language` setzen (de, en, fr, nl); ohne Angabe gilt Deutsch für einen deutschen Verkäufer. Das Beispiel ist der Fall « allowance-and-charge » (3 % Treuerabatt auf eine Basis, ein fester Nachlass zu 7 %, Versand zu 19 %).

```json
{
  "format": "zugferd",
  "number": "2026-040",
  "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",
      "quantity": 20,
      "unitCode": "HUR",
      "unitPrice": 95,
      "vat": {
        "category": "S",
        "rate": 19
      }
    },
    {
      "name": "Fachbuch Barrierefreiheit",
      "quantity": 10,
      "unitCode": "C62",
      "unitPrice": 19.99,
      "vat": {
        "category": "S",
        "rate": 7
      }
    }
  ],
  "allowances": [
    {
      "percent": 3,
      "baseAmount": 1900,
      "reason": "Treuerabatt 3 %",
      "reasonCode": "95",
      "vat": {
        "category": "S",
        "rate": 19
      }
    },
    {
      "amount": 10,
      "reason": "Mengenrabatt Bücher",
      "vat": {
        "category": "S",
        "rate": 7
      }
    }
  ],
  "charges": [
    {
      "amount": 24.9,
      "reason": "Versand",
      "reasonCode": "FC",
      "vat": {
        "category": "S",
        "rate": 19
      }
    }
  ]
}
```

```bash
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-040" \
  -D headers.txt -o rechnung.pdf \
  -d @invoice.json
```

## Was zurückkommt

`application/pdf` mit `Veriport-Validation: valid; profile=en16931; …`. Mit `?envelope=json` dieselbe Datei in Base64 plus Prüfbericht. Pro Anfrage prüft die API die eingebettete XML gegen Schema und EN-16931-Regeln; die PDF/A-Konformität ist durch die Prüfreihe belegt (veraPDF) und wird nicht bei jeder Anfrage neu gemessen.

## Eine erhaltene ZUGFeRD-Rechnung lesen

`POST https://veriport.io/api/v1/einvoice/parse` öffnet ein ZUGFeRD- oder Factur-X-PDF, liest die eingebettete XML und gibt sie als dasselbe JSON zurück, das `create` annimmt, mit einer Liste dessen, was das JSON nicht abbildet (`notInJson`). Mit `?as=pdf` gibt es eine lesbare PDF/A-Kopie. Ohne Konto zeigt der [E-Rechnungs-Viewer](/tools/einvoice-viewer) eine Rechnung im Browser an.

## Was nicht dabei ist

- Die Profile MINIMUM, BASIC WL und EXTENDED sowie das ZUGFeRD-Profil XRECHNUNG werden in v1 nicht erzeugt; geprüft wird EN 16931 und BASIC.
- Die besonderen Angaben der französischen Plattformen (PA) der Reform 2026/2027 sind nicht umgesetzt.
- 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.

## Questions

### Ist ZUGFeRD dasselbe wie Factur-X?

Ja, seit ZUGFeRD 2.1 sind beide technisch identisch; Factur-X ist der französische Name, die Kennungen der Profile sind gleich. Eine Rechnung im Profil EN 16931 ist in beiden Ländern dieselbe Datei.

### Kann ich eine Factur-X-Datei kostenlos prüfen?

Ja, auf [Factur-X valider](/tools/valider-factur-x) (Französisch) oder [XRechnung prüfen](/tools/xrechnung-pruefen), ohne Konto, 4 Prüfungen am Tag.

### Wird das PDF gespeichert?

Nein. Es entsteht im Speicher der Anfrage und wird nur Ihnen geliefert; eine Wiederholung mit demselben Idempotency-Key erzeugt es neu, byte-gleich.

## Read next

- [Die E-Rechnungs-API: Formate, Belege, Preise](https://veriport.io/einvoice-api)
- [XRechnung erstellen per API](https://veriport.io/guides/xrechnung-erstellen-api)
- [Factur-X kostenlos prüfen](https://veriport.io/tools/valider-factur-x)
- [E-Rechnung im Browser lesen](https://veriport.io/tools/einvoice-viewer)

## Sources

- ZUGFeRD 2.x (identical to Factur-X 1.0; the EN 16931 profile is « COMFORT ») — https://www.ferd-net.de/standards/zugferd (2026-10-28)
- Factur-X 1.0 (the Franco-German hybrid invoice: PDF/A-3 with CII, profiles MINIMUM to EXTENDED) — https://fnfe-mpe.org/factur-x/ (2026-10-28)
- veraPDF, the industry-supported PDF/A validator (release 1.30.3) — https://verapdf.org/ (2026-10-28)
- Mustang project (ZUGFeRD / Factur-X library and validator, release 2.26.0) — https://www.mustangproject.org/ (2026-10-28)
- § 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 — https://www.gesetze-im-internet.de/ustg_1980/__14.html (2026-10-28)
- Facturation électronique et plateformes agréées: reception by every business from 1 September 2026, issue by SMEs from 1 September 2027 — https://www.impots.gouv.fr/facturation-electronique-et-plateformes-agreees (2026-10-28)
