BR-AE-08
In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (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 "Reverse charge".
Que signifie cette règle ?
La base d'imposition (BT-116) de la ventilation de TVA pour catégorie AE (autoliquidation) ne correspond pas aux montants correspondants de la facture.
La base d'imposition d'une catégorie n'est pas une saisie libre : c'est la somme des lignes de cette catégorie, diminuée de ses remises et augmentée de ses charges.
- 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 the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (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 "Reverse charge".
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) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
CII
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'AE'][upper-case(../ram:TypeCode) = 'VAT']
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 = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100)) and (../ram:BasisAmount +1 > (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount[1]))*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.
Recalculez la base d'imposition (BT-116) à partir des lignes (BT-131), des remises (BT-92) et des charges (BT-99) de cette catégorie.
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.