Référence
Export MarkdownPEPPOL-EN16931-R120 Le montant net de ligne de facture doit être égal à la quantité multipliée par le prix net ajusté des remises et frais de ligne
Conformément à la règle Peppol PEPPOL-EN16931-R120, le montant net de la ligne dans BT-131 (LineExtensionAmount) doit correspondre à la formule : montant net = quantité facturée × (prix net ÷ quantité de base) + total des frais de ligne − total des remises de ligne. Le Schematron Peppol accepte un écart de ±0,02 pour absorber les arrondis. Les causes fréquentes d’erreur sont la perte des remises de ligne lors de la conversion en XML, l’arrondi prématuré des prix unitaires ou l’omission de la quantité de base (BT-149).
Description du problème
AVERTISSEMENT
Règle Peppol BIS Billing 3.0 (OpenPeppol)
Chaîne de validation interactive
Où PEPPOL-EN16931-R120 est contrôlée
Cliquez sur une étape pour voir ce qu’elle contrôle, ou saisissez un identifiant de règle pour trouver l’étape qui la signale.
PEPPOL-EN16931-R120 règle Peppol BIS Billing
Signalée à l’étape 3 : Règles nationales (CIUS).
Niveau avertissement : à lui seul, il n’empêche pas l’acceptation.
Étape 3 · Ce qui est contrôlé
Règles nationales (CIUS)
- L’identifiant de spécification en BT-24 sélectionne le jeu de règles, par exemple XRechnung 3.0 ou Peppol BIS Billing 3.0.
- XRechnung ajoute les règles allemandes BR-DE : référence acheteur (BT-10), contact du vendeur, instructions de paiement.
- Peppol ajoute les règles PEPPOL-EN16931 et des règles par pays. XRechnung applique aussi certaines règles PEPPOL-EN16931.
Codes d’exemple
Correction type
Renseignez dans vos données de base les champs exigés par le jeu de règles, comme la Leitweg-ID en BT-10 ou le contact du vendeur.
Contexte et importance
La configuration KoSIT pour XRechnung 3.0.2 signale PEPPOL-EN16931-R120 comme avertissement ; les artefacts de validation Peppol BIS Billing 3.0.21 la signalent comme erreur fatale. Elle se déclenche dès que BT-131 s’écarte de plus de 0,02 du montant recalculé à partir de la quantité, du prix net, de la quantité de base et des remises et charges de ligne. Causes fréquentes : une remise de ligne perdue à la conversion, un prix unitaire arrondi trop tôt à 2 décimales ou une quantité de base (BT-149) non prise en compte.
Solution
Dans votre ERP ou votre chaîne de conversion, conservez la précision décimale des prix unitaires et intégrez toutes les remises et frais de ligne dans le calcul de BT-131 avant l’arrondi final à 2 décimales ; divisez par la quantité de base (BT-149) si elle est renseignée. En UBL 2.1, renseignez <cbc:LineExtensionAmount currencyID="EUR">190.00</cbc:LineExtensionAmount> pour une quantité 2 à 100.00 avec 10.00 de remise.
Actions rapides
Exemples valides
- Quantité 2 x Prix unitaire 100.00 EUR moins Remise de ligne 10.00 EUR donne BT-131 = 190.00 EUR
- Quantité 50 x Prix unitaire 1.2550 EUR (62.75 EUR) donne BT-131 = 62.75 EUR
Exemples invalides
- Quantité 2 x Prix 100.00 EUR moins Remise 10.00 EUR = 190.00 EUR, mais BT-131 est exporté à 200.00 EUR car la remise a été oubliée dans le calcul
- La formule donne 190.00 EUR mais BT-131 est exporté à 189.90 EUR en raison d’un mauvais arrondi
Exemples de code
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">190.00</cbc:LineExtensionAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">10.00</cbc:Amount>
</cac:AllowanceCharge>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine><cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">200.00</cbc:LineExtensionAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">10.00</cbc:Amount>
</cac:AllowanceCharge>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>