Se rendre au contenu

BT-12 et références FE : module ropi_fr_einvoicing_fr_edi_refs

Numéro de marché, import multi-format et conformité facturation électronique.
14 juillet 2026 par
BT-12 et références FE : module ropi_fr_einvoicing_fr_edi_refs
RoPi IT Solutions, Romaric PINSET LEPRETRE

La réforme de la facturation électronique (septembre 2026) impose l'échange de factures en UBL, CII et Factur-X. Au-delà du simple PDF, chaque flux transporte des références métier normalisées (norme EN 16931) indispensables au rapprochement comptable et aux achats.

Parmi elles, le BT-12 — référence du contrat ou numéro de marché — est de plus en plus exigé par les directions financières et les services publics. Pourtant, dans Odoo, cette information reste difficile à exploiter sur l'ensemble des formats, en réception et en envoi.

BT-12 : de quoi parle-t-on ?

Le BT-12 (Contract document reference) identifie le contrat ou le marché auquel se rattache la facture. Il ne doit pas être confondu avec :

  • BT-1 — numéro de la facture fournisseur (dans Odoo : champ Référence / ref, ex. FAC/2026/1654156564)
  • BT-13 — commande ou engagement juridique (dans Odoo : Document d'origine / invoice_origin, ex. PO0165164)
  • BT-10 — référence acheteur ou code service

En XML, le BT-12 se trouve notamment dans :

  • UBL : ContractDocumentReference/ID
  • CII / Factur-X : ContractReferencedDocument/IssuerAssignedID

Le constat dans Odoo

Odoo propose déjà des champs issus du module Chorus Pro (l10n_fr_facturx_chorus_pro) :

  • Code service → BT-10
  • Engagement juridique → BT-13
  • Numéro de marché → BT-12

À l'export CII / Factur-X, ces champs sont correctement alimentés. En revanche, à l'export UBL, ils ne sont pris en compte que pour les clients derrière l'endpoint Chorus Pro — et le BT-12 n'est pas exporté en UBL.

À l'import des factures fournisseur, Odoo renseigne déjà le numéro facture (ref) et l'engagement (invoice_origin), mais pas le numéro de marché ni le code service dans les champs dédiés.

Résultat : perte d'information à la réception, ressaisies manuelles et difficultés à automatiser le traitement des factures d'achat — alors que la réforme prévoit trois formats interchangeables.

Le module RoPi : ropi_fr_einvoicing_fr_edi_refs

Bridge Odoo 18 conçu pour combler ce gap en attendant une évolution du core.


Export UBL généralisé
BT-10, BT-12 et BT-13 émis dès que les champs sont renseignés — sans condition d'endpoint Chorus Pro.

Import multi-format
Alimentation automatique des champs depuis UBL, CII et Factur-X à la réception des factures fournisseur.

Contrôle BT-12
Avertissement à l'import si le numéro de marché est absent — sans bloquer la validation comptable.

Règles de réception respectées

Le module préserve la sémantique Odoo validée en comptabilité :

  • Numéro facture fournisseur (BT-1) → champ Référence
  • Engagement / commande (BT-13) → Document d'origine
  • Numéro de marché (BT-12) → Numéro de marché
  • Code service (BT-10) → Code service

Cette séparation permet de rapprocher automatiquement les factures avec les bons de commande, tout en conservant la traçabilité du numéro de facture émis par le fournisseur.

Pour qui ?

  • DAF et responsables achats : fiabiliser le rapprochement facture / marché / commande
  • Services publics et grands comptes : exiger le BT-12 sur les flux entrants
  • Intégrateurs Odoo : préparer la conformité FE sans attendre une version majeure
  • PME en transition PDP : exploiter les trois formats de la réforme avec un seul modèle de données


Disponibilité

Module bridge Odoo 18 Community, compatible avec l10n_fr_facturx_chorus_pro et account_edi_ubl_cii.
Contribution upstream Odoo en parallèle — le bridge sera retiré après merge du core.

Nous contacter pour un pilote

Partager cet article
Étiquettes
Nos blogs