# Invoice conversion API: a simple integration guide

- Date: 2026-07-29
- Modified: 2026-08-29
- Reviewed: August 29, 2026
- Reading time: 2 min read

Integrate invoice conversion by API: get access, upload with an idempotency key, poll the task, download the result, and handle validation.

> Reviewed against Invoice Converter developer API, OASIS UBL 2.1 specification.

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

- With an active Enterprise subscription, create an API key in your profile.
- Send the source to POST /api/v1/invoices:convert with a target format and an idempotency key.
- Store the returned task ID.
- Poll GET /api/v1/tasks/{task_id} with backoff until the task reaches a final state.
- 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](/en/blog/invoice-conversion-by-email) for controlled low-volume mailbox workflows.

## FAQ

### 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.

## Official references

- [Invoice Converter developer API](https://www.invoice-converter.com/en/developer-api)
- [OASIS UBL 2.1 specification](https://docs.oasis-open.org/ubl/os-UBL-2.1/UBL-2.1.html)
