Factur-X EN 16931 : le seul profil que Chorus Pro accepte sans discuter
EN 16931 (aussi appelé profil « Comfort ») est l'implémentation complète de la norme européenne de facturation électronique dans Factur-X. Il valide automatiquement contre les règles métier Schematron BR-CO-*, BR-AE-*, BR-CL-* — ce qui veut dire que si votre Factur-X EN 16931 passe la validation, Chorus Pro l'acceptera. C'est la promesse minimale exigée par toute administration ou entreprise publique française.
Sources & références (5)
- EN 16931-1:2017 — Semantic data model of the core elements of an electronic invoice
- CEN/TS 16931-2 — Liste des règles métier (Schematron CII)
- AIFE — Spécifications externes Chorus Pro (Factur-X)
- FNFE-MPE — Profil EN 16931 dans Factur-X 1.07.2
- Directive 2014/55/UE — Facturation électronique dans les marchés publics
Cas d'usage typique
Thomas, dirigeant d'une ESN (SAS, 18 salariés)
Thomas fait du développement logiciel pour le ministère de la Transition écologique. Marché public, bon de commande référencé, facturation mensuelle au temps passé : 12 600 € HT, 2 520 € TVA à 20%, 15 120 € TTC. Les factures doivent transiter par Chorus Pro pour être payées. S'il émet en MINIMUM ou BASIC, le portail rejette ou stagne en « En attente de validation ». EN 16931 est non négociable : Chorus Pro valide via le validateur KoSIT (le même qu'Easy Factur-X), qui applique les règles BR-CO-* et BR-AE-* CEN. Si une seule règle échoue, la facture revient avec un avis de rejet circonstancié.
Les règles métier EN 16931 qui font la différence
En passant de BASIC à EN 16931, vous activez une validation Schematron complète. Voici les règles qu'on voit le plus tomber chez les sous-traitants de l'État :
BR-CO-15
HT + TVA = TTC, au centime près
La règle universelle. Échec déclenche un rejet immédiat. Voir l'explication complète.
BR-CO-10
Somme des lignes HT = Total HT du document
BASIC n'impose pas formellement cette cohérence ; EN 16931 oui. Si vous avez une ligne arrondie différemment, le validateur s'en aperçoit.
BR-CO-17
Pour chaque taux TVA : base × taux ÷ 100 = montant TVA
Aucune marge de manœuvre, même pas 1 centime. Si vous avez plusieurs taux, ils sont vérifiés un par un.
BR-AE-01..09
Autoliquidation : motif obligatoire
Code catégorie TVA « AE » dans le XML. Si vous facturez un service intracommunautaire à un client UE, vous devez ajouter la mention légale et un montant TVA à zéro avec catégorie AE.
BR-DE-01..27
Champs supplémentaires en contexte allemand/français
Pour les factures intracommunautaires, EN 16931 impose des informations supplémentaires (référence du marché, référence du bon de commande, code identifiant l'administration destinataire). Chorus Pro fournit ces codes au moment du dépôt du marché.
L'identifiant qui change tout dans le XML
Le marqueur officiel d'un Factur-X EN 16931 dans le XML, c'est cet ID de profil. C'est ce que le validateur Schematron lit en premier pour savoir quelles règles appliquer :
<rsm:ExchangedDocumentContext>
<ram:BusinessProcessSpecifiedDocumentContextParameter>
<ram:ID>A1</ram:ID>
</ram:BusinessProcessSpecifiedDocumentContextParameter>
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:cen.eu:en16931:2017</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
Comparez avec MINIMUM (urn:factur-x.eu:1p0:minimum) et BASIC
(urn:factur-x.eu:1p0:basic) — le profil EN 16931 utilise l'identifiant CEN officiel,
ce qui signale au validateur de mobiliser l'ensemble du Schematron européen.
Structure d'une facture EN 16931 type Chorus Pro
En plus des blocs BASIC (lignes, breakdown TVA), EN 16931 oblige à renseigner :
- •
BuyerOrderReferencedDocument/IssuerAssignedID— la référence du marché ou du bon de commande - •
PayeeTradeParty— si le bénéficiaire diffère du vendeur (cas du factor ou de la cession de créance) - •
SpecifiedTradePaymentTerms/DueDateDateTime— date d'échéance explicite (45 jours pour le secteur public) - •
ProductCharacteristic(optionnel mais souvent demandé) — précisions techniques sur les prestations - •
SpecifiedTradeSettlementPaymentMeans/PayeePartyCreditorFinancialAccount/IBANID— IBAN obligatoire
EN 16931 vs EXTENDED : quand faut-il aller plus loin ?
Au-dessus d'EN 16931, le profil EXTENDED ajoute des extensions sectorielles (transport, énergie, télécom, médical). Concrètement, EXTENDED est utile si vous facturez :
- • un opérateur télécom qui veut le détail par numéro de ligne
- • un transporteur qui veut tracer chaque trajet par référence de fret
- • un fournisseur d'énergie qui veut détailler par point de comptage
- • un hôpital qui veut tracer par dossier patient
Dans 99% des cas pour une ESN, un cabinet de conseil ou un fournisseur de services classique, EN 16931 est largement suffisant et accepté tel quel par Chorus Pro. EXTENDED ne devient utile qu'à la demande explicite de l'acheteur.
Et l'archivage à valeur probante ?
Le profil EN 16931, parce qu'il est validé Schematron + PDF/A-3 strict, est techniquement compatible avec un archivage à valeur probante au sens de la norme NF Z42-013. Mais attention : c'est l'archivage lui-même (système d'archivage électronique certifié) qui apporte la valeur probante, pas le format du fichier. Easy Factur-X génère le fichier conforme ; vous restez responsable de son archivage (10 ans en France, conformément à l'article L102 B du Livre des procédures fiscales).
Pour la transmission officielle, vous devez passer par une plateforme de dématérialisation partenaire (PDP) immatriculée par la DGFiP ou par le Portail Public de Facturation (PPF). Voir le rôle des PDP.
Générer une facture EN 16931 conforme Chorus Pro
Easy Factur-X valide chaque facture EN 16931 contre le Schematron complet CEN avant téléchargement. Si une règle échoue, vous voyez exactement laquelle, avec une explication en clair. Aucune surprise au dépôt Chorus Pro.
Questions des sous-traitants de l'État sur EN 16931
Mon SIRET est valide, pourquoi Chorus Pro le rejette ?
Le SIRET vendeur doit avoir un schemeID="0002"
(identifiant SIRET FNFE selon ISO 6523), pas juste les 14 chiffres. Sans schemeID, Chorus Pro ne sait pas que c'est
bien un SIRET et rejette. Easy Factur-X l'ajoute automatiquement, mais si vous codez à la main, c'est l'erreur n°1.
Comment trouver le code service de mon client public ?
Chorus Pro publie l'annuaire des destinataires publics. Le code service est généralement à demander à votre contact côté administration au moment de la signature du marché. Sans ce code, le routage interne Chorus Pro ne sait pas où orienter votre facture et la met en attente.
Un marché public en plusieurs lots : une facture par lot ou une seule ?
Une facture par lot, avec son propre numéro et sa propre référence de bon de commande. Le marché peut être unique, mais chaque lot a son budget et son agent comptable. Mélanger les lots dans une facture unique rend le rapprochement impossible côté administration et provoque des retards de paiement.
Délai de paiement légal du secteur public ?
30 jours pour l'État et les collectivités territoriales, 50 jours pour les hôpitaux et établissements publics de santé, 60 jours pour certaines entreprises publiques (article L441-10 du Code de commerce). La date d'échéance que vous mettez dans le XML doit respecter ces délais — la mettre plus tôt ne change rien, la mettre plus tard est en infraction.
Que se passe-t-il si une règle BR-* échoue après dépôt ?
Chorus Pro met la facture en statut « Rejet technique » et vous envoie un avis avec le code de la règle violée. Pas de paiement déclenché. Vous devez émettre une nouvelle facture (avec un nouveau numéro, pas une révision) qui corrige le problème. Validez TOUJOURS votre EN 16931 avant dépôt — c'est ce qu'Easy Factur-X fait gratuitement.