Facturexa Creator

ZUGFeRD-Rechnungen in C# erstellen: konforme E-Rechnungen direkt aus Ihrer Software

Der Creator bildet eine Rechnung als typisiertes .NET-Objektmodell ab und serialisiert sie als normkonforme ZUGFeRD-/Factur-X-XML (CII) – von MINIMUM bis EXTENDED, inklusive der deutschen XRechnung.

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

Typisiertes Modell

EInvoice mit sprechenden Set-/Add-Methoden für Parteien, Positionen, Steuern, Zahlungsbedingungen, Nachlässe/Zuschläge und Referenzdokumente – jedes Feld ist mit seinem BT-Feld aus EN 16931 dokumentiert.

🧩

Vollständige Codelisten

Länder, Währungen, Steuerkategorien, Zahlungsarten, Einheiten (UN/ECE Rec. 20/21) und weitere amtliche Codelisten liegen als typsichere Enums vor – kein manuelles Nachschlagen von Codes mehr.

🔍

Eingebaute Vorprüfung

InvoiceValidator.Validate(...) prüft das Rechnungsobjekt bereits vor dem Schreiben gegen das gewählte Profil – Fehler zeigen sich beim Erzeugen, nicht erst beim Empfänger.

Abdeckung

Alle Profile von MINIMUM bis EXTENDED sowie XRechnung – ausgegeben als CII.

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

Rechnungsdaten setzen, Positionen und Steuern hinzufügen, Profil wählen, speichern – das folgende Beispiel nutzt ausschließlich die tatsächliche öffentliche API der Bibliothek.

C# – Creator.cs
using Facturexa.ZugferdCreator;

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

var rechnung = new EInvoice
{
    InvoiceNumber = "RE-2026-0001",
    InvoiceDate = DateTime.Today,
    Currency = InvoiceCurrencyCode.EUR
};

rechnung.SetSellerTradeParty("Muster GmbH", "12345", "Berlin", "Musterstraße 1", CountryID.DE);
rechnung.AddSellerSpecifiedTaxRegistration("DE123456789", TaxRegistrationSchemeID.VA);

rechnung.SetBuyerTradeParty("Kunde AG", "54321", "Hamburg", "Kundenweg 2", CountryID.DE);

rechnung.AddIncludedSupplyChainTradeLineItem(
    name: "Beratungsleistung",
    netUnitPrice: 100.00m,
    unitCode: UnitCode.C62,
    billedQuantity: 3m,
    lineTotalAmount: 300.00m,
    taxPercent: 19m);

rechnung.AddApplicableTradeTax(
    basisAmount: 300.00m, percent: 19m, taxAmount: 57.00m,
    typeCode: TaxTypeCode.VAT, categoryCode: TaxCategoryCode.S);

rechnung.LineTotalAmount = 300.00m;
rechnung.TaxBasisAmount = 300.00m;
rechnung.TaxTotalAmount = 57.00m;
rechnung.GrandTotalAmount = 357.00m;
rechnung.DuePayableAmount = 357.00m;

// Optional: vor dem Schreiben gegen das Profil pruefen.
var befunde = InvoiceValidator.Validate(rechnung, InvoiceProfile.Comfort);

using var xmlStream = new MemoryStream();
rechnung.Save(xmlStream, InvoiceProfile.Comfort);
// xmlStream steht danach ab Position 0 bereit, z.B. zur PDF/A-3-Einbettung.

Validator und Creator in einer Lizenz

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