Retour au catalogue des erreurs
PEPPOL-EN16931-R040
blocked

Le montant d'une remise ou d'un frais ne correspond pas à sa base et son pourcentage

Quand une remise ou un frais porte à la fois une base et un pourcentage, son montant doit être égal à base × pourcentage ÷ 100.

Champ financier : la valeur attendue est calculée et proposée, jamais écrite dans le document — la correction revient à l’émetteur. Testez votre facture pour savoir si elle est concernée.

Le message que votre validateur affiche

Recopié tel quel de l’artefact scellé : c’est la phrase exacte que le contrôle imprime quand cette règle échoue.

Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists

Cité de schematron-xrechnung 3.0.2, sous licence Apache-2.0.

Requêtes fréquentes autour de ce code

Ces formulations reprennent les recherches réelles d’un intégrateur : code, syntaxe, règle, champ métier et correction.

PEPPOL-EN16931-R040 Le montant d'une remise ou d'un frais ne correspond pas à sa base et son pourcentagePEPPOL-EN16931-R040 Pack Schematron XRechnung (KoSIT)Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage existsPEPPOL-EN16931-R040 correction

Tester votre fichier avec cette erreur en tête

Déposez la facture concernée : le rapport dira si ce code apparaît, où il apparaît dans le document, et si Factlint peut seulement le signaler ou aussi le corriger.

Pour automatiser ce contrôle dans une chaîne ERP, appelez l’API de validation et reliez chaque code rendu à sa fiche publique.

Pourquoi cette erreur se produit

Le contrôle tolère deux centimes d'écart (cinquante forints en HUF) : ce n'est donc pas un arrondi qui le déclenche, mais un pourcentage modifié sans recalcul du montant, ou l'inverse. La source habituelle est une remise négociée saisie en montant puis rétro-documentée en pourcentage.

Comment la corriger

Corrigez le calcul dans le système qui a produit la facture. Factlint calcule la valeur attendue et la rend dans `suggested_value`, mais n'écrit jamais un montant.

Motif de blocage :

financial_field_policy

Exemple de correction XML

AVANT (invalide)
<ram:BasisAmount>1000.00</ram:BasisAmount> + 10 % → <ram:ActualAmount>150.00</ram:ActualAmount>
APRÈS (conforme)
<ram:ActualAmount>100.00</ram:ActualAmount>