Zum Inhalt springen

ZUGFeRD, XRechnung oder Peppol: welches Format brauchst du?

Drei Namen, eine Norm. Wer die Unterschiede kennt, wählt in Sekunden richtig, und meistens wählt Quittio sogar selbst.

Formate15.10.2026 · ca. 9 Minuten

Kurz gesagt

Für Unternehmen in Deutschland ist ZUGFeRD im Profil EN 16931 die bequemste Wahl: ein lesbares PDF mit eingebettetem XML. Behörden verlangen XRechnung mit Leitweg-ID. Peppol ist ein Netz für den Versand, vor allem für Empfänger im Ausland, die dort registriert sind. Verbraucher, Kleinbeträge bis 250 € und Kunden außerhalb der EU bekommen ein normales PDF. Quittio trifft diese Wahl automatisch.

Was die drei gemeinsam haben

Alle drei beruhen auf der europäischen Norm EN 16931. Sie legt fest, welche Angaben eine elektronische Rechnung hat: Verkäufer, Käufer, Positionen, Steuer, Summen, Zahlung. Jedes Feld hat eine Nummer, etwa BT-1 für die Rechnungsnummer oder BT-10 für die Käuferreferenz.

Technisch gibt es zwei Schreibweisen (Syntaxen) für dieselben Daten: CII (Cross Industry Invoice) und UBL (Universal Business Language). Die Formate unterscheiden sich darin, welche Syntax sie nutzen, ob ein PDF dabei ist und welche Zusatzregeln gelten.

FormatWas es istTypischer Empfänger
ZUGFeRD / Factur-XPDF/A-3 mit eingebettetem CII-XML. Menschen lesen das PDF, Software das XML. ZUGFeRD (Deutschland) und Factur-X (Frankreich) sind derselbe Standard.Unternehmen
XRechnungDer deutsche Standard für öffentliche Auftraggeber: nur XML, in CII oder UBL, mit zusätzlichen deutschen Regeln (BR-DE)Behörden in Deutschland
Peppol BIS Billing 3.0UBL-XML, das über das Peppol-Netz zugestellt wird, ein internationales Netz für E-RechnungenUnternehmen und Behörden, die an Peppol angeschlossen sind
CII, UBLReines XML in einer der beiden SyntaxenEmpfänger, die genau das verlangen
PDFEin PDF ohne XML (PDF/A-3 zum Archivieren)Verbraucher, Kleinbeträge, Länder ohne Pflicht

Die Entscheidung in einer Tabelle

Entscheidend ist, wer die Rechnung bekommt. Für einen Verkäufer in Deutschland:

Dein KundeFormatWarum
Unternehmen in DeutschlandZUGFeRD (EN 16931)E-Rechnung im Sinne des UStG, zugleich lesbares PDF
Behörde in DeutschlandXRechnung (CII)Von öffentlichen Auftraggebern verlangt; die Leitweg-ID steht in der Käuferreferenz
VerbraucherPDFKeine E-Rechnungspflicht
Kleinbetrag bis 250 € bruttoPDFKleinbetragsrechnungen sind ausgenommen (§ 33 UStDV)
Unternehmen im EU-AuslandZUGFeRD (EN 16931)Lesbares PDF mit Standard-XML
Unternehmen, das über Peppol erreichbar istPeppol BISZustellung über das Peppol-Netz
Kunde außerhalb der EUPDFKeine EU-Vorgaben

Unternehmen in Deutschland: ZUGFeRD

Für Rechnungen an Unternehmen gelten in Deutschland XRechnung und ZUGFeRD ab Version 2.0.1 als E-Rechnung, ZUGFeRD in den Profilen BASIC, EN 16931, EXTENDED und XRECHNUNG. Beide Formate sind zulässig. ZUGFeRD hat einen praktischen Vorteil: Wer die Rechnung noch nicht maschinell verarbeitet, kann das PDF wie gewohnt lesen.

Quittio nutzt das Profil EN 16931, die vollständige Norm. Die kleineren Profile MINIMUM und BASIC WL reichen nicht; warum, steht im Beitrag ZUGFeRD-Profile erklärt.

XRechnung an Unternehmen?

Geht auch. Manche Unternehmen wünschen reines XML, weil ihre Buchhaltung es direkt einliest. Frag im Zweifel, was dein Kunde verarbeitet, und gib das Format dann vor.

Behörden: XRechnung mit Leitweg-ID

Öffentliche Auftraggeber in Deutschland verlangen XRechnung. Jede Behörde hat eine Leitweg-ID, ihre Adresse für Rechnungen. Sie steht als Käuferreferenz (BT-10) in der Rechnung. Fehlt sie, meldet Quittio die Regel BR-DE-15.

Quittio erkennt Behörden an einer gültigen Leitweg-ID in der Käuferreferenz oder an einer elektronischen Adresse mit dem Schema 0204 und wählt dann automatisch xrechnung-cii. Zusätzlich verlangt XRechnung elektronische Adressen von Verkäufer und Käufer, einen Ansprechpartner beim Verkäufer und Zahlungsangaben.

Peppol: ein Netz, kein Dateiformat für das Inland

Peppol ist vor allem ein Zustellnetz. Teilnehmer sind über eine Peppol-ID erreichbar; Rechnungen laufen über zertifizierte Access Points. Das Dateiformat darin ist Peppol BIS Billing 3.0, UBL nach EN 16931 mit eigenen Regeln.

In Deutschland ist Peppol keine Pflicht. Interessant wird es, wenn Kunden im Ausland Rechnungen über Peppol empfangen. Quittio erzeugt die gültige Datei; den Versand übernimmt dein Access-Point-Anbieter. Ein eigenes Paket für den Versand (quittio/peppol) steht auf der Roadmap.

Damit Quittio Peppol automatisch wählt, gibst du eine Abfrage mit, die prüft, ob der Käufer im Netz erreichbar ist. Quittio liefert dafür keinen eigenen Dienst mit:

bootstrap.php
use Quittio\Core\Data\Party\BuyerParty;
use Quittio\Core\Formats\DefaultFormatResolver;
use Quittio\Core\Quittio;
use Quittio\Country\DE\CountryDE;

$quittio = Quittio::create($config, [new CountryDE], formatResolver: new DefaultFormatResolver(
    defaultProfile: 'en16931',
    autoUpgradeProfile: true,
    peppolLookup: fn (BuyerParty $buyer): bool => $directory->isRegistered($buyer->electronicAddress),
));

Verbraucher, Kleinbeträge, Ausland

  • Verbraucher: keine E-Rechnungspflicht. Quittio erzeugt ein PDF ohne XML.
  • Kleinbeträge bis 250 €: ausgenommen. Markiere die Rechnung mit ->smallAmount(), dann wird ein PDF erzeugt.
  • Kunden außerhalb der EU: keine EU-Vorgaben, daher PDF.
InvoiceController.php
$result = Quittio::invoice()
    ->buyer($customer)
    ->line('Coffee', netPrice: '3.50')
    ->smallAmount()            // ≤ 250 €
    ->render();                // → pdf

So wählt Quittio automatisch

Ohne Formatangabe entscheidet Quittio anhand der Daten, die du ohnehin angibst: Länder von Verkäufer und Käufer, ob der Käufer Verbraucher ist, und die Käuferreferenz. Die Reihenfolge:

  1. Inlandsrechnung mit Länderregel: In Deutschland führt eine Leitweg-ID zu XRechnung, ein markierter Kleinbetrag zu PDF.
  2. Käufer über Peppol erreichbar (nur mit Abfrage): Peppol.
  3. Verbraucher: PDF.
  4. Sonstige Inlandsrechnung: ZUGFeRD mit dem Profil EN 16931.
  5. Grenzüberschreitend innerhalb der EU: zuerst die Regeln des Länderpakets des Käufers, sonst ZUGFeRD.
  6. Verkäufer oder Käufer außerhalb der EU: PDF.

Was Quittio gewählt hat, siehst du am Ergebnis, oder vorher mit prepare():

InvoiceService.php
$result = Quittio::make($invoice)->render();       // ohne Format: automatische Wahl
$result->format();                                 // "zugferd"
$result->profile()?->key();                        // "en16931"

$prepared = Quittio::make($invoice)->prepare();    // dieselbe Entscheidung, ohne zu rendern
$prepared->format();

Ein Format selbst vorgeben

Verlangt ein Kunde ein bestimmtes Format, nennst du es. Jedes Format bringt sein Standardprofil mit. Mehrere Formate aus einer Berechnung sind ebenfalls möglich, etwa ZUGFeRD für den Versand und XRechnung für das Archiv des Kunden:

InvoiceService.php
$result = Quittio::invoice()
    ->buyer($customer)
    ->buyerReference('04011000-12345-03')          // Leitweg-ID, für XRechnung Pflicht
    ->line('Consulting', netPrice: '120.00')
    ->render('xrechnung-cii');

// für eine bereits gebaute Rechnung
$result = Quittio::make($invoice)->format('peppol')->render();

// mehrere Formate, eine Berechnung
$result = Quittio::make($invoice)->formats(['zugferd', 'xrechnung-cii'])->render();
$result->as('xrechnung-cii')->xml();

Für alle Rechnungen dasselbe Format setzt du mit defaults.format in config/quittio.php. Der Standard null bedeutet automatische Wahl.

Häufige Fragen

Ist ZUGFeRD oder XRechnung besser?

Beide sind gültige E-Rechnungen. ZUGFeRD ist für Unternehmen bequemer, weil ein lesbares PDF dabei ist. Behörden verlangen XRechnung.

Muss ich Peppol unterstützen?

In Deutschland nicht. Peppol lohnt sich, wenn Kunden im Ausland Rechnungen über das Peppol-Netz empfangen. Quittio erzeugt die Datei, den Versand übernimmt ein Access Point.

Kann ich einem Kunden mehrere Formate schicken?

Ja. Mit formats([…]) erzeugst du mehrere Formate aus derselben Berechnung. Achte darauf, dass klar ist, welches Dokument die Rechnung ist.

Was ist mit Rechnungen an Privatkunden?

Für Verbraucher gibt es keine E-Rechnungspflicht. Quittio erzeugt ein PDF; auf Wunsch auch mit eingebettetem XML.

Woran erkennt Quittio eine Behörde?

An einer gültigen Leitweg-ID in der Käuferreferenz (BT-10) oder an einer elektronischen Adresse mit dem Schema 0204.

Nicht sicher, welches Format?

Der Format-Finder gibt dir die Antwort in zwei Klicks, mit passendem Code.