ErreurEN 16931Manuel uniquement

BR-Z-08

In a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amount (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero rated".

Que signifie cette règle ?

In a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amount (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero rated".

Une règle de calcul ou de montant : les valeurs citées doivent concorder arithmétiquement.

BG-23
Ventilation de la TVA (groupe)
BT-92
Montant de la remise au niveau du document
BT-95
Code catégorie de TVA de la remise au niveau du document
BT-99
Montant des frais au niveau du document
BT-102
Code catégorie de TVA des frais au niveau du document
BT-116
Base imposable par catégorie de TVA
BT-118
Code catégorie de TVA (UNCL 5305)
BT-131
Montant net de la ligne de facture
BT-151
Code catégorie de TVA de l'article facturé (UNCL 5305)
Message officiel de la règle (norme)

In a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amount (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero rated".

Message officiel de la règle, tel qu’il figure dans la norme (en anglais).

Où la règle s’applique

Syntaxe: CII · UBL

La même règle, exprimée deux fois : UBL et CII désignent les mêmes champs par des chemins différents. C’est pourquoi vérifier un fichier CII avec les règles UBL produit des erreurs dénuées de sens.

UBL

  • /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']

CII

  • //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'Z']

Test technique

La règle est satisfaite lorsque cette expression Schematron est vraie :

(../ram:BasisAmount -1 < (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'Z']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=true() and ram:CategoryTradeTax/ram:CategoryCode='Z']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=false() and ram:CategoryTradeTax/ram:CategoryCode='Z']/xs:decimal(ram:ActualAmount))*10*10)div 100)) and (../ram:BasisAmount +1 > (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'Z']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=true() and ram:CategoryTradeTax/ram:CategoryCode='Z']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=false() and ram:CategoryTradeTax/ram:CategoryCode='Z']/xs:decimal(ram:ActualAmount))*10*10)div 100))

Comment corriger

Touche aux montants, à la TVA ou à l'IBAN. Nous ne modifions jamais ces valeurs automatiquement — corrigez-les dans vos données source.

Vérifiez les montants concernés dans vos données source — les montants ne sont jamais modifiés automatiquement.

Corrigez la mention concernée dans votre XML, puis relancez la vérification. Le contrôle s’exécute localement dans votre navigateur — votre fichier ne quitte jamais votre machine.

Vérifiez une facture électronique ici

Déposez ici un fichier XML ou un PDF ZUGFeRD. Le contrôle s'exécute localement dans votre navigateur selon l'EN 16931 — votre fichier ne quitte jamais votre machine.

100 % local — aucun envoi, aucun compte.

Règles apparentées

← Retour à la bibliothèque des erreurs