Texte officiel de la règle
[PEPPOL-EN16931-R121] Base quantity MUST be a positive number above zero.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
La quantité de base du prix de l'article (BT-149) est le diviseur du calcul de ligne (quantité x prix / quantité de base) ; elle doit donc être un nombre strictement positif. La règle vérifie cac:Price/cbc:BaseQuantity (UBL) ou ram:BasisQuantity dans ram:NetPriceProductTradePrice et ram:GrossPriceProductTradePrice (CII) lorsqu'ils sont présents. Cela provient presque toujours d'un ERP qui exporte une valeur par défaut de 0 pour l'unité de prix, ou d'une valeur négative sur des lignes d'avoir.
Comment corriger
Renseignez cbc:BaseQuantity / ram:BasisQuantity avec le nombre d'unités auquel se rapporte le prix : 1 pour un prix unitaire, 100 pour un prix pour 100 unités. Si votre système ne gère pas la notion d'unité de prix, omettez entièrement l'élément ; la norme suppose alors 1. N'utilisez jamais 0 ni une valeur négative, et indiquez l'attribut unitCode avec le même code que la quantité facturée.
Exemple (valide)
<cac:Price>
<cbc:PriceAmount currencyID="EUR">12.50</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">100</cbc:BaseQuantity>
</cac:Price>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
cac:InvoiceLine | cac:CreditNoteLineTest (XPath):
not(cac:Price/cbc:BaseQuantity) or xs:decimal(cac:Price/cbc:BaseQuantity) > 0CII
ram:NetPriceProductTradePrice | ram:GrossPriceProductTradePriceTest (XPath):
not(ram:BasisQuantity) or xs:decimal(ram:BasisQuantity) > 0
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é.
La même vérification par API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRègles liées
PEPPOL-EN16931-R001Identifiant du processus métier (BT-23) absentPEPPOL-EN16931-R002Une seule note autorisée au niveau document, sauf si l'acheteur et le vendeur…PEPPOL-EN16931-R003Ni référence acheteur ni référence de bon de commandePEPPOL-EN16931-R004Identifiant de spécification autre que Peppol BIS Billing 3.0PEPPOL-EN16931-R005Devise de comptabilisation de la TVA identique à la devise de facturePEPPOL-EN16931-R006Un seul objet facturé autorisé au niveau documentPEPPOL-EN16931-R007Identifiant du processus métier au format incorrectPEPPOL-EN16931-R008Le document contient des éléments vides
Questions fréquentes
Que signifie PEPPOL-EN16931-R121 ?
PEPPOL-EN16931-R121 est une règle peppol bis billing 3.0 : Base quantity MUST be a positive number above zero.
Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R121 ?
Oui. PEPPOL-EN16931-R121 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 PEPPOL-EN16931-R121 ?
Factures et avoirs transmis via le réseau Peppol (UBL) et, XRechnung reprenant ces règles, toute XRechnung. Syntaxe : UBL et CII.
Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.