Une facture qu'un humain et une machine lisent
Produire une facture lisible à l'œil et porteuse, dans le même fichier, des données que la comptabilité lit toute seule.
Écrit au premier niveau d'une requête, sous
"invoice"
En mots de tous les jours
Écrit pour tout le monde. Il dit ce que cela pose sur une feuille de papier, et ne vous demande rien de plus.
Une facture doit être lue par deux publics. Un humain la regarde et voit les lignes, les montants, la date. Le logiciel de comptabilité, lui, veut les mêmes chiffres rangés dans des cases, pour les enregistrer sans que personne les retape. On peut faire les deux dans un seul fichier : la belle page à regarder, et les données rangées glissées dedans. La France l'impose progressivement aux entreprises, et le fichier reste une facture parfaitement ordinaire à l'œil.
Pour un développeur
Écrit pour celui qui écrit le programme appelant : le modèle, les unités, et les réglages qui portent le poids.
invoice attache au document le XML de facturation et déclare ce qu'il est : le profil de la norme qu'il suit, sa version, sa relation au document, et la date à laquelle les données ont changé pour la dernière fois. Le XML arrive à côté de la requête, dans une partie du formulaire portant le nom donné ici. Une facture demande la norme d'archivage qui autorise un fichier joint : la requête déclare donc "archive": "pdfa3b". L'équipe a figé le nom du fichier joint à factur-x.xml.
Chaque clé, avec son défaut
La référence : quelles clés sont obligatoires, lesquelles sont facultatives, ce que vaut chacune par défaut et quelles combinaisons le serveur décline.
-
invoice— objet, facultatif, absent par défaut. -
invoice.xml— chaîne, obligatoire. Le nom de la partie fournie portant le XML. Un nom qu'aucune partie ne porte est refusé. -
invoice.profile— chaîne, obligatoire, écrite comme la norme l'écrit. Cinq valeurs :"MINIMUM","BASIC WL","BASIC","EN 16931","EXTENDED". -
invoice.version— chaîne, facultative,"1.0"par défaut. La version de la spécification que le XML suit. -
invoice.relationship— chaîne, obligatoire, sans valeur par défaut. Cinq valeurs :source,alternative,data,supplement,unspecified. Les profils qui ne portent qu'une partie de la facture sontdata, ceux qui la portent entière sontalternative, et l'expéditeur seul sait lequel a été écrit. -
invoice.issued— chaîne, obligatoire, en ISO 8601. Le moment où les données de la facture ont changé pour la dernière fois, non le moment où le PDF a été fabriqué. -
La requête déclare
"archive": "pdfa3b": sans norme d'archivage, la facture est refusée, et souspdfa4elle l'est aussi, cette partie n'accueillant un fichier que s'il est lui-même archivable. -
Le nom du fichier attaché est
factur-x.xml.
Une requête entière qui le dessine
Envoyez ceci tel quel et un PDF revient. Rien n'en a été retiré.
Un nom ci-dessous tient lieu d'un fichier de police : mettez le fichier encodé à sa place, ou envoyez le fichier lui-même à côté de la description, comme une partie du même appel.
{
"archive": "pdfa3b",
"invoice": {
"xml": "invoice_xml",
"profile": "MINIMUM",
"relationship": "data",
"issued": "2026-08-08T09:30:00+02:00"
},
"output_intent": { "identifier": "sRGB", "info": "sRGB IEC61966-2.1" },
"metadata": {
"title": "Invoice 2026-014",
"created": "2026-08-08T09:30:00+02:00"
},
"fonts": [{ "name": "body", "data": "PASTE_THE_FONT_FILE_BASE64_HERE" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 768 },
"content": ["Invoice 2026-014 — total 5 100.00 EUR"],
"font": "body",
"font_size": 16
}
]
}
Le document dans son ensemble
Les numéros que le lecteur affiche Cent courriers dans un seul fichier Ce que le document dit de lui-même Un fichier lisible dans trente ans L'adresse contre laquelle les liens se lisent La version de PDF que le fichier déclare Ce qu'une image dit d'elle-même
Où aller ensuite
Chaque clé d'une requête, en une page Les trente-deux autres réglages d'une requête
Glossaire
- norme
- Une règle débattue en commission, publiée sous un numéro que n'importe qui peut acheter et lire, et identique pour toutes les entreprises qui s'en réclament. Dire qu'on la suit peut donc être vérifié face au texte. Une façon de faire qui s'est simplement répandue parce qu'elle marchait est une habitude du métier : utile, très suivie, et qui ne répond devant aucun texte.
- Factur-X
- Une facture qui sert deux lecteurs à la fois. Pour la personne qui la reçoit, c'est une page ordinaire. Pour son logiciel de comptabilité, ce sont les mêmes montants rangés à l'intérieur du même fichier, sous une forme qu'il lit tout seul : plus rien à retaper. La loi française l'impose entre entreprises.
- profil de couleur
- Un fichier qui dit à quoi une couleur ressemble pour de vrai. Sans lui, le même rouge ne sort pas pareil sur un écran et sur du papier. Un document destiné à l'imprimerie emporte donc avec lui le profil sur lequel ses couleurs ont été choisies.
- requête
- Un appel au service : vous envoyez ce que le document doit dire, et vous recevez le document. Votre facture compte ces appels, un par document. Le nombre de pages d'un document n'est jamais compté.