BR-FREXT-CO-15
BT110 présent : … , Total HT (BT-109) : … , nbelements : … , TVA : … , TTC : … [BR-FREXT-CO-15] - Si le montant de TVA (BT-110) est présent dans la devise du document (BT-5), alors l’écart absolu entre le montant TTC (BT-112) et la somme HT + TVA (BT-109 + BT-110) doit être ≤ 0,01 € * nombre total d’éléments. Sinon, BT-112 = BT-109.
Official rule text
BT110 présent : … , Total HT (BT-109) : … , nbelements : … , TVA : … , TTC : … [BR-FREXT-CO-15] - Si le montant de TVA (BT-110) est présent dans la devise du document (BT-5), alors l’écart absolu entre le montant TTC (BT-112) et la somme HT + TVA (BT-109 + BT-110) doit être ≤ 0,01 € * nombre total d’éléments. Sinon, BT-112 = BT-109.
[BR-FREXT-CO-15]-If Invoice Total VAT amount (BT-110), where currency (BT-110-0) is equal to BT-5, is present, then the Absolute Value of (Invoice total amount with VAT (BT-112) - Invoice total amount without VAT (BT-109) - Invoice total VAT amount (BT-110)) <= 0,01 * (Number of line net amounts (BT-131) + Number of Document level allowance amounts (BT-92) + Number of Document level charges amounts (BT-99) + Number of Logistics Service fee amounts (BT-X-272), but only for lines where the "Subtype of invoice item" (BT-X-8) has the value "Regular item (standard case)" (DETAIL) or is not specified. Else, Invoice total amount with VAT (BT-112) is equal to Invoice total amount without VAT (BT-109), where the VAT category code (BT-151, BT-95, BT-102, BT-X-273) is "Zero rated" (Z).
Where the rule applies
| Rule set | Document type | Severity |
|---|---|---|
| French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04) FNFE-MPE | EXTENDED-CTC-FR (CII), EXTENDED-CTC-FR (UBL Invoice), EXTENDED-CTC-FR (UBL CreditNote) | fatal |
Fatal and error findings make the invoice invalid (valid: false); warnings and information do not.
Business terms concerned (EN 16931)
BT-5BT-92BT-95BT-99BT-102BT-109BT-110BT-112BT-131BT-151
Technical check
- Syntax
- CII · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
- Context
//ram:SpecifiedTradeSettlementHeaderMonetarySummation- Test (must be true)
for $Currency in ../ram:InvoiceCurrencyCode, $BT109 in xs:decimal(ram:TaxBasisTotalAmount[1]), $BT110 in xs:decimal(ram:TaxTotalAmount[@currencyID=$Currency][1]), $BT112 in xs:decimal(ram:GrandTotalAmount[1]), $nbTaxTotalAmountInvoiceCurrency in count (ram:TaxTotalAmount[@currencyID=$Currency] ), $nbLineItems in xs:decimal(count(../../ram:IncludedSupplyChainTradeLineItem[not(ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode) or ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode = 'DETAIL'])), $nbAllowanceItems in xs:decimal(count(../ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false'])), $nbChargeItems in…
- Syntax
- UBL · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
- Context
cac:LegalMonetaryTotal- Test (must be true)
($isPresentBT110 and (abs($totalAmountBT112 - $totalVATAmountBT110 - $totalAmountBT109) le (($nbLineItems + $nbAllowanceItems + $nbChargeItems) * 0.01))) or not($isPresentBT110)
How the API reports this rule
Every finding of POST /v1/validate carries the rule id, severity, message, location (XPath) and rule set, and links this page (docUrl):
{
"severity": "fatal",
"ruleId": "BR-FREXT-CO-15",
"message": "BT110 présent : … , Total HT (BT-109) : … , nbelements : … , TVA : … , TTC : … [BR-FREXT-CO-15] - Si le montant de TVA (BT-110) est présent dans la devise du document (BT-5), alors l’écart absolu entre le montant TTC (BT-112) et la somme HT + TVA (BT-109 + BT-110) doit être ≤ 0,01 € * nombre total d’éléments. Sinon, BT-112 = BT-109.",
"xpath": "/…",
"source": "schematron:france-rfe@1.4.0.04",
"docUrl": "https://einvoice-api.eu/rules/br-frext-co-15.html"
}Check an invoice against this rule and every other rule of the rule set – in the browser, without sign-up.
Rule text and severity are taken unchanged from the official rule set; this page is generated from the API's configuration. Not legal advice.