Das Bild dienst als Illustration zu den FAQ von erechnungs-validator.de. Eine Illustration eines Mannes mit Brille und Tablet, der technische Fehler in einer E-Rechnung überprüft. Im Hintergrund ein großes Dokument mit der Überschrift 'e-invoices' und eine Lupe, die auf 'Technical errors' zeigt. Daneben ein Taschenrechner, Dokumente und technische Symbole.

FAQ zum E-Rechungs-Validator

Warum sind meine E-Rechnungen nicht valide?

Wir erhalten relativ oft Fragen, warum bestimmte Rechnungen als nicht valide erkannt werden. Z.B. eine potentielle ZUGFeRD-Rechnung wird als invalide erkannt, aber das einzeln geprüfte XML wird als valide erkannt. Das liegt an den Vorgaben für die Formate XRechnung und ZUGFeRD. Daher fassen wir hier die häufigsten Fragen zusammen

RechnungsstandardCII-Format erlaubt?UBL-Format erlaubt?Bemerkungen
ZUGFeRD✅ Ja❌ NeinZUGFeRD verwendet ausschließlich das CII-Format für die XML-Daten.
XRechnung✅ Ja✅ JaXRechnung kann sowohl im CII-Format als auch im UBL-Format vorliegen.

Sowohl XRechnung als auch ZUGFeRD verlangen, dass die XML-Dateien in der UTF-8-Kodierung vorliegen.

Kodierung: UTF-8
Ohne BOM (Byte Order Mark)

Fehlerquellen:

  • Die Datei darf keinen BOM (Byte Order Mark) enthalten, da dies zu Validierungsfehlern führen kann.
  • Andere Zeichencodierungen wie ISO-8859-1 oder UTF-16 sind nicht erlaubt.

Sowohl XRechnung als auch ZUGFeRD erwarten, dass die XML-Dateien mit dem Unix-Zeilenende gespeichert werden:

Erlaubt:

  • LF (\n) → Unix/Linux-kompatible Zeilenumbrüche

Nicht empfohlen / problematisch:

  • CRLF (\r\n) → Windows-typische Zeilenumbrüche können Probleme verursachen
  • CR (\r) → Mac OS (ältere Versionen) ist nicht kompatibel

1. Fehler in der XML-Struktur

Falsche oder fehlende Root-Elemente

  • XRechnung: Das Wurzelelement muss <rsm:CrossIndustryInvoice> sein.
  • ZUGFeRD: Das XML muss ebenfalls das <rsm:CrossIndustryInvoice>-Element enthalten.
  • Fehler: Verwendung von <Invoice> (UBL) in einer XRechnung (nur CII ist erlaubt!).

Fehlendes oder falsches Encoding

  • Erlaubt: <?xml version="1.0" encoding="UTF-8"?>
  • Fehler: Andere Encodings wie ISO-8859-1 oder UTF-8 mit BOM (Byte Order Mark).

Falsche oder inkonsistente XML-Namensräume

  • Erlaubt (CII-XRechnung): xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
  • Fehler: Ungültige oder fehlende Namensräume, die dazu führen, dass der Validator das XML nicht versteht.

Fehlende oder doppelte <ram:ID> im Kontextbereich

  • Erlaubt: <ram:GuidelineSpecifiedDocumentContextParameter> <ram:ID>urn:cen.eu:en16931:2017</ram:ID> </ram:GuidelineSpecifiedDocumentContextParameter>
  • Fehler: urn:cen.eu:en16931:2017 fehlt oder falsch geschrieben.

2. Fehlerhafte Pflichtfelder

Fehlende Rechnungsnummer

  • Pflichtfeld: <ram:ID> innerhalb von <rsm:ExchangedDocument>

Fehlendes Rechnungsdatum oder falsches Format

  • Erlaubt: <ram:IssueDateTime> <udt:DateTimeString format="102">20250129</udt:DateTimeString> </ram:IssueDateTime>
  • Fehler: Datumsformat nicht als YYYYMMDD (Format 102).

Fehlende oder falsche Währungsangabe

  • Pflichtfeld: <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
  • Fehler: Keine oder falsche Währung (EURO statt EUR).

Fehlende Beträge oder falsches Dezimaltrennzeichen

  • Erlaubt: 1000.50 (Punkt als Dezimaltrennzeichen)
  • Fehler: 1.000,50 (falsch, da kein Tausenderpunkt erlaubt ist!)

3. Fehler bei der Steuerangabe

Fehlender oder falscher Steuersatz

  • Erlaubt: <ram:ApplicableTradeTax> <ram:TypeCode>VAT</ram:TypeCode> <ram:CategoryCode>S</ram:CategoryCode> <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent> </ram:ApplicableTradeTax>
  • Fehler: Falsche oder fehlende <ram:RateApplicablePercent>-Angabe.

Netto-/Bruttowerte stimmen nicht überein

  • Der Gesamtbetrag muss mit den Einzelposten übereinstimmen.

Falsche Steuerkategorie (CategoryCode)

  • Erlaubt:
    • S → Standardsteuersatz (19 % in Deutschland)
    • K → Ermäßigter Steuersatz (7 % in Deutschland)
    • AE → Steuerbefreit
  • Fehler: Z für Steuerbefreiung ist falsch (statt AE).

4. Fehler in der Rechnungsposition (Zeilen)

Fehlende Produktbeschreibung (<ram:Description>)

  • Jede Position benötigt eine Beschreibung.

Menge oder Einheit fehlen oder sind falsch

  • Erlaubt: <ram:BilledQuantity unitCode="C62">5</ram:BilledQuantity>
  • Fehler: Fehlende oder falsche Einheit (unitCode="KG" statt "C62" für Stück).

Fehlende Preisangaben (<ram:NetPriceAmount> oder <ram:ChargeAmount>)

  • Jeder Posten braucht einen Nettopreis.

5. Fehler bei der Empfänger-/Lieferantenadress

Fehlender Rechnungsempfänger (<ram:BuyerTradeParty>)

  • Pflichtangaben:
    • <ram:Name> (Firmenname)
    • <ram:PostalTradeAddress> (Adresse)

Fehlende Steuer- oder USt-IdNr. des Lieferanten

  • Erlaubt: <ram:SpecifiedTaxRegistration> <ram:ID schemeID="FC">DE123456789</ram:ID> </ram:SpecifiedTaxRegistration>
  • Fehler: Steuer-ID fehlt oder falsches schemeID.

6. Fehler bei der Einbettung in PDF (ZUGFeRD)

Fehlende oder falsche Einbettung der XML-Datei

  • ZUGFeRD benötigt eine PDF/A-3-Datei mit einer eingebetteten XML-Datei.

Falscher MIME-Type für XML-Anhang

  • Erlaubt: "application/xml"
  • Fehler: "text/xml" oder andere MIME-Typen.

XML-Datei hat einen falschen Namen

  • Erlaubt: ZUGFeRD-invoice.xml oder factur-x.xml

7. Fehler bei der Signatur / Validierung

Die Datei entspricht nicht den XRechnung- oder ZUGFeRD-Regeln

  • Nutze einen Validator 😊

XML ist nicht wohlgeformt

1 Kommentar zu „⚠ Warum sind meine E-Rechnungen nicht valide?“

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Warenkorb