Does Qonto support AFNOR XP Z12-013?
Qonto’s API does not follow the AFNOR XP Z12-013 standard. However, it covers the same e-invoicing use cases. The only difference is that it is Qonto-specific rather than following the AFNOR interoperability standard.sending_status reports whether e-invoicing is activated on the organization. For French organizations it does not cover the Annuaire registration, which is also required to send — see Send a client invoice via e-invoice for the full list of prerequisites and the errors they produce.I generate Factur-X invoices in my own tool: how do I send them through Qonto?
If you already produce structured invoices (Factur-X, UBL 2.1, or CII) and want Qonto to handle transmission through the e-invoicing network:- Import the invoice via
POST /v2/client_invoices/bulkto register it and obtain aclient_invoice_id - Send it via e-invoicing via
POST /v2/client_invoices/{id}/send_by_einvoice. Qonto routes it to the recipient’s platform - Track delivery by polling
GET /v2/client_invoices/{id}for status updates
French specificity
E-invoicing API flows
To send an invoice with Send a client invoice via e-invoice, use one of these flows:Flow 1 — Invoices created in Qonto
Flow 1 — Invoices created in Qonto
- Create a client invoice in Qonto
- Send it via e-invoice using the endpoint
POST /v2/client_invoices/{id}/send_by_einvoice - Use the Qonto invoice
idto track its lifecycle (einvoicing_lifecycle_events) and Mark it as paid, Unmark it as paid, etc.
Flow 2 — Invoices created in a third-party invoicing tool
Flow 2 — Invoices created in a third-party invoicing tool
This flow lets you send an invoice initially generated with a third-party invoicing tool via e-invoice, by importing it into Qonto while preserving your original Factur-X file:
- Generate the invoice in the Factur-X format, including the correct
.xmlfile - Import the invoice into Qonto using
POST /v2/client_invoices/bulk— this preserves your original file and returns a Qonto invoiceid - Send the invoice via e-invoice using the endpoint
POST /v2/client_invoices/{id}/send_by_einvoice - Use the Qonto invoice
idto track its lifecycle (einvoicing_lifecycle_events) and Mark it as paid, Unmark it as paid, etc.
Track the e-invoice lifecycle
Track downstream steps on the invoice viaeinvoicing_lifecycle_events. The status_code values follow the platform’s lifecycle; a typical sequence is:
- 200 — Submitted (deposited for e-invoicing)
- 201 — Issued by the platform (released into the network)
- 202 — Received from the platform (the receiving platform acknowledges receipt from the sender), when applicable
GET /v2/client_invoices/{id}): the client_invoice object includes einvoicing_lifecycle_events (each event has a lifecycle status_code—for example 201 for Issued by the platform when that milestone is recorded) and einvoicing_status. Client invoice webhooks support updated (and created) events; treat them as a signal to fetch the invoice again if you need the latest lifecycle list. The documented webhook payload includes einvoicing_status but not the full einvoicing_lifecycle_events array.
Where to go next
Generate a Factur-X invoice
Full walkthrough with Python and Node.js code examples.
PA as a Service
Use Qonto as a transmission platform for your own invoicing tool.
Factur-X reference
How Factur-X PDF generation works on Qonto.