Facturexa Validator

ZUGFeRD-Validator für .NET: eingehende E-Rechnungen zuverlässig prüfen

Der Validator extrahiert die eingebettete XML aus einer Rechnungs-PDF, prüft die PDF-Hülle (PDF/A-3 & Factur-X) und validiert die XML gegen die amtlichen Regelwerke – bis hin zur offiziellen Schematron-Prüfung von Factur-X/ZUGFeRD und KoSIT-XRechnung. Die Prüfung läuft vollständig offline in Ihrer Anwendung – alle Regelwerke sind im Paket enthalten, keine Rechnung verlässt Ihr System.

  • .NET Framework 4.8
  • .NET 8
  • .NET 10
  • ZUGFeRD 2.5.2 / Factur-X 1.09.2
  • XRechnung 3.0 (CII & UBL)
Facturexa.ZugferdValidator
dotnet add package Facturexa.ZugferdValidator
Install-Package Facturexa.ZugferdValidator
1

PDF-Hülle

PDF/A-3-Konformität, Dateinamenskonvention, XMP-Metadaten und die Factur-X-Einbettung der XML werden geprüft – analog zum offiziellen ZUGFeRD-Prüftool.

2

Amtliches XML-Schema

CII-Rechnungen prüft der Validator zuerst gegen das amtliche XML-Schema: ZUGFeRD/Factur-X gegen das Schema des jeweiligen Profils (Factur-X 1.09.2), das nur dessen Elemente zulässt, XRechnung gegen CII D16B wie der KoSIT-Validator. So fallen auch Strukturfehler auf, die die Schematron nicht sieht – etwa eine falsche Elementreihenfolge oder ein Element, das im Profil nicht vorgesehen ist.

3

Offizielle Schematron

Danach prüft die offizielle Schematron die Geschäftsregeln (Factur-X/ZUGFeRD bzw. KoSIT-XRechnung, per Saxon/XSLT 2.0) – dieselben Regelwerke, die auch Rechnungsempfänger einsetzen. Gültig ist eine Rechnung nur, wenn beides passt.

Vollständig offline

Der Validator braucht zur Laufzeit keine Internetverbindung und ruft keinen externen Dienst auf.

  • Datenschutz: Rechnungen werden ausschließlich in Ihrer Anwendung geprüft – keine Übertragung an Dritte.
  • Ohne Internet: funktioniert auch in abgeschotteten Netzen und auf Servern ohne Internetzugang.
  • Unabhängig: keine Ausfälle oder Limits eines Online-Prüfdienstes, auch die Lizenzprüfung läuft lokal.

Abdeckung

Der Validator prüft alle gängigen Profile – bei XRechnung sowohl die CII- als auch die UBL-Syntax.

Profil Beschreibung Validator Creator
MINIMUM Kopfdaten, kein eigenständig gültiges E-Rechnungsformat ✔ Ja ✔ Ja
BASIC WL Kopfdaten ohne Rechnungspositionen ✔ Ja ✔ Ja
BASIC Kerninformationen inkl. Rechnungspositionen ✔ Ja ✔ Ja
EN 16931 / COMFORT Europäischer Kernstandard – gültiges E-Rechnungsformat ✔ Ja ✔ Ja
EXTENDED Erweiterter Datensatz, ab ZUGFeRD 2.5.2 inkl. Sub-Positionen/Kits & Bündel ✔ Ja ✔ Ja
XRechnung 3.0 (CIUS) Deutsche B2G-Kernvariante, zweistufig EN 16931 + CIUS ✔ Ja (CII + UBL) ✔ Ja (CII)
UBL-Erzeugung XRechnung als UBL statt CII ausgeben n. v. (Prüfung erfolgt bereits) Roadmap

So einfach ist die Integration

Ein Aufruf genügt: PDF übergeben, und der Validator prüft PDF-Hülle, XML-Schema und offizielle Schematron. Das folgende Beispiel entspricht dem tatsächlichen Ablauf, den auch die Live-Demo dieser Seite verwendet.

C# – Validator.cs
using Facturexa.ZugferdValidator;

// Einmalig beim Programmstart.
ZugferdValidatorLicense.RegisterLicense("…");

// PDF-Hülle (PDF/A-3 & Factur-X), XML-Schema und offizielle Schematron in einem Aufruf.
var ergebnis = ZugferdValidator.Validate("rechnung.pdf", "RE-2026-0001");

if (ergebnis.IsPdfValid == false)
    Console.WriteLine("PDF-Hülle nicht konform");

if (!ergebnis.IsValid)
{
    foreach (var fehler in ergebnis.Errors)
        Console.WriteLine($"{fehler.Stage}: {fehler}"); // z.B. "Schematron: BR-CO-15 (BT-112): ..."
}

Validator und Creator in einer Lizenz

E-Rechnungen prüfen und erzeugen – für eingehende wie ausgehende Rechnungen. Der Reader ist kostenlos.