En bref
UBL et CII transportent les mêmes données, celles de la norme européenne EN 16931, mais ne les organisent pas de la même façon. Un champ qui se trouve à un endroit dans un fichier UBL se trouve ailleurs, sous un autre nom, dans un fichier CII. Ce guide montre où sont les principaux champs d'une facture dans chaque syntaxe, pour lire un fichier XML à l'œil, retrouver une valeur, ou comparer une facture convertie avec sa source.
Les numéros entre parenthèses (BT-1, BT-2...) sont les identifiants que l'EN 16931 donne à chaque champ. Ils sont identiques dans les deux syntaxes, ce qui rend la conversion possible.
Les factures UBL ont pour racine l'élément Invoice. Les valeurs simples sont dans des éléments cbc:, les groupes dans des éléments cac:. Les chemins ci-dessous commencent à l'intérieur de la racine.
Les factures CII ont pour racine rsm:CrossIndustryInvoice, avec trois blocs : rsm:ExchangedDocumentContext (la spécification et le processus suivis), rsm:ExchangedDocument (numéro, type, date) et rsm:SupplyChainTradeTransaction (parties, lignes, paiement, totaux). Pour garder les tableaux lisibles, quatre débuts de chemin trop longs sont abrégés :
Agreement représente rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreementSettlement représente rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlementTotals représente Settlement/ram:SpecifiedTradeSettlementHeaderMonetarySummationLine représente rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem
Le document
| Champ | CII | UBL |
|---|
| Identifiant de la spécification (BT-24) | rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID | cbc:CustomizationID |
| Type de processus métier (BT-23) | rsm:ExchangedDocumentContext/ram:BusinessProcessSpecifiedDocumentContextParameter/ram:ID | cbc:ProfileID |
| Numéro de facture (BT-1) | rsm:ExchangedDocument/ram:ID | cbc:ID |
| Code du type de document (BT-3) | rsm:ExchangedDocument/ram:TypeCode | cbc:InvoiceTypeCode |
| Date d'émission (BT-2) | rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString | cbc:IssueDate |
| Date d'échéance (BT-9) | Settlement/ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime/udt:DateTimeString | cbc:DueDate |
| Devise (BT-5) | Settlement/ram:InvoiceCurrencyCode | cbc:DocumentCurrencyCode |
| Référence de l'acheteur (BT-10) | Agreement/ram:BuyerReference | cbc:BuyerReference |
| Référence du bon de commande (BT-13) | Agreement/ram:BuyerOrderReferencedDocument/ram:IssuerAssignedID | cac:OrderReference/cbc:ID |
| Note de facture (BT-22) | rsm:ExchangedDocument/ram:IncludedNote/ram:Content | cbc:Note |
Les parties
| Champ | CII | UBL |
|---|
| Nom du vendeur (BT-27) | Agreement/ram:SellerTradeParty/ram:Name | cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName |
| Identifiant légal du vendeur (BT-30) | Agreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID | cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID |
| Numéro de TVA du vendeur (BT-31) | Agreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID | cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID |
| Nom de l'acheteur (BT-44) | Agreement/ram:BuyerTradeParty/ram:Name | cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName |
| Numéro de TVA de l'acheteur (BT-48) | Agreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID | cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID |
Les identifiants portent un schéma qui dit ce qu'ils sont : en France, un SIREN est l'identifiant légal avec le schéma 0002 (l'attribut schemeID dans les deux syntaxes), et un numéro de TVA est marqué VA en CII.
Les lignes
| Champ | CII | UBL |
|---|
| Numéro de ligne (BT-126) | Line/ram:AssociatedDocumentLineDocument/ram:LineID | cac:InvoiceLine/cbc:ID |
| Désignation de l'article (BT-153) | Line/ram:SpecifiedTradeProduct/ram:Name | cac:InvoiceLine/cac:Item/cbc:Name |
| Quantité (BT-129) | Line/ram:SpecifiedLineTradeDelivery/ram:BilledQuantity | cac:InvoiceLine/cbc:InvoicedQuantity |
| Prix unitaire net (BT-146) | Line/ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:ChargeAmount | cac:InvoiceLine/cac:Price/cbc:PriceAmount |
| Montant net de la ligne (BT-131) | Line/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount | cac:InvoiceLine/cbc:LineExtensionAmount |
| Catégorie de TVA de la ligne (BT-151) | Line/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID |
| Taux de TVA de la ligne (BT-152) | Line/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:RateApplicablePercent | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent |
La TVA et les totaux
| Champ | CII | UBL |
|---|
| Base d'une catégorie de TVA (BT-116) | Settlement/ram:ApplicableTradeTax/ram:BasisAmount | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount |
| Montant d'une catégorie de TVA (BT-117) | Settlement/ram:ApplicableTradeTax/ram:CalculatedAmount | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount |
| Code de la catégorie de TVA (BT-118) | Settlement/ram:ApplicableTradeTax/ram:CategoryCode | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| Taux de TVA (BT-119) | Settlement/ram:ApplicableTradeTax/ram:RateApplicablePercent | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent |
| Somme des montants nets des lignes (BT-106) | Totals/ram:LineTotalAmount | cac:LegalMonetaryTotal/cbc:LineExtensionAmount |
| Total hors TVA (BT-109) | Totals/ram:TaxBasisTotalAmount | cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount |
| Total de TVA (BT-110) | Totals/ram:TaxTotalAmount | cac:TaxTotal/cbc:TaxAmount |
| Total TTC (BT-112) | Totals/ram:GrandTotalAmount | cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount |
| Montant déjà payé (BT-113) | Totals/ram:TotalPrepaidAmount | cac:LegalMonetaryTotal/cbc:PrepaidAmount |
| Montant à payer (BT-115) | Totals/ram:DuePayableAmount | cac:LegalMonetaryTotal/cbc:PayableAmount |
Le paiement
| Champ | CII | UBL |
|---|
| Code du moyen de paiement (BT-81) | Settlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode | cac:PaymentMeans/cbc:PaymentMeansCode |
| IBAN du bénéficiaire (BT-84) | Settlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:IBANID | cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID |
| Conditions de paiement (BT-20) | Settlement/ram:SpecifiedTradePaymentTerms/ram:Description | cac:PaymentTerms/cbc:Note |
Les différences qui ne sont pas un champ
- Les dates. UBL écrit une date
2026-01-15. CII l'écrit 20260115, avec un attribut format="102" qui signifie « année, mois, jour ». - Les devises. UBL répète l'attribut
currencyID sur chaque montant. Les montants CII n'en ont pas, sauf le total de TVA : la devise de la facture est l'élément InvoiceCurrencyCode. - Les avoirs. En CII, un avoir est le même document avec le code de type
381. En UBL, c'est un autre document, de racine CreditNote, avec un CreditNoteTypeCode et des éléments CreditNoteLine (avec CreditedQuantity). - Les groupes répétés. Une catégorie de TVA apparaît une fois par taux dans les totaux, et sur chaque ligne. Les totaux doivent être cohérents avec les lignes, dans les deux syntaxes.
L'utiliser après une conversion
Après une conversion, choisissez quelques champs (le numéro, les totaux, une ligne, le numéro de TVA) et retrouvez-les dans la source et dans le résultat avec ce tableau. La liste de vérifications détaille ce qu'il faut comparer, et le convertisseur fait la conversion.
Dernière mise à jour : 2026-10-19