ZUGFeRD, XRechnung, EN16931 for .NET
New! Version 19.0 with offline validation.
Create, validate and export electronic invoices (ZUGFeRD, XRechnung, Factur-X / EN16931) in C# and Visual Basic with a library that was built to be a pleasure to work with.
Analyze ZUGFeRD XML and PDF/A-3 invoices quickly and reliably – built on more than 10 years of hands-on experience with ZUGFeRD, XRechnung and EN16931.
FactoorSharp is the official successor to ZUGFeRD-csharp and has already been downloaded more than 1 million times.
Our customers
Companies that handle their e-invoicing with FactoorSharp.
FactoorSharp lets us implement e-invoicing in C# quickly, reliably and without any hassle. We are very happy with both the SDK and the support.
We process thousands of invoices every month with FactoorSharp. Integration was straightforward and the product is highly reliable.
Everything you need for e-invoicing
Focus on your business logic – we take care of the standards.
Integration
A .NET SDK that drops straight into your project, with clear models. Works with C#, Visual Basic and every other .NET language.
Comes with a ready-made Agent Skill so coding agents can take on much of the implementation work for you.
Compliance
Electronic invoicing in line with the German Wachstumschancengesetz (Growth Opportunities Act). Create and process EU-compliant invoices to EN16931 – in both CII and UBL format. Generate compliant PDF/A-3 invoices.
PDF & XML analysis
Inspect ZUGFeRD XML and PDF/A-3 documents for structure, profile, embedded invoice data and the usual sources of error.
Validation
Checks against ZUGFeRD, XRechnung and Factur-X with clear, actionable messages.
Validation of FatturaPA invoices (Italy) and Facturae invoices (Spain).
What FactoorSharp can do
ZUGFeRD and XRechnung export
Create electronic invoices straight from your .NET application in ZUGFeRD or XRechnung format – standards-compliant and ready to send. All versions, all profiles.
var invoice = FacturXInvoice.CreateInvoice("Invoice-01",
new DateTime(2025,09,03),
Currency.EUR)
.SetSeller("BikeTech GmbH", "10115", "Berlin", ...)
.SetBuyer("City Bikes AG", "20457", "Hamburg", ...);
invoice.AddTradeLineItem("Trekking bike",
799.0m,
QuantityCodes.C62,
1);
invoice.Save("factur-x.xml",
version: ZUGFeRDVersion.Version23,
profile: Profile.Extended);
Dim invoice = FacturXInvoice.CreateInvoice("Invoice-01",
New DateTime(2025, 9, 3),
Currency.EUR) _
.SetSeller("BikeTech GmbH", "10115", "Berlin", ...) _
.SetBuyer("City Bikes AG", "20457", "Hamburg", ...)
invoice.AddTradeLineItem("Trekking bike",
799.0D,
QuantityCodes.C62,
1)
invoice.Save("factur-x.xml",
version:=ZUGFeRDVersion.Version23,
profile:=Profile.Extended)
ZUGFeRD and XRechnung import
Reads electronic invoices. Supports every ZUGFeRD and XRechnung version and profile, so you can concentrate purely on your business logic.
var invoice = FacturXInvoice.Load("factur-x.xml");
if (invoice.Buyer.Postcode == "10115")
{
// further processing
}
Dim invoice = FacturXInvoice.Load("factur-x.xml")
If invoice.Buyer.Postcode = "10115" Then
' further processing
End If
var invoice = FacturXInvoice.CreateInvoice("Invoice-01",
new DateTime(2025,09,03),
Currency.EUR);
await FacturXInvoicePdfProcessor.SaveToPdfAsync(
"FacturX-invoice.pdf",
ZUGFeRDVersion.Version23,
Profile.Extended,
ZUGFeRDFormats.CII,
"Classic-PDF-invoice.pdf");
// Read ZUGFeRD information
var loadedInvoice = await FacturXInvoicePdfProcessor.LoadAsync(
"FacturX-invoice.pdf");
Dim invoice = FacturXInvoice.CreateInvoice("Invoice-01",
New DateTime(2025, 9, 3),
Currency.EUR)
Await FacturXInvoicePdfProcessor.SaveToPdfAsync(
"FacturX-invoice.pdf",
ZUGFeRDVersion.Version23,
Profile.Extended,
ZUGFeRDFormats.CII,
"Classic-PDF-invoice.pdf")
' Read ZUGFeRD information
Dim loadedInvoice = Await FacturXInvoicePdfProcessor.LoadAsync(
"FacturX-invoice.pdf")
PDF generation and PDF & XML analysis
Generates a valid PDF/A-3 invoice from your existing PDF invoice and the FacturXInvoice structure.
Analyzes existing ZUGFeRD PDFs and XML files quickly for embedded invoice data, profiles and anything structurally suspicious.
var result = FacturXValidator.Validate("factur-x.xml");
if (!result.IsValid)
{
Console.WriteLine(result.Errors);
}
Dim result = FacturXValidator.Validate("factur-x.xml")
If Not result.IsValid Then
Console.WriteLine(result.Errors)
End If
Built-in validation
Check your invoices automatically against the current standards before you send them.
Evaluates the standard ZUGFeRD rules entirely offline for the basic checks. Extended online validation with Mustang, VeraPDF and Valitool.
Detailed validation and analysis
Validating invoices
Analyzing PDF files
Supports every feature of ZUGFeRD 2.5
FactoorSharp supports all the special features of ZUGFeRD 2.5, in particular
- Validation of the new business rules
- ManufacturerTradeParty (BG-X-94)
- Exemptions for surcharge taxes (BT-173 – BT-175, BT-X-591, BT-X-592)
- Financial adjustments (BG-34)
- Updated code lists
Supports every feature of ZUGFeRD 2.3 and 2.4
FactoorSharp supports all the special features of ZUGFeRD 2.3 and 2.4, such as
- Logistics Service Charge
- Designated Product Classification (BG-158)
- Applicable Product Characteristics (BG-32)
- Optional distinction between gross and net quantities and prices
- Serial numbers and batch numbers
- Alternative XML namespaces, for example those used by SAP
- Quantities per packaging unit
- Handling of sub-line items
Pricing
Each license covers the stated number of developers and includes the right to use FactoorSharp in production.
Licenses
Features:| License type | 1 year | 2 years -10% |
3 years -20% |
|---|---|---|---|
|
Freelancer
For sole traders, freelancers and micro-businesses with up to 2 developers |
349.00 EUR
plus 19% VAT
|
629.00 EUR
plus 19% VAT
|
829.00 EUR
plus 19% VAT
|
|
SME
2–4 developers |
549.00 EUR
plus 19% VAT
|
999.00 EUR
plus 19% VAT
|
1,299.00 EUR
plus 19% VAT
|
|
Corporate
Unlimited developers |
1,099.00 EUR
plus 19% VAT
|
1,999.00 EUR
plus 19% VAT
|
2,599.00 EUR
plus 19% VAT
|
All prices are net prices plus 19 % VAT.
The Freelancer license is not intended for larger companies, corporate groups or enterprises, even if only a handful of developers there use the software. In those cases the SME license is the minimum requirement.
Additional validation calls
Features:| Package | 1,000 validations | 2,500 validations | 5,000 validations |
|---|---|---|---|
| Validation add-on |
129.00 EUR
plus 19% VAT
|
289.00 EUR
plus 19% VAT
|
509.00 EUR
plus 19% VAT
|
All prices are net prices plus 19 % VAT.
Frequently asked questions
ZUGFeRD, EN16931 and XRechnung are fairly involved standards, and there is a certain amount of ground to cover before you are comfortable with them.
To make that easier, we provide extensive documentation, sample code and – above all – a coding agent skill that plugs straight into Claude Code, OpenAI Codex and other coding agents, which takes a great deal of the work out of the implementation.