Référence
Export MarkdownBR-28 Le prix brut de l’article ne doit pas être négatif
Le prix brut de l’article (BT-148), soit le prix unitaire avant toute remise sur prix, ne doit pas être négatif.
Description du problème
ERREUR
Règle métier de la norme EN 16931 (CEN)
Contexte et importance
Il s’agit d’une règle de base de la norme EN 16931 qui contrôle une valeur. L’erreur apparaît surtout lorsque le prix brut (BT-148) est calculé à partir d’une remise mal signée ou lorsqu’un montant de remise est placé par erreur dans cbc:BaseAmount. Le prix brut est le prix catalogue avant remise sur prix : il reste positif ou nul, et la remise sur prix (BT-147) se déclare séparément dans cbc:Amount. En Peppol, PEPPOL-EN16931-R046 vérifie que le prix net est égal au prix brut diminué de cette remise.
Solution
Indiquez le prix brut dans cac:Price/cac:AllowanceCharge/cbc:BaseAmount (CII : ram:GrossPriceProductTradePrice/ram:ChargeAmount) avec une valeur positive ou nulle, et indiquez la remise sur prix (BT-147) dans cac:Price/cac:AllowanceCharge/cbc:Amount.
Actions rapides
Exemples valides
- BT-148 = 15.00 avec une remise sur prix de 2.50
Exemples invalides
- BT-148 = -3.00 — prix brut négatif rejeté
Exemples de code
<cac:Price>
<cbc:PriceAmount currencyID="EUR">12.50</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">2.50</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">15.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price><cac:Price>
<cbc:PriceAmount currencyID="EUR">12.50</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">2.50</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">-3.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>