Émettre une facture depuis un folio (standard / acompte / solde)
const url = 'https://example.com/v1/folios/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/invoices';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"invoiceKind":"standard","operatingMandateId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","siren":"123456789","establishmentId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","fiscalYear":2026,"invoiceDate":"2026-06-08","servicePeriodFrom":"2026-04-15","servicePeriodTo":"2026-04-15","billTo":{"type":"guest","name":"example","address":"example","country":"example","siret":"example","vatNumber":"example","vatRegime":"consumer"},"entryIds":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/folios/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/invoices \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "invoiceKind": "standard", "operatingMandateId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "siren": "123456789", "establishmentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "fiscalYear": 2026, "invoiceDate": "2026-06-08", "servicePeriodFrom": "2026-04-15", "servicePeriodTo": "2026-04-15", "billTo": { "type": "guest", "name": "example", "address": "example", "country": "example", "siret": "example", "vatNumber": "example", "vatRegime": "consumer" }, "entryIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'Numérotation NF203 atomique (zéro trou) + chaînage HMAC. Idempotency-Key obligatoire (anti-double-émission). Pour invoiceKind=final : les déductions d’acomptes sont résolues côté serveur — ne pas fournir de montants de déductions dans le body.
Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Path Parameters
Section intitulée « Path Parameters »Request Body required
Section intitulée « Request Body required »object
Example
123456789Example
2026Example
2026-06-08object
Sous-sélection d’entries (split bill). Défaut : toutes les entries éligibles.
Responses
Section intitulée « Responses »Facture émise — numéro NF203 attribué
object
object
Example
{ "data": { "invoiceNumber": "FAC-2026-0000001" }}Corps ou paramètres invalides
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Non authentifié
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Permission refusée ou périmètre non vérifiable
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Ressource introuvable
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Conflit d’état ou stock épuisé
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}