Aller au contenu principal

Référence

Export Markdown

BR-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

XML valide
<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>
XML invalide
<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>

Champs concernés

Outils de validation