The ZUGFeRD and XRechnung library for .NET.
Create, read, validate and analyze ZUGFeRD, Factur-X and XRechnung documents in C# and VB.NET with a library built for real-world .NET projects.
FactoorSharp is the official successor to ZUGFeRD-csharp and supports XML, PDF/A-3, CII, UBL, EN16931, XRechnung, and modern coding workflows with Agent Skills.
FacturXInvoice.SetLicense("YOUR-LICENSE-KEY");
var invoice = FacturXInvoice.CreateInvoice(
"RE-2025-0042",
new DateTime(2025, 9, 3),
CurrencyCodes.EUR);
invoice.SetSeller("BikeTech GmbH", "10115", "Berlin", "Radweg 12", CountryCodes.DE);
invoice.SetBuyer("City Bikes AG", "20457", "Hamburg", "Hafenstraße 45", CountryCodes.DE);
invoice.AddTradeLineItem(
name: "Trekking bike",
netUnitPrice: 799.0m,
unitCode: QuantityCodes.C62,
billedQuantity: 1m,
taxType: TaxTypes.VAT,
categoryCode: TaxCategoryCodes.S,
taxPercent: 19m);
invoice.Save("zugferd.xml", ZUGFeRDVersion.Version25, Profile.Extended);
FacturXInvoice.SetLicense("YOUR-LICENSE-KEY")
Dim invoice = FacturXInvoice.CreateInvoice(
"RE-2025-0042",
New DateTime(2025, 9, 3),
CurrencyCodes.EUR)
invoice.SetSeller("BikeTech GmbH", "10115", "Berlin", "Radweg 12", CountryCodes.DE)
invoice.SetBuyer("City Bikes AG", "20457", "Hamburg", "Hafenstraße 45", CountryCodes.DE)
invoice.AddTradeLineItem(
name:="Trekking bike",
netUnitPrice:=799.0D,
unitCode:=QuantityCodes.C62,
billedQuantity:=1D,
taxType:=TaxTypes.VAT,
categoryCode:=TaxCategoryCodes.S,
taxPercent:=19D)
invoice.Save("zugferd.xml", ZUGFeRDVersion.Version25, Profile.Extended)
ZUGFeRD for C# and VB.NET
A clear API for creating, importing and processing invoices in classic .NET applications, web apps and background services.
Every format in one library
ZUGFeRD 1.x through 2.5, Factur-X, XRechnung, CII, UBL and PDF/A-3 in one consistent .NET SDK.
Validation and analysis
Check XML and PDF files for profile, structure, embedding and technical issues – directly from your own application.
Productive from day one
Documentation, sample code and ready-made Agent Skills make it easy to integrate into new and existing systems.
Why developers searching for "ZUGFeRD .NET" end up at FactoorSharp
Most teams aren't looking for marketing copy – they want a solid answer to a concrete technical question: How do I generate ZUGFeRD or XRechnung in C#?
Validation that goes beyond the surface
With FactoorSharp you don't just check whether a file is "readable somehow". XML, the PDF container, and the correct embedding of the invoice XML in PDF/A-3 can all be assessed separately.
That's especially useful for integrations, quality assurance and support cases involving real customer documents.
if (await FacturXValidator.IsAvailableAsync())
{
var result = await FacturXValidator.ValidateAsync("zugferd.xml");
Console.WriteLine($"Valid: {result.SummaryStatus}");
}
If Await FacturXValidator.IsAvailableAsync() Then
Dim result = Await FacturXValidator.ValidateAsync("zugferd.xml")
Console.WriteLine($"Valid: {result.SummaryStatus}")
End If
PDF/A-3 and Factur-X without a bolt-on workaround
Whether you want to create a classic PDF invoice with embedded XML or analyze existing PDF invoices, FactoorSharp brings the right functionality with it out of the box.
That cuts integration effort and avoids the friction of stitching together separate XML and PDF tools.
await FacturXInvoicePdfProcessor.SaveToPdfAsync(
targetPdfPath: "invoice.pdf",
version: ZUGFeRDVersion.Version25,
profile: Profile.Extended,
format: ZUGFeRDFormats.CII,
pdfSourcePath: "invoice-original.pdf",
descriptor: invoice);
Await FacturXInvoicePdfProcessor.SaveToPdfAsync(
targetPdfPath:="invoice.pdf",
version:=ZUGFeRDVersion.Version25,
profile:=Profile.Extended,
format:=ZUGFeRDFormats.CII,
pdfSourcePath:="invoice-original.pdf",
descriptor:=invoice)
Typical use cases
- Rolling out e-invoicing in existing .NET systems
- Connecting ERP, shop and SaaS platforms
- Migrating older ZUGFeRD-csharp implementations
- Automated processing of incoming XML and PDF invoices
Well suited for
- ERP and inventory management systems
- E-commerce and SaaS platforms
- Invoicing portals and middleware
- Custom .NET business applications
Key advantages
- A clean .NET API instead of custom XML plumbing
- Validation, PDF processing and analysis from a single source
- Documentation and support for real implementation questions
- Fast time to production with predictable integration effort
Frequently asked questions
Looking for a solid ZUGFeRD .NET library?
Get started with FactoorSharp in just a few minutes, or take a look at our license and pricing plans.