ZUGFeRD to Peppol C#

Convert ZUGFeRD invoices to Peppol BIS Billing 3.0 UBL XML with full EN 16931 mapping, ready for the Peppol network.

E-Invoice Tools

ZUGFeRD to Peppol C# Overview

ZUGFeRD to Peppol C# library converts ZUGFeRD 2.x electronic invoices into Peppol BIS Billing 3.0 UBL XML, ready to send over the Peppol network. Submit either the raw Cross Industry Invoice (CII) XML or a ZUGFeRD PDF/A-3 file - when a PDF/A-3 is provided, the embedded invoice XML is extracted automatically before conversion. Every field of the EN 16931 semantic model is mapped, including invoice header, seller and buyer parties, delivery, payment means and terms, document- and line-level allowances and charges, VAT breakdown, monetary totals, and all invoice lines. Credit notes (type code 381) are emitted as a UBL CreditNote. Automate compliant electronic invoicing directly from your accounting or ERP system.

Lightning Fast Conversions

Process and convert files in seconds with our high-performance cloud infrastructure.

Accuracy Guaranteed

Our advanced algorithms ensure pixel-perfect and content-accurate file conversions.

Enterprise-Grade Security

ISO 27001, HIPAA, and GDPR compliant with encrypted file processing.

Global Infrastructure

Strategically located servers ensure low latency and high availability worldwide.

Developer Friendly

Comprehensive SDKs and clear documentation for quick and simple integration.

Time-Saving Automation

Automate repetitive document workflows and focus on what matters most.

Customizable Parameters

Fine-tune your automation with these powerful conversion options

File

File Supported formats: .xml .pdf

File to be converted. Value can be URL or file content.

Password

String

Sets the password to open protected documents.

StoreFile

Bool Default: False

When the StoreFile parameter is set to True, your converted file is written to ConvertAPI’s encrypted, temporary storage and made available via a time-limited secure download URL, valid for up to 3 hours. After this period, the file is permanently deleted.

When StoreFile is set to False, conversion happens entirely in-memory. The raw file bytes are streamed back in the API response without touching disk or external storage, ensuring maximum security and zero persistence so that only you can access the content.

Step-by-Step Guide

Easy ZUGFeRD to Peppol integration programmatically using our simple C# SDK

1. C# library install

ConvertAPI provides an ASP.NET C# library that allows you to perform a ZUGFeRD to Peppol conversion with just a few lines of code. Convert ZUGFERD to PEPPOL using C# programming language with no effort at all!

NuGet Terminal >
Install-Package ConvertApi

2. Authenticate ConvertAPI C# library

You can obtain your API Token by signing up for a free account. Once you sign up, you'll receive 250 free conversions instantly! Grab your authentication key from the account dashboard, and authenticate the ConvertAPI C# library like this:

// get your API Token here: https://www.convertapi.com/a/auth
ConvertApi convertApi = new ConvertApi("api_token");

3. ZUGFeRD to Peppol using C# .NET

Once you have your authentication in place, simply copy-paste this ZUGFeRD to Peppol conversion code snippet into your C# project:

Advanced C# SDK Techniques

Take your ConvertAPI C# integrations to the next level with advanced techniques for real-world, production-grade document conversion workflows.

These advanced patterns help you build robust, scalable, and efficient ZUGFeRD to Peppol pipelines in your .NET applications while maintaining flexibility and control over your document workflows.

Convert a Remote ZUGFERD File

The following C# example demonstrates how to convert a ZUGFERD file hosted online (accessible via a public URL) directly to PEPPOL using ConvertAPI. This is useful when your documents are already stored on cloud storage (S3, Azure Blob, etc.) and you want to convert them without downloading locally first.

In this example:

  • No local download needed before conversion.
  • The ZUGFERD file is fetched from the provided URL.
  • ConvertAPI converts it to PEPPOL and saves it to a temporary folder on your server or local machine.
  • Ideal for server-side processing pipelines and automated workflows.
var convertApi = new ConvertApi("api_key");
var sourceFile = new Uri("https://cdn.convertapi.com/public/files/demo.zugferd");

Console.WriteLine($"Converting online {sourceFile} document to PEPPOL...");

var zugferdToPeppolResult = await convertApi.ConvertAsync("zugferd", "peppol", new ConvertApiFileParam(sourceFile));
var outputFileName = zugferdToPeppolResult.Files[0];
var fileInfo = await outputFileName.SaveFileAsync(Path.Combine(Path.GetTempPath(), outputFileName.FileName));

Console.WriteLine("The PEPPOL result saved to " + fileInfo);

Convert a ZUGFERD File Stream to PEPPOL and Receive a File Stream

This C# example demonstrates how to convert a ZUGFERD file provided as a stream directly to PEPPOL using ConvertAPI and receive the converted PEPPOL as a stream without writing to disk. This is ideal for in-memory processing in ASP.NET APIs, serverless functions, or pipeline services where you need to handle documents securely and efficiently.

In this example:

  • You pass a ZUGFERD file stream (zugferd_stream) with a filename hint to ConvertAPI.
  • ConvertAPI converts the document to PEPPOL without saving intermediate files.
  • The converted PEPPOL is returned as a stream (outputStream) for direct processing, returning to clients, or further manipulation in your pipeline.
  • Ideal for secure, diskless document conversion workflows.
var conversionResult = await convertApi.ConvertAsync("zugferd", "peppol",
new ConvertApiFileParam(zugferd_stream, "test.zugferd")
);
var outputStream = await conversionResult.Files.First().FileStreamAsync();

Console.Write(new StreamReader(outputStream).ReadToEnd());
Console.WriteLine("End of file stream.");

Handling Exceptions During ZUGFeRD to Peppol Conversion

This C# example shows how to handle exceptions when converting a ZUGFERD file to PEPPOL using ConvertAPI. By catching ConvertApiException, you can access detailed error information, making it easier to debug issues such as invalid API tokens, unsupported file formats, or conversion errors in your workflow.

In this example:

  • A try-catch block safely wraps the ZUGFERD to PEPPOL conversion.
  • If the API call fails, ConvertApiException provides the HTTP status code and API response details for clear diagnostics.
  • This approach ensures your application can handle errors gracefully, log issues, and respond with meaningful messages to users or calling services.
try
{
    var convertApi = new ConvertApi("api_token");
    const string sourceFile = @"..\..\..\TestFiles\test.zugferd";

    var convert = await convertApi.ConvertAsync("zugferd", "peppol",
    new ConvertApiFileParam(sourceFile));
}
//Catch exceptions and write details
catch (ConvertApiException e)
{
    Console.WriteLine("Status Code: " + e.StatusCode);
    Console.WriteLine("Response: " + e.Response);
}

Integrate within minutes

Easy ZUGFeRD to Peppol automation using our simple C# SDK

Try the ZUGFeRD to Peppol conversion online

Try it Free

Compatible With All .NET Frameworks & Tools

Compatible with Microsoft Azure Compatible with .NET Core Available on NuGet C# SDK Available Compatible with VS Code Compatible with JetBrains Rider Compatible with Visual Studio

Frequently Asked Questions

What is ConvertAPI C# SDK?

The ConvertAPI C# SDK is a lightweight, easy-to-use library for .NET developers to integrate document and file conversions into their applications with minimal code. It connects directly to the ConvertAPI REST service, allowing you to automate file conversions, merging, splitting, and more.

What types of conversions are supported?

ConvertAPI offers 300+ converters and tools, including DOCX to PDF, XLSX to PDF, PDF to JPG, HTML to PDF, image processing, metadata extraction, compression, and advanced document workflows. You can automate complex document processing scenarios within your .NET applications using the SDK.

Can I build complex conversion workflows using the SDK?

Yes, the ConvertAPI .NET C# SDK allows you to chain conversions, merge documents, extract pages, and apply advanced parameters to automate end-to-end document workflows within your applications.

Is there a file size limit when using ConvertAPI?

The maximum file size you can convert depends on your ConvertAPI plan type. Higher-tier plans allow larger files and increased concurrency for high-volume document processing needs.

Can I convert files entirely in memory without storing them on your servers?

Yes, ConvertAPI supports in-memory conversions, allowing you to send and receive files as streams without saving them to disk on ConvertAPI servers. This enables secure, diskless workflows for sensitive or temporary files.

Which .NET versions does the ConvertAPI SDK support?

The SDK supports .NET Framework 4.5+, .NET Core, .NET 5, 6, 7, and 8, ensuring compatibility across your existing and new projects.

Businesses trust us

Highest rated File Conversion API on major B2B software listing platforms: Capterra, G2, and Trustpilot.

"ConvertAPI has been a game-changer for our document automation workflows. Their conversion accuracy and API reliability are unmatched in the industry for over 7 years."

"ConvertAPI is a reliable, cost-effective solution with a proven track record of stability. It has grown significantly in maturity, adopting enterprise-grade practices over the years."

"We've integrated ConvertAPI across our entire document processing platform. The performance is exceptional and the support team is always responsive. Highly recommended!"

Enterprise-Grade Security

We ensure that all document processing is handled securely in the cloud, adhering to industry-leading standards like ISO 27001, GDPR, and HIPAA. To enhance security even further, we can ensure that no files or data are stored on our servers and never leave your country.

Learn more about security

Ready to Streamline Your File Conversions?