Skip to main content
POST
Send a client invoice via e-invoice
Authentication: API key OAuth 2.0
Scope: client_invoice.write
Related guide: E-invoicing via API
Delivery on the e-invoicing network is asynchronous: see E-invoicing via API for the end-to-end flows and how to track the invoice lifecycle. Processing (asynchronous) Relative to the e-invoicing network, delivery is asynchronous. A 204 means the request was accepted for processing, not that the invoice was fully delivered or issued on the network. The client invoice status does not change when you call this endpoint. Environment limitations The e-invoicing flow is only available in the production environment. Sandbox does not support e-invoicing, as the underlying e-invoicing network operates exclusively in production - this is a platform-level constraint.
  1. The organization must be allowed to send e-invoices. For French organizations that means e-invoicing is activated on the organization and the organization’s SIREN is registered in the Annuaire. Unlike the two conditions below, this one is checked when you call this endpoint: an organization that does not meet it gets a 403.
  2. The client on the invoice must be reachable on the e-invoicing network: e_invoicing_reachable on the client (from Retrieve a client or List clients) must be true. If it is false, do not call this endpoint, use Send a client invoice via email instead. This is not checked when you call this endpoint: an invoice sent to an unreachable recipient is reported as not transmitted in einvoicing_lifecycle_events.
  3. The client invoice must also not already have been submitted for e-invoice. If a send was already requested, calling this endpoint again completes successfully and does not resubmit the invoice. To send again after a rejection, import or create a new invoice.
sending_status from Get e-invoicing settings reports whether e-invoicing is activated on the organization. It does not cover the Annuaire registration, so sending_status: "enabled" is not on its own a guarantee that this endpoint will accept the call.
Supporting documents attached to the invoice are not carried by this endpoint. If the invoice has an upload_id, that document is not embedded in the emitted XML and the upload_id is ignored. The call still succeeds and no error is returned.This means the e-invoicing channel cannot currently satisfy a recipient who requires supporting documents inside the XML file (the attached document, BT-125 of EN 16931). Attachments are delivered only by Send a client invoice via email.
Invoice data and recipient reachability are not validated synchronously: invalid invoice data or an unreachable recipient does not return an error on this call. Check einvoicing_lifecycle_events on the invoice to confirm it was transmitted.Sender-side eligibility is validated synchronously and returns 403. The response body is identical whichever condition failed, so it cannot be used to tell them apart. The causes are:
  • the access token is missing the client_invoice.write scope;
  • the organization is not eligible for e-invoicing on Qonto, or has not activated it;
  • the organization’s KYB is incomplete;
  • the organization is deactivated;
  • for French organizations, the organization’s SIREN is not registered in the Annuaire.

Authorizations

Authorization
string
header
required

Bearer authorization header: Bearer <token>, where <token> is the access token received from the authorization server at the end of the OAuth 2.0 flow.

Headers

X-Qonto-Staging-Token
string

Required only for Sandbox API requests; to get one, please sign up to the Developer Portal.

Path Parameters

id
string<uuid>
required

The ID of the client invoice to send

Response

Request accepted for processing; e-invoice flow continues asynchronously