Skip to main content
Invoice conversion API: a simple integration guide
Blog

Invoice conversion API: a simple integration guide

2 min readReviewed: August 29, 2026
Markdown export

Official references

Use these sources to verify dates, formats, and official rule changes.

The invoice conversion API connects an ERP, accounting system, or custom application. It is asynchronous: your system creates a task, checks its status, and downloads the result.

The API flow in five steps

Interactive flow

Press play or click a step to follow one invoice through this channel.

Output:XRechnungZUGFeRDEN 16931UBLCII

Pipeline stage

Step 1 of 6YouOne-time setup

Create an API key

With an active Enterprise subscription, create a key in your profile. Keep it on your server.

The External API is asynchronous: your system creates a task, polls its status and downloads the validated result. 1. Create an API key: With an active Enterprise subscription, create a key in your profile. Keep it on your server. 2. Send the source: Upload a PDF, DOCX or TXT with the target format and an idempotency key. A structured-input route is also available. 3. Store the task ID: The API answers at once with a task ID. The invoice is converted in the background. 4. Poll with backoff: Check the status with backoff until it is completed or failed. A task completes only when the file passed validation for the requested profile. 5. Download file and report: Fetch the result and its validation report. 6. Route failures to a person: Send validation failures to correction instead of retrying them unchanged. Output: XRechnung, ZUGFeRD, EN 16931, UBL, CII. Steps as described in this guide and the External API V1 specification. Status: October 2026.
  1. With an active Enterprise subscription, create an API key in your profile.
  2. Send the source to POST /api/v1/invoices:convert with a target format and an idempotency key.
  3. Store the returned task ID.
  4. Poll GET /api/v1/tasks/{task_id} with backoff until the task reaches a final state.
  5. Download the result and validation report. Route validation failures to correction instead of retrying them unchanged.

Supported routes and formats

The upload route accepts PDF, DOCX, and TXT. A structured-input route is also available. Current targets include XRechnung, ZUGFeRD, EN 16931, UBL, and CII. ZUGFeRD requires a PDF source.

When to use the API

Use the API for repeatable server-to-server workflows that need task IDs, idempotency, and explicit downloads. Use the email route for controlled low-volume mailbox workflows.

Frequently asked questions

Does the API return the invoice immediately?

No. It returns a task ID. Your integration polls the task and downloads the result when it is ready.

Does the API provide webhooks?

The current partner flow uses polling with backoff, not partner webhooks.

Review the developer API

See authentication, endpoints, examples, limits, and errors.

Related articles