Coming Q2 2026

Converter API

Convert e-invoices between different formats without data loss. XRechnung, ZUGFeRD, Factur-X and UBL are supported bidirectionally.

In Planning

Bidirectional

Convert in both directions between all supported formats

Validated

Automatic validation of source and target format against KoSIT schemas

PDF Included

ZUGFeRD conversion automatically generates a PDF/A-3

Conversion Matrix

FromTo
XRechnung 3.0
ZUGFeRD 2.1Factur-X 1.0UBL 2.1
XRechnung 2.3
XRechnung 3.0ZUGFeRD 2.1ZUGFeRD 2.0
ZUGFeRD 2.1
XRechnung 3.0Factur-X 1.0UBL 2.1
ZUGFeRD 2.0
ZUGFeRD 2.1XRechnung 3.0
Factur-X 1.0
ZUGFeRD 2.1XRechnung 3.0UBL 2.1
UBL 2.1
XRechnung 3.0ZUGFeRD 2.1Factur-X 1.0

Example

bash
1# Geplante API
2curl -X POST https://service.invoice-api.xhub.io/api/v1/invoice/convert \
3 -H "Authorization: Bearer sk_live_abc123..." \
4 -H "Content-Type: application/json" \
5 -d '{
6 "xml": "<?xml version=\"1.0\"?>\n<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\">...</Invoice>",
7 "sourceFormat": "xrechnung-3.0",
8 "targetFormat": "zugferd-2.1"
9 }'

Alternative: Multipart File Upload

bash
1# Geplante API
2curl -X POST https://service.invoice-api.xhub.io/api/v1/invoice/convert \
3 -H "Authorization: Bearer sk_live_abc123..." \
4 -H "Content-Type: multipart/form-data" \
5 -F "file=@rechnung.xml" \
6 -F "targetFormat=zugferd-2.1"

Response

json
1{
2 "success": true,
3 "sourceFormat": "XRECHNUNG",
4 "targetFormat": "ZUGFERD",
5 "filename": "invoice-converted.pdf",
6 "mimeType": "application/pdf",
7 "hash": "sha256:xyz789...",
8 "data": "JVBERi0xLjcKCjEgMCBvYmoKPDwKL1R5cGUgL0NhdGFsb2cK...",
9 "errors": [],
10 "warnings": []
11}

Request Parameters

ParameterTypeRequiredDescription
xmlstringThe XML invoice to convert
sourceFormatstring-Source format. Automatically detected if not specified
targetFormatstringTarget format for conversion
profilestring-ZUGFeRD profile: MINIMUM, BASIC, BASIC-WL, EN16931, EXTENDED (Default: EN16931)
validateSourceboolean-Validate source XML before conversion (Default: true)
validateTargetboolean-Validate target XML after conversion (Default: true)

Format Values

xrechnung-3.0

XRechnung 3.0.2

xrechnung-2.3

XRechnung 2.3

zugferd-2.1

ZUGFeRD 2.1.1

zugferd-2.0

ZUGFeRD 2.0.1

factur-x-1.0

Factur-X 1.0

ubl-2.1

UBL 2.1 (OASIS)

ZUGFeRD Profiles

When converting to ZUGFeRD, you can specify the profile. The profile determines which fields are included in the XML.

MINIMUM

Required fields only, for simple invoices

BASIC

Basic information for automatic processing

BASIC-WL

BASIC without line items (totals only)

EN16931

EU standard, recommended for B2G (default)

EXTENDED

All fields, maximum detail

ZUGFeRD PDF Generation

When converting to ZUGFeRD, a PDF/A-3 is automatically created with embedded XML. The PDF uses a standard layout. For custom PDF designs, use the Visualizer API (Coming Soon).

Typical Use Cases

XRechnung to ZUGFeRD

You have created XRechnung invoices for authorities and want to send the same invoices as PDF with embedded XML to business customers.

ZUGFeRD to XRechnung

You receive ZUGFeRD invoices from suppliers and need to convert them to XRechnung for further processing.

XRechnung 2.3 to 3.0

Migrate existing XRechnung invoices to the current version 3.0 for compatibility with current government systems.

Factur-X to XRechnung

Prepare French Factur-X invoices for the German market and send them to public contracting authorities.