Overview

How invoice-api works

Invoice data in, a compliant e-invoice out – and in the other direction, read and check e-invoices you receive.

Foreign e-invoiceXML · PDFInvoice data (JSON)Your systemE-invoiceXRechnung · ZUGFeRDFactur-X · Facturae · …parsevalidateValidation reportgenerate+ AttachmentsPDF/A-3attachmentsRecipientplanned 2027peppol/sendanother formatconvertWhich countries and formats?formatsMore building blocksverifactu-qr (ES)QR code for SpainvisualizerInvoice as a viewplanned Q4/2026archiveaudit-proof storageplanned 2027
One flow, left to right: a foreign file in, your invoice data in the middle, a finished e-invoice out – everything else hangs off that line.

The building blocks

Every building block is one endpoint. The status is the same one every other surface shows – planned means planned, and always with a date.

Building blockWhat it doesWhen you need itEndpointReference
Invoice CreatorLive
Turns your invoice data into a finished e-invoice in the target country's format.Whenever you send an invoice – this is the main path.POST /api/v1/invoice/{countryCode}/{format}/generateReference
ValidatorLive
Checks an invoice against the rules of the country (EN 16931, KoSIT, Peppol) and reports every violation with its rule id.Before you send, and when you decide whether to accept or reject an invoice you received.POST /api/v1/invoice/{countryCode}/validateReference
ParserLive
Reads a foreign e-invoice – XML or ZUGFeRD PDF – into the same JSON structure the creator accepts.On inbound invoices, when the fields need to reach your bookkeeping.POST /api/v1/invoice/parseReference
FormatsLive
Lists which countries and formats are available, with format id and MIME type.When your UI should build the choice itself instead of hard-wiring it.GET /api/v1/invoice/formatsReference
ConverterLive
Converts a finished e-invoice into another format and reports what does not survive the move.When you hold an XRechnung but your recipient asks for ZUGFeRD – or the other way round.POST /api/v1/invoice/convertReference
AttachmentsLive
Embeds files into an existing PDF without losing its PDF/A-3 conformance.When a timesheet, a delivery note or a proof of work should travel with the invoice.POST /api/v1/invoice/attachmentsReference
VeriFactu QR (ES)Live
Produces the QR code required by the Spanish VeriFactu rules, as URL, PNG or SVG.When you invoice into Spain and the document has to carry the QR code.POST /api/v1/invoice/es/verifactu-qrReference
VisualizerPlanned Q4/2026
Renders an e-invoice as a view for humans.When you want to show XML inside your own product without building a layout yourself.POST /api/v1/invoice/renderReference
ArchivePlanned 2027
Stores invoice and validation report in an audit-proof way.When you would rather not run the legally required retention yourself.POST /api/v1/invoice/archiveReference
Peppol GatewayPlanned 2027
Hands the invoice to the Peppol network and takes the delivery receipts back.When the recipient is addressed via Peppol. Until then: send by e-mail or portal.POST /api/v1/peppol/sendReference

Three typical paths

Almost every integration is one of these three – or a combination of two.

Outbound: send an invoice

  1. 1Assemble the invoice data from your system as JSON.
  2. 2Call generate; country and format sit in the path, e.g. DE and xrechnung.
  3. 3Optional attachments: embed the proof of work or delivery note into the PDF.
  4. 4Hand the result to the recipient by e-mail or portal.

Inbound: read and check an invoice

  1. 1Send the file you received – XML or ZUGFeRD PDF – to parse.
  2. 2validate returns the report with rule ids: the basis for accepting or rejecting.
  3. 3Take the fields from the response into your bookkeeping.

Convert: change the format

  1. 1Send the source file, e.g. an XRechnung, to convert.
  2. 2Choose the target format: zugferd, facturx or xrechnung.
  3. 3Read conversionWarnings – it names what the target format does not know.

What the service does not do

Three limits worth knowing before you integrate – so nobody goes looking in the wrong place.

No OCR for scanned PDFs

parse reads structured data: XML, or the XML embedded in a ZUGFeRD PDF. A scanned paper PDF contains none, and none is guessed here.

No Peppol dispatch

Peppol access is planned for 2027. Until then the file is produced here; the transport is yours or your access point's.

No PDF becomes a ZUGFeRD invoice

attachments embeds files into a PDF, nothing more. A ZUGFeRD invoice comes from structured data via generate or convert, not from attaching something.

Attachments API