Compte
Français

BR-16: La facture ne comporte aucune ligne (BG-25)

Règle de base EN 16931 · Erreur · UBL, CII

NormeEN 16931-1 (modèle sémantique européen de la facture électronique)GravitéErreur: la facture est rejetéeSyntaxeUBL, CIITermes métier
  • BG-25 Invoice line
S'applique àToute facture EN 16931 : Factur-X / ZUGFeRD 2.x (profils EN 16931, EXTENDED, XRECHNUNG), XRechnung, Peppol BIS Billing 3.0 et les CIUS nationales.

Texte officiel de la règle

[BR-16] An Invoice shall have at least one Invoice line (BG-25)

Le texte normatif est en anglais ; il est cité tel quel.

Pourquoi cette erreur apparaît

La règle exige au moins un cac:InvoiceLine ou cac:CreditNoteLine en UBL, ou un ram:IncludedSupplyChainTradeLineItem en CII. Une facture sans ligne n'offre aucune base pour la ventilation de TVA et les totaux, et la norme n'admet pas les documents réduits à l'en-tête. Cela se produit généralement lorsqu'un logiciel n'exporte que les totaux (par exemple pour un forfait ou un acompte) ou lorsque le mappage des lignes est filtré.

Comment corriger

Ajoutez au moins une ligne. En UBL, un cac:InvoiceLine minimal nécessite cbc:ID, cbc:InvoicedQuantity avec unitCode, cbc:LineExtensionAmount avec currencyID, cac:Item avec cbc:Name et cac:ClassifiedTaxCategory, ainsi que cac:Price/cbc:PriceAmount. En CII, un ram:IncludedSupplyChainTradeLineItem nécessite ram:AssociatedDocumentLineDocument/ram:LineID, ram:SpecifiedTradeProduct/ram:Name, ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:ChargeAmount, ram:SpecifiedLineTradeDelivery/ram:BilledQuantity et ram:SpecifiedLineTradeSettlement avec ram:ApplicableTradeTax et ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount. Pour un forfait, créez une seule ligne de quantité 1.

Exemple (valide)

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
  <cac:Item><cbc:Name>Consulting</cbc:Name><cac:ClassifiedTaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:ClassifiedTaxCategory></cac:Item>
  <cac:Price><cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount></cac:Price>
</cac:InvoiceLine>

Ce que le validateur vérifie

Élément vérifié (contexte):

UBL

/ubl:Invoice | /cn:CreditNote

Test (XPath):

exists(cac:InvoiceLine) or exists(cac:CreditNoteLine)

CII

/rsm:CrossIndustryInvoice

Test (XPath):

//ram:IncludedSupplyChainTradeLineItem

Vérifier votre facture

Déposez votre XML ou PDF dans le validateur : chaque règle en échec renvoie vers sa page ici. Gratuit, sans compte, le fichier n'est pas conservé.

Vérifier votre facture →

La même vérification par API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Règles liées

Questions fréquentes

Que signifie BR-16 ?

BR-16 est une règle de base en 16931 : An Invoice shall have at least one Invoice line (BG-25)

Ma facture sera-t-elle rejetée à cause de BR-16 ?

Oui. BR-16 est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.

À quels formats s'applique BR-16 ?

Toute facture EN 16931 : Factur-X / ZUGFeRD 2.x (profils EN 16931, EXTENDED, XRECHNUNG), XRechnung, Peppol BIS Billing 3.0 et les CIUS nationales. Syntaxe : UBL et CII.

Source: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.