Skip to main content
Invoice-Converter.comInvoice-Converter
BlogPricing
Convert InvoiceConvert
Convert
⌘K
Documentation overview
Understand formats and standards
Compliance Guides
XRechnung Standard
ZUGFeRD Format
PDF/A-3 for ZUGFeRD
CII Cross Industry Invoice
UBL Universal Business Language
DIN EN 16931-1 Standard
PEPPOL Network
Country and regulatory rules
EU E-Invoicing Mandate
EU E-Invoicing
EU e-invoicing in 2026: what to implement (and why)
EU top markets playbook (DE, FR, IT, ES, PL, NL)
PEPPOL in the EU: how exchange actually works
CTC/clearance and portals in the EU: how to build reliable integrations
Country Guides
Germany
France
Italy
Spain
Poland
Netherlands
Belgium
Austria
Denmark
Sweden
Finland
Fix validation and submission issues
Leitweg-ID Validation
Support playbooks
Support
Why invoices need review
PDF readiness
API errors
API automation
Handling schema errors
Review validation help
Support
Missing information
Buyer reference
Payment and IBAN
VAT and reverse charge
Totals and rounding
Prepayments
Line items
ZUGFeRD PDF warnings
Validation playbooks
Observed validation fixes
Due date or terms
Bank transfer IBAN
PDF/A-3 readiness
VATEX exemption reason
Review vs download
Public test invoice fixture library
Valid XRechnung UBL basic invoice
Invalid XRechnung missing payment terms
Factur-X/ZUGFeRD EN 16931 CII XML
XRechnung rounding and IBAN edge case
KoSIT Validator Errors
ERROR
BR-DE-1
BR-DE-2
BR-DE-3
BR-DE-4
BR-DE-5
BR-DE-6
BR-DE-7
BR-DE-8
BR-DE-9
BR-DE-10
BR-DE-11
BR-DE-14
BR-DE-15
BR-DE-16
BR-CO-3
BR-CO-4
BR-CO-9
BR-CO-10
BR-CO-11
BR-CO-13
BR-CO-14
BR-CO-15
BR-CO-16
BR-CO-17
BR-CO-25
BR-CO-26
BR-S-1
BR-S-5
BR-S-8
BR-61
BR-AE-02
BR-AE-10
BR-E-01
BR-E-05
BR-DE-19
BR-05
BR-22
BR-23
BR-24
BR-25
BR-26
BR-47
BR-57
BR-DE-22
BR-DE-30
BR-DE-31
PEPPOL-EN16931-R001
PEPPOL-EN16931-R010
PEPPOL-EN16931-R020
PEPPOL-EN16931-R046
PEPPOL-EN16931-R120
PEPPOL-EN16931-R130
WARNING
BR-DE-17
BR-DE-18
BR-DE-20
BR-DE-21
BR-DE-26
BR-DE-27
BR-DE-28
Look up reference data
Glossary
E
EN 16931
E-reporting
e-Factura RO
EAS (Electronic Address Scheme)
ebInterface
C
CIUS
CII
Code list
Credit note
Contract reference
Chorus Pro
Codice Destinatario
X
XRechnung
XML Schema (XSD)
XML
Z
ZUGFeRD
F
Factur-X
Finvoice
U
UBL
Unit code
P
PEPPOL
PEPPOL BIS
Participant ID
PDF/A-3
Payment means
Purchase order (PO)
PDP (Plateforme de Dématérialisation Partenaire)
A
Access Point
Allowance / charge
S
SMP
SML
Schematron
SDI (Sistema di Interscambio)
Svefaktura
L
Leitweg-ID
K
KoSIT
KSeF
KvK number
V
Validation
VAT ID
ViDA
VeriFactu
ViDA Pillar 1: Digital Reporting Requirements
ViDA Pillar 2: Single VAT Registration
ViDA Pillar 3: Platform Economy
B
Business Term (BT)
Business Group (BG)
BIC
R
Reverse charge
Real-time reporting
Real-time invoice reporting (RTIR)
T
Tax category
TicketBAI
I
IBAN
Invoice type code
Invoice line item
ISO 6523
D
Document reference
D-U-N-S Number
Digipoort
Q
QR code payment
G
GLN (Global Location Number)
O
OVT-tunnus
OIOUBL
N
NemHandel
Code Lists
Currency codes (common)
Country codes (common)
VAT category codes
Payment means type codes
Unit of measure codes (common)
Invoice type codes (common in XRechnung)
XRechnung Fields
Invoice basics
BT-1
BT-2
BT-3
BT-5
BT-6
BT-7
BT-8
BT-10
BT-11
BT-12
BT-14
BT-15
BT-16
BT-17
BT-18
BT-19
BT-21
BT-22
BT-23
BT-24
BT-25
BT-26
Delivery and payment
BT-9
BT-13
BT-20
BT-59
BT-60
BT-61
BT-70
BT-71
BT-72
BT-73
BT-74
BT-75
BT-76
BT-77
BT-78
BT-79
BT-80
BT-81
BT-82
BT-83
BT-84
BT-85
BT-86
BT-87
BT-88
BT-89
BT-90
BT-91
Seller details
BT-27
BT-28
BT-29
BT-30
BT-31
BT-32
BT-33
BT-34
BT-35
BT-36
BT-37
BT-38
BT-39
BT-40
BT-41
BT-42
BT-43
BT-62
BT-63
BT-64
BT-65
BT-66
BT-67
BT-68
BT-69
Buyer details
BT-44
BT-45
BT-46
BT-47
BT-48
BT-49
BT-50
BT-51
BT-52
BT-53
BT-54
BT-55
BT-56
BT-57
BT-58
Discounts and charges
BT-92
BT-93
BT-94
BT-95
BT-96
BT-97
BT-98
BT-99
BT-100
BT-101
BT-102
BT-103
BT-104
BT-105
Taxes and totals
BT-106
BT-107
BT-108
BT-109
BT-110
BT-111
BT-112
BT-113
BT-114
BT-115
BT-116
BT-117
BT-118
BT-119
BT-120
BT-121
BT-122
BT-123
BT-124
BT-125
Line items
BT-126
BT-127
BT-128
BT-129
BT-130
BT-131
BT-132
BT-133
BT-134
BT-135
BT-136
BT-137
BT-138
BT-139
BT-140
BT-141
BT-142
BT-143
BT-144
BT-145
BT-146
BT-147
BT-148
BT-149
BT-150
BT-151
BT-152
BT-153
BT-154
BT-155
BT-156
BT-157
BT-158
BT-159
BT-160
BT-161
BT-162
BT-163
ZUGFeRD Profiles
MINIMUM
BASIC WL
BASIC
EN 16931
EXTENDED
Compare formats and tools
Comparisons
PDF24 Tools
sevDesk
Integrate and implement
Platform incident help
Support
Temporary unavailable
Missing result
Validation unavailable
Browser errors
Account and rate limits
Credits and subscriptions
Authoritative validation
ERP export validation guides
DATEV
Lexware
SAP Business One
Odoo
Microsoft Dynamics
Trust & Security
Developer API
  1. E-Invoicing Resources
  2. Developer API

Integration

Markdown export

External API V1 Documentation

Technical documentation package for approved API implementation and review. This page summarizes the externally exposed API contract, access model, and integration constraints.

OverviewKey capabilitiesDelivery ArtifactsQuickstartGet API accessBase URL and API keysFirst successful requestCommon payload examplesRequired request headersAuth rulesIdempotency contractEndpoint ReferenceOutput format matrixChangelogError ContractCommon errors and what to doRate & payload limitsRetry guidanceTask lifecycle & retentionSupport modelSend Technical FeedbackUse Postman and OpenAPI

Overview#

The API accepts multipart uploads, returns JSON responses, and uses standard HTTP status codes and Bearer authentication. Submit a PDF invoice, wait for asynchronous processing, and then fetch the generated result.

Send a PDF invoice or structured invoice data to a conversion endpoint. Invoice-Converter starts one async task for extraction, validation, and artifact generation. The result endpoint returns a file only when the requested artifact is validated, checked, and ready; while processing it returns 202 TASK_NOT_READY, and blocking validation issues return 422 VALIDATION_FAILED.

Status: gated access

Base path: /api/v1. Last synchronized 2026-06-09.

Key capabilities#

Use these points as the practical checks for this section.

  • Upload endpoints for PDF invoices and structured invoice data
  • AI-powered invoice data extraction
  • Automated EN 16931 and KoSIT validation
  • XRechnung, ZUGFeRD, EN16931, UBL, and CII output formats
  • Async processing with polling; small invoices often take around 30 seconds, larger invoices up to 1-2 minutes
  • Idempotent writes for safe retries

Delivery Artifacts#

Download machine-readable integration artifacts for the Developer API.

OpenAPI JSON
Postman collection

Quickstart#

Three API calls complete a conversion. The convert endpoint is served at /api/v1 and requires authentication.

POST /api/v1/invoices:convert

Live

Convert PDF to structured e-invoice

POST /api/v1/invoices:convert-structured

Live

Convert structured data

GET /api/v1/tasks/{task_id}

Live

Poll task status

Get API access#

Use these points as the practical checks for this section.

  • Create an account and request API access.
  • Use prepaid API credits for approved testing or Enterprise order-form billing for production use.
  • After approval, create a live API key from the API access section.
  • Run the first request with server-side credentials, then monitor usage and rotate keys from your profile.

Base URL and API keys#

Use these points as the practical checks for this section.

  • Production base URL: https://www.invoice-converter.com/api/v1.
  • Live keys use the production host and the icp_... prefix.
  • Run onboarding and validation requests with approved live keys before sending production volume.
  • Treat keys as server-side secrets. Do not embed them in browser or mobile clients.

First successful request#

Use this sequence as the minimum happy path after creating an API key.

  • Upload: POST /api/v1/invoices:convert with Authorization, Idempotency-Key, file=@invoice.pdf, and format=XRECHNUNG.
  • Poll every 10-15 seconds: GET /api/v1/tasks/{task_id} until status is completed or failed.
  • Download: GET /api/v1/tasks/{task_id}/result?download=xml and store X-Correlation-ID for support tracing.
  • For ZUGFeRD PDF output, request format=ZUGFERD on convert and download=pdf on result.
  • For structured input, call POST /api/v1/invoices:convert-structured with pdf_file=@invoice.pdf, data_file=@invoice-data.json, and the target format.
  • Optionally send client_reference or external_invoice_id and source_system for ERP reconciliation.
  • For split ERP exports of one invoice, repeat data_file; for multiple invoices, start one task per invoice with its own idempotency key.
  • Store result_artifacts from the status response to see whether XML/PDF artifacts are validated, cached, or still unavailable because of dependencies.

Common payload examples#

Use these points as the practical checks for this section.

  • XRECHNUNG: send format=XRECHNUNG.
  • ZUGFERD: send format=ZUGFERD; use download=pdf on result for the hybrid PDF/A-3 output.
  • Structured input: send pdf_file plus one or more data_file parts; accepted data formats are CSV, JSON, XML, XLSX, and TXT, with any supported target format. The data_file parts must contain all mandatory data; the PDF does not fill missing fields.
  • Multiple invoices: submit separate convert requests and track each returned task_id; repeated data_file parts are only for split exports of the same invoice.
  • UBL: send format=UBL; for deterministic integrations, set an explicit profile such as PEPPOL, XRECHNUNG, or EN16931.
  • CII: send format=CII; for deterministic integrations, set an explicit profile such as EN16931.

Required request headers#

Use these points as the practical checks for this section.

  • Authorization: Bearer <api_key>

Auth rules#

API access is gated. Approved accounts can create API keys from the profile, use them as Bearer tokens, and use prepaid credits for approved testing or Enterprise order-form billing for production.

  • Keys are tenant-scoped live credentials for approved accounts. The current production prefix is icp_....
  • Create, rotate, and revoke API keys from your profile after API access is enabled. Copy new keys immediately because plaintext keys are shown only once.
  • Missing or invalid key returns 401.
  • Calls to /api/v1 receive an X-Correlation-ID automatically when omitted.
  • Write calls require Idempotency-Key; keep this value stable across retries.
  • Use server-to-server integration from your backend. Browser-origin access is restricted in production.

Idempotency contract#

Use these points as the practical checks for this section.

  • Send an Idempotency-Key on every write call.
  • Idempotency keys must match [A-Za-z0-9._:-]+ and be at most 200 chars.
  • If you provide your own key, the same key + identical payload returns the cached response.
  • Same key + different payload returns 409 IDEMPOTENCY_CONFLICT.
  • Idempotency keys expire after 24 hours.

Endpoint Reference#

All endpoints are available under /api/v1. Timeouts surface as 504 and other temporary connectivity failures as 502; correlation IDs help support trace requests end-to-end.

POST /api/v1/invoices:convert

Live

Upload a PDF invoice and start asynchronous conversion. Returns a task_id for polling. Request: multipart/form-data; file (binary, required) — PDF invoice file; format (string, required) — target output format; see format matrix below; profile (string, optional, recommended for deterministic integrations) — explicit compliance profile. Defaults by format; allowed values include XRECHNUNG, PEPPOL, EN16931, and supported ZUGFeRD/Factur-X profiles; jurisdiction (string, optional) — explicit ISO 3166-1 alpha-2 jurisdiction context used for validation/advisory checks; does not override profile; transaction_scope (string, optional) — explicit transaction scope context, such as B2G; applied to the queued task; delivery_channel (string, optional) — one of PEPPOL, DIRECT_XML, PORTAL, EMAIL_PDF, UNKNOWN; applied to the queued task; client_reference or external_invoice_id (string, optional) — tenant-side invoice/job reference returned on accepted uploads and task status responses; source_system (string, optional) — upstream ERP or billing system label returned on accepted uploads and task status responses. Response: 202 Accepted.

POST /api/v1/invoices:convert-structured

Live

Upload a carrier PDF plus CSV, JSON, XML, XLSX, or TXT invoice data and start asynchronous structured-data conversion. The data_file parts are the only semantic source; the PDF does not fill missing invoice fields. For ZUGFeRD/Factur-X it is used as the carrier PDF, and for XML-oriented outputs it is retained as the submitted PDF artifact. Use one conversion request per invoice; repeat data_file only for split ERP exports that describe the same invoice. Request: multipart/form-data; pdf_file (binary, required) — carrier PDF used for ZUGFeRD/Factur-X embedding and retained for XML-oriented outputs; data_file (binary, required, repeatable) — CSV, JSON, XML, XLSX, or TXT invoice data used as the only semantic source; .xls, PDFs, and image files are rejected as data_file; repeat for split header/line exports of the same invoice; aliases data_files and data_files[] are accepted; structured data total size — max 2 MB across all data_file parts; format (string, required) — target output format; supports XRECHNUNG, ZUGFERD, EN16931, UBL, and CII; profile (string, optional, recommended for deterministic integrations) — explicit compliance profile. Defaults by format; jurisdiction (string, optional) — explicit ISO 3166-1 alpha-2 jurisdiction context used for validation/advisory checks; does not override profile; transaction_scope (string, optional) — explicit transaction scope context, such as B2G; applied to the queued task; delivery_channel (string, optional) — one of PEPPOL, DIRECT_XML, PORTAL, EMAIL_PDF, UNKNOWN; applied to the queued task; client_reference or external_invoice_id (string, optional) — tenant-side invoice/job reference returned on accepted uploads and task status responses; source_system (string, optional) — upstream ERP or billing system label returned on accepted uploads and task status responses. Response: 202 Accepted.

GET /api/v1/tasks/{task_id}

Live

Poll the current status of a conversion task. Returns pending, processing, completed, or failed. Completed tasks include result_artifacts diagnostics so clients can see which XML/PDF artifacts are available, cached, and validation-proven. When failed, the response includes an error field with the failure reason. Request: none (GET); task_id (path, required) — UUID returned by the convert endpoint. Response: 200 OK.

GET /api/v1/tasks/{task_id}/result

Live

Download the generated file (XML or PDF). Result syntax matches the original task format: XRECHNUNG/EN16931/UBL return UBL XML, CII/ZUGFERD return CII XML, and ZUGFERD + download=pdf returns a hybrid PDF/A-3. For other formats, download=pdf can return a rendered PDF. Repeated downloads may be served from cached generated artifacts when validation proof is still current. While processing, this endpoint returns 202 TASK_NOT_READY; blocking validation issues return 422 VALIDATION_FAILED, retryable dependency gaps return 503, and artifact invariant failures return 500, all with no file body. Request: none (GET); task_id (path, required) — UUID returned by the convert endpoint; download (query, required) — xml or pdf. Response: 200 OK.

Output format matrix#

FormatSyntaxVersion / ProfileContent-TypeExtension
XRECHNUNGUBL 2.1 XMLXRechnung 3.0.2application/xml.xml
ZUGFERDCII XML (download=xml) / hybrid PDF/A-3 (download=pdf)ZUGFeRD 2.4 / Factur-X 1.08application/xml or application/pdf.xml / .pdf
EN16931UBL 2.1 XMLEN 16931application/xml.xml
UBLUBL 2.1 XMLOASIS UBL 2.1application/xml.xml
CIIUN/CEFACT CII XMLD16Bapplication/xml.xml

Changelog#

Recent externally visible API changes.

2026-06-02

External API access is now documented as approved gated access rather than ungated key creation. Clarified that no formal SLA, service credit, or contractual penalty applies unless agreed in an order form. format is now required on both conversion endpoints; missing values return 400 FORMAT_REQUIRED and unsupported values return 422 INVALID_FORMAT. download is now required on task-result requests; missing values return 400 DOWNLOAD_FORMAT_REQUIRED and unsupported values return 400 INVALID_DOWNLOAD_FORMAT. Conversion uploads now accept client_reference/external_invoice_id and source_system for customer-side reconciliation. Accepted conversion and task-status responses now include status_url, primary_result_format, primary_result_url, and supplied reconciliation fields.

2026-06-01

Structured conversion now accepts all public output formats: XRECHNUNG, ZUGFeRD, EN16931, UBL, and CII. Structured conversion now accepts repeatable data_file parts plus data_files and data_files[] aliases for split ERP exports. Structured multi-file bundles must describe exactly one invoice and fail fast on conflicting or missing bundle invoice IDs. Clarified that multiple invoice documents should be submitted as separate conversion tasks, each with its own idempotency key.

2026-05-27

Added POST /api/v1/invoices:convert-structured for carrier-PDF plus CSV/JSON/XML/XLSX/TXT structured-data conversion across supported output formats. Documented that structured data is the only semantic source on this endpoint; the PDF is used for hybrid embedding. Updated OpenAPI and Postman artifacts for structured conversion.

2026-05-08

Added prepaid External API credits for non-Enterprise tenants. Documented 402 INSUFFICIENT_API_CREDITS for approved tenants without Enterprise order-form billing or prepaid credits. Confirmed idempotent replays do not consume additional API credits. Clarified that External API V1 model routing is managed server-side while profile and delivery context stay caller-controlled.

2026-03-06

Made task-result downloads format-faithful for CII and ZUGFERD outputs. Added cached result artifact reuse for repeated XML/PDF downloads of the same task. Aligned polling quotas with endpoint-scoped weighted rate-limit buckets.

2026-02-23

Added clearer, consistent API error responses across all endpoints. Expanded convert options and documented XML/PDF download behavior for task results. Improved retry safety with stricter idempotency requirements and validation. Updated OpenAPI/Postman artifacts to match current API behavior.

2026-02-20

Simplified status responses to status-focused output. Strengthened IndexNow submission validation and authentication checks. Hardened API access controls and request-limiting behavior in production.

Error Contract#

CodeHTTPRetryableNotes
AUTHENTICATION_REQUIRED401NoMissing/empty bearer token
INVALID_API_KEY401NoAPI key not found/revoked/expired
INSUFFICIENT_API_CREDITS402NoUse approved prepaid testing credits or Enterprise order-form billing
IDEMPOTENCY_KEY_REQUIRED400NoWrite endpoint called without Idempotency-Key
INVALID_IDEMPOTENCY_KEY400NoIdempotency key has invalid format
IDEMPOTENCY_CONFLICT409NoSame key used with different request hash
IDEMPOTENCY_IN_PROGRESS409YesSafe to retry later with same key/payload
FORMAT_REQUIRED400NoConversion request missing required format
INVALID_FORMAT422NoUnsupported conversion format
CLIENT_REFERENCE_CONFLICT400Noclient_reference and external_invoice_id differ
DOWNLOAD_FORMAT_REQUIRED400NoTask result request missing required download query
INVALID_DOWNLOAD_FORMAT400NoTask result download query must be xml or pdf
AUTH_SERVICE_UNAVAILABLE503YesAuth backend unavailable
RATE_LIMIT_SERVICE_UNAVAILABLE503YesRate-limit backend unavailable
RATE_LIMITED429YesRespect Retry-After and quota headers
BAD_REQUEST400NoInvalid JSON or invalid UUID path parameter
PAYLOAD_TOO_LARGE413NoOver upload size limit
INVALID_UPLOAD400NoUpload read/parsing failure
UPLOAD_FAILED4xx/5xxConditionalFix invalid request options; retry only for transient 5xx cases
TASK_NOT_READY202YesPoll again for async completion
VALIDATION_FAILED422NoBlocking validation issues remain; correct invoice data before retrying
AUTHORITATIVE_VALIDATION_UNAVAILABLE503YesAuthoritative validation, proof persistence, or hybrid-generation dependency unavailable; retry later
TASK_STATUS_FAILED4xx/5xxConditionalRetry if transient service condition
TASK_RESULT_FAILED4xx/5xxConditionalRetry if transient service condition
XML_GENERATION_FAILED500YesTransient XML generation failure or timeout
PDF_GENERATION_FAILED500YesTransient PDF generation failure or timeout
ARTIFACT_GENERATION_RERUN_REQUIRED503NoStrict artifact generation failed after server-side retries; start a new conversion after the dependency recovers
ZUGFERD_SOURCE_PDF_INCOMPATIBLE422NoStrict hybrid PDF generation cannot embed XML into the uploaded source PDF
OUTPUT_PROFILE_REQUIRED422NoA generic output contract requires an explicit profile when no unambiguous default can be determined
OUTPUT_PROFILE_CONFLICT422NoProfile contradicts the selected output format or explicit variant
PROXY_ERROR502/504YesTemporary connectivity failure (504 for timeout)

Common errors and what to do#

Use these points as the practical checks for this section.

  • Retry with backoff: 429, 500, 502, 503, 504.
  • Fix request or source data: 400, 409, 413, 422.
  • Fix access or credentials: 401, 403.
  • Confirm approval and prepaid testing credits or Enterprise order-form billing: 402 INSUFFICIENT_API_CREDITS.
  • Keep polling later: 202 TASK_NOT_READY.
  • For 422 VALIDATION_FAILED, show the returned field, rule ID, and remediation to a human reviewer before retrying with corrected invoice data.
  • For 503 AUTHORITATIVE_VALIDATION_UNAVAILABLE, fetch the same task result later; no unverified artifact was delivered.

Rate & payload limits#

Per-key rate limits and payload size constraints are enforced for all API calls. Rejected conversions do not consume prepaid API credits; rate limits are calculated separately per endpoint.

  • Endpoint-aware limits are cost-weighted. Both upload endpoints use the baseline quota (default 30/min and 500/hour); task polling is currently at least 10/min and 120/hour, and result downloads are currently at least 10/min and about 134/hour by default.
  • Read effective limits from X-RateLimit-Limit-Minute and X-RateLimit-Limit-Hour on responses.
  • PDF upload max size: 20 MB
  • Structured data upload max size: 2 MB total across all data_file parts.
  • JSON payload max size: 1 MB
  • Rate-limit responses include Retry-After, X-RateLimit-Limit-Minute, and X-RateLimit-Limit-Hour.

Retry guidance#

Use these points as the practical checks for this section.

  • Use exponential backoff with jitter.
  • Retry only transient classes (429, 500, 502, 503, 504) using the same payload and idempotency key where possible.
  • Do not blindly retry validation or contract errors (400, 401, 402, 403, 409, 413, 422).

Task lifecycle & retention#

Use these points as the practical checks for this section.

  • Completed and failed tasks remain available for 10 minutes after reaching terminal state.
  • Processing times out after 5 minutes — stuck tasks are automatically marked failed.
  • Idempotency keys expire after 24 hours.
  • Rate-limit counters reset on a rolling window.

Support model#

Use these points as the practical checks for this section.

  • Business-hours support on commercially reasonable efforts.
  • No formal SLA, service credit, or response-time commitment unless agreed in an order form.

Send Technical Feedback#

Share implementation questions, risks, and required contract changes with our team.

Email technical feedback

Use Postman and OpenAPI#

Use these points as the practical checks for this section.

  • Import the Postman collection and set baseUrl, apiKey, and a new idempotencyKey variable.
  • Run the collection in order: convert, poll status, then fetch result.
  • Use the OpenAPI JSON to generate typed clients, but keep file upload, polling, and binary result handling covered by integration tests.
  • Record X-Correlation-ID in logs so support can trace requests end-to-end.
Trust & Security
On this page
OverviewKey capabilitiesDelivery ArtifactsQuickstartGet API accessBase URL and API keysFirst successful requestCommon payload examplesRequired request headersAuth rulesIdempotency contractEndpoint ReferenceOutput format matrixChangelogError ContractCommon errors and what to doRate & payload limitsRetry guidanceTask lifecycle & retentionSupport modelSend Technical FeedbackUse Postman and OpenAPI

Invoice-Converter.com

Helping businesses across Europe convert invoices to XRechnung and other e-invoice formats with validation support. Review edge cases before submission.

20,000+ invoices processed
Fast & Secure
Trusted by hundreds

Features

Convert PDFs & create

  • PDF to XRechnung
  • PDF to UBL
  • PDF to XRechnung (CII)
  • PDF to ZUGFeRD
  • PDF to Factur-X
  • Create XRechnung
  • XRechnung to PDF

View & validate

  • XRechnung/XML Viewer
  • XRechnung Validator

Quick Links

  • Resources
  • Trust & Security Center
  • Developer API Documentation
  • Blog
  • FAQ
  • Pricing
  • Climate Contribution

Legal

  • Imprint
  • Privacy Policy
  • Data Processing Agreement
  • Terms & Conditions
  • Money-Back Guarantee

Get in Touch

contact@invoice-converter.com
Start Converting
© 2026 Invoice-Converter.com.Made with in Europe
GDPR Compliant
German Server