En bref
- B désigne une facture de biens, S une prestation de service, M une facture double biens et services (énoncé BR-FR-08).
- 20 valeurs acceptées en version 1.4.0.04, contre 13 en version 1.3.0 (sans S3, B8/S8/M8 ni B9/S9/M9).
- Chemins de BT-23 : ram:BusinessProcessSpecifiedDocumentContextParameter/ram:ID en CII, cbc:ProfileID en UBL.
- BT-23 est de cardinalité 0..1 dans EN 16931 : c'est la règle française qui le rend obligatoire.
Ce que vérifie la règle
Le cadre de facturation, c'est le code qui dit à la plateforme quel type de dépôt vous effectuez. Ce champ, le BT-23, est devenu obligatoire dans le profil français, et sa valeur doit appartenir à une liste précise. Dans les schematrons FNFE 1.4.0.04, l'assertion vérifie à la fois la présence du champ et l'appartenance de sa valeur à la liste. Un champ vide, ou une valeur inconnue, peut entraîner le signalement ou le rejet de la facture, selon la plateforme.
Le cadre de facturation (BT-23) est obligatoire. Sa valeur doit appartenir à la liste autorisée : B1 (facture de biens), S1 (prestation de service), M1 (facture double biens et services), B2/S2/M2 (facture déjà payée), B4/S4/M4 (facture définitive après acompte), S3 (sous-traitance B2G avec paiement direct), S5 (dépôt par un sous-traitant), S6 (dépôt par un cotraitant), B7/S7 (facture ayant fait l'objet d'un e-reporting), B8/S8/M8 (facture multi-vendeurs), B9/S9/M9 (facture bidirectionnelle).
Règle BR-FR-08 · XP Z12-012 Annexe A V1.4 (énoncé reformulé) · Sévérité : fatale · schematrons FNFE 1.4.0.04
Les schematrons FNFE 1.4.0.04 acceptent ces 20 valeurs. La version 1.3.0 n'en acceptait que 13 : elle refusait S3, B8/S8/M8 et B9/S9/M9, et ne contrôlait pas l'absence du champ.
Dans les schematrons FNFE 1.4.0.04, l'assertion est fatale en mode FATAL : applicable en émission depuis le 1er octobre 2026, et en réception au plus tard à cette date. La version 1.3.0 la classait en warning. Chaque plateforme agréée (PA) applique la version qu'elle a déployée : une PA restée en 1.3.0 peut encore se limiter à un simple signalement.
Essai gratuit · 30 jours
Une facture rejetée, et vous ne savez pas pourquoi ?
Déposez vos factures dans Diag Invoice. Elles sont contrôlées avant l'envoi et chaque erreur est expliquée en clair, avec la correction à faire. Gratuit pendant 30 jours.
Sans carte bancaire. Accès immédiat.
EN CLAIR
Le cadre de facturation dit à la plateforme quel type de dépôt vous faites. B pour une facture de biens, S pour une prestation de service, M pour une facture mixte ; le chiffre précise le cas (facture simple, déjà payée, définitive après acompte, sous-traitance). Ce code (BT-23) est obligatoire : sans lui, ou avec une valeur inconnue, la facture peut être signalée ou rejetée, selon la plateforme.
Un exemple
Deux causes de rejet cohabitent : le champ laissé vide, et le champ rempli avec un code qui n'existe pas dans la liste.
| Cadre (BT-23) | Situation | Résultat |
|---|---|---|
| (vide) | non renseigné | non conforme (obligatoire) |
| B3 | valeur hors liste | non conforme |
| S1 | facture de prestation de service | conforme |
| M1 | facture mixte biens et services | conforme |
Le premier cas est un champ jamais rempli par le logiciel. Le deuxième est une valeur plausible en apparence, mais absente de la liste : le contrôle ne devine pas l'intention, il compare à la liste, et toute valeur qu'il n'y trouve pas fait échouer l'assertion.
Pourquoi ça arrive
La première cause est un logiciel qui n'a jamais émis le BT-23 : ce champ a été rendu obligatoire par le profil français, et les paramétrages antérieurs ne le renseignaient pas.
La deuxième est une valeur codée en dur, héritée d'un ancien mapping, qui ne correspond plus à la liste actuelle. La troisième est une confusion entre biens et services : une prestation déposée en B1 (biens) au lieu de S1 (service), ou l'inverse.
Comment corriger
- 01
Vérifiez que le cadre de facturation (BT-23) est bien émis par votre logiciel : c'est un champ obligatoire du profil français.
- 02
Choisissez le code qui correspond à l'opération : B1 pour une livraison de biens, S1 pour une prestation de service, M1 pour une facture mixte. Ajoutez le cas particulier si besoin (facture déjà payée, définitive après acompte, sous-traitance).
- 03
Corrigez le paramétrage pour que ce code soit renseigné automatiquement selon la nature de vos factures.
- 04
Ré-émettez la facture avec un cadre valide. Une facture rejetée n'est pas corrigée côté plateforme : elle doit être re-déposée.
Où ça se joue dans le cycle de vie
Ce contrôle fait partie du profil français appliqué par les plateformes agréées (PA), à l'émission comme à la réception. Dans les schematrons FNFE 1.4.0.04, l'assertion est fatale en mode FATAL : applicable en émission depuis le 1er octobre 2026, et en réception au plus tard à cette date. La version 1.3.0 la classait en warning ; une PA qui l'applique encore peut se limiter à un simple signalement.
En cas de rejet, la PA émet le statut 213 « Rejetée » : un message générique assorti d'un motif obligatoire, choisi dans la liste des codes motifs (par exemple REJ_SEMAN, « Rejet pour erreur sémantique »). La facture doit alors être corrigée à la source, puis déposée de nouveau.
Questions fréquentes
À quoi sert le cadre de facturation (BT-23) ?
Il indique à la plateforme le type de dépôt : facture de biens (B1), de prestation de service (S1) ou mixte (M1), avec des variantes pour les factures déjà payées, définitives après acompte, de sous-traitance ou de cotraitance, multi-vendeurs ou bidirectionnelles. Il est obligatoire dans le profil français.
Que signifient les lettres B, S et M ?
B désigne une facture de biens, S une facture de prestation de service, M une facture mixte qui mêle biens et services. Le chiffre qui suit précise le cas d'usage : 1 facture simple, 2 déjà payée, 3 sous-traitance B2G à paiement direct (S3 seulement), 4 définitive après acompte, 5 sous-traitance, 6 cotraitance, 7 facture ayant fait l'objet d'un e-reporting, 8 facture multi-vendeurs, 9 facture bidirectionnelle.
Pourquoi ma facture est-elle rejetée alors que le cadre est renseigné ?
Parce que la valeur saisie n'appartient pas à la liste autorisée. Un code hérité d'un ancien paramétrage, ou une valeur inventée, ne passe pas le contrôle, même si le champ n'est pas vide.
Ressources citées
Vous avez reçu un autre code ? Décoder un code d’erreur : entrez le code ou collez le message affiché par votre plateforme.
Avant l’envoi, le contrôle des factures électroniques vérifie format, données et calculs ; à la réception, le contrôle des factures fournisseurs fait de même pour vos achats. Un rejet déjà reçu ? Le guide des rejets de facture électronique vous aide à le lire. Un terme inconnu ? Il est défini dans le glossaire de la facturation électronique.