Termes métier — tout le modèle EN 16931, et ce que la France en fait
Une facture électronique n'est pas l'image d'une facture. C'est une liste de valeurs nommées que le logiciel du destinataire lit, et la norme européenne EN 16931 attribue un numéro à chacune : BT-1 est le numéro de facture, BT-9 la date d'échéance, BT-121 le code qui explique pourquoi une ligne ne porte pas de TVA. Votre comptable les connaît comme les mentions obligatoires ; le système de votre client les connaît comme les champs sur lesquels il paie ; un validateur vous les cite quand il rejette un document.
Toutes les autres pages les nomment une par une — ce cas d'usage repose sur BT-25, ce champ d'API est BT-9. Cette page est la liste complète : les 30 groupes métier et les 164 termes métier, chacun avec le chemin UBL où il se trouve, le caractère obligatoire ou non en France et la règle qui l'impose, et le champ de POST /v1/documents/send qui le porte.
Comment lire une ligne
Deux colonnes portent le jugement, et toutes deux disent quelque chose de plus étroit qu'il n'y paraît.
France — ce que la réforme exige
- mandatory
- Exigé sur toute facture électronique française.
- conditional
- Exigé lorsque la condition indiquée s'applique — la ligne la nomme.
- restricted
- Autorisé, mais la France restreint les valeurs que l'EN 16931 permet.
- optional
- Facultatif dans l'EN 16931, et la France n'ajoute rien.
Flowie — comment la donnée part
- sent
- Vous l'indiquez dans le corps JSON et elle est restituée.
- derived
- Calculé pour vous — les totaux, la numérotation des lignes, le code type.
- accepted
- Le champ existe et est stocké, mais n'est pas encore restitué.
- xml-only
- Pas de champ JSON — portez-le avec
format=ubl-xml.
Obligatoire ne veut pas dire que vous devez le saisir. Plusieurs termes exigés par la France sont complétés par Flowie : les totaux du document, la numérotation des lignes, la ventilation de la TVA. La colonne Flowie vous dit lesquels vous devez réellement énoncer — tout ce qui est marqué sent vous revient, et tout ce qui est xml-only est un manque que vous devez combler vous-même aujourd'hui.
La colonne cardinalité est celle de l'EN 16931, pas celle de la France. Les deux divergent volontairement : la norme laisse la rue du vendeur facultative, la France en fait une mention obligatoire. Lisez la cardinalité pour la forme de la syntaxe et la colonne France pour l'obligation.
Tous les termes métier
Regroupés comme la norme les regroupe — l'en-tête de facture d'abord, puis chaque BG, puis la ligne. La recherche porte sur l'identifiant, les deux libellés, le chemin UBL, la note française et le champ d'API : autoliquidation, TaxSubtotal et BT-121 trouvent donc la même ligne.
| Terme | Libellé & chemin UBL | Card. | France | Flowie |
|---|
Les quatre mentions ajoutées par la réforme
La France exigeait déjà 24 mentions obligatoires sur une facture papier, et l'EN 16931 les porte toutes. La réforme en a ajouté quatre, et ce sont les quatre qu'un ERP conçu pour la facturation électronique ailleurs risque le plus d'omettre :
- Le SIREN du vendeur —
BT-30, schéma0002.BR-FR-09exige ensuite que les neuf premiers chiffres du SIRET deBT-29lui soient égaux. - Le SIREN de l'acheteur —
BT-47.BR-FR-11le veut présent et actif dans l'annuaire. - L'adresse de livraison lorsqu'elle diffère de l'adresse de facturation —
BG-15, obligatoire sur une facture de biens au titre deBR-FR-14. - La nature de l'opération — biens, services ou les deux. C'est le cadre de facturation de
BT-23(BR-FR-08) :B1biens,S1services,M1mixte, et les variantes numérotées pour les acomptes, les factures déjà payées et la sous-traitance.
Deux autres sont presque aussi souvent oubliées, et aucune n'est nouvelle — seulement nouvellement contrôlée. BR-FR-05 rend trois mentions légales obligatoires sur chaque facture (l'indemnité forfaitaire de recouvrement de 40 €, les pénalités de retard, et l'escompte pour paiement anticipé ou la mention qu'il n'y en a pas), portées par des notes BT-21/BT-22. Et BR-FR-20 impose une note BAR déclarant le régime auquel le document appartient. Voir les trois mentions légales pour la formulation exacte.
Ce que cette liste n'est pas
- C'est la facture, pas les flux autour. La colonne France est l'obligation sur le flux 1 — la facture qu'un vendeur dépose. L'e-reporting (flux 10) et les statuts du cycle de vie 200–213 portent leurs propres données avec leurs propres règles.
- Les extensions françaises ne sont pas des BT. L'AFNOR ajoute des champs au-delà de l'EN 16931 — le sous-type de ligne multi-vendeur
EXT-FR-FE-163et sa famille — numérotés dans leur propre espace. Ils sont nommés dans les cas d'usage qui en ont besoin. - Un BT n'est restitué que si votre modèle déclare un emplacement pour lui. Le mapping remplit les emplacements que votre modèle possède ; il n'en crée pas. Si une valeur que vous envoyez n'apparaît pas, demandez quels champs
BT-*votre modèle déclare. - Il n'y a pas de BT-4. Le modèle publié ne l'attribue pas. La liste est complète sans lui — vous n'avez pas perdu une ligne.
Depuis l'API
Le même référentiel, depuis la même source, sans clé d'API — c'est un catalogue, pas vos données :
# tout le modèle
curl https://api.get-flowie.com/v1/tools/fr/ubl/business-terms
# uniquement ce que la France rend obligatoire, au niveau ligne
curl "https://api.get-flowie.com/v1/tools/fr/ubl/business-terms?fr=mandatory&scope=line"
# un seul terme
curl https://api.get-flowie.com/v1/tools/fr/ubl/business-terms/BT-121
Chaque entrée porte id, name, nameFr, group, scope, cardinality, ubl, fr + frNote, et api + apiState. Filtres : group, scope, fr, mapped, q.
Le tableau ci-dessus lit la même liste sous forme d'actif statique — assets/fr-business-terms.json — à récupérer si vous voulez le référentiel sans rien appeler.
Références
- EN 16931-1:2017/A1:2019 — le modèle sémantique de données d'où viennent ces identifiants.
- Schématrons FNFE v1.3.0 (XP Z12-012) — les règles
BR-FR-*que la colonne France nomme. Le générateur UBL valide chaque exemple contre elles. - AFNOR XP Z12-014 v1.4 — les 45 cas d'usage, qui décident lesquels de ces termes une facture donnée doit porter.
- POST /v1/documents/send — le mapping champ par champ, dans l'autre sens.