BR-FREXT-S-01
An Invoice that contains an Invoice line (BG-25) where the "Subtype of invoice line item" (EXT-FR-FE-163 / BT-X-8) has the value "DETAIL" or is not specified, a Document level allowance (BG-20) or a Document level charge or tax (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “S” ("Standard rated") shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with “S” ("Standard rated").
Official rule text
[BR-FREXT-S-01]-An Invoice that contains an Invoice line (BG-25) where the "Subtype of invoice line item" (EXT-FR-FE-163 / BT-X-8) has the value "DETAIL" or is not specified, a Document level allowance (BG-20) or a Document level charge or tax (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “S” ("Standard rated") shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with “S” ("Standard rated").
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)
BG-20BG-21BG-23BG-25BT-95BT-102BT-118BT-151
Technical check
- Syntax
- CII · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
- Context
/rsm:CrossIndustryInvoice- Test (must be true)
(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='S'])=0 and count(//ram:SpecifiedLineTradeSettlement[not(../ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode) or ../ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode = 'DETAIL']/ram:ApplicableTradeTax[ram:CategoryCode='S'])=0 and count(//ram:CategoryTradeTax[ram:CategoryCode='S'])=0) or ( count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='S'])>=1 and (exists(//ram:SpecifiedLineTradeSettlement[not(../ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode) or ../ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode =…
- Syntax
- UBL · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
- Context
/ubl:Invoice | /cn:CreditNote- Test (must be true)
(count(cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'S']) + count((cac:InvoiceLine | cac:CreditNoteLine)[not(cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID = $invoiceID) or (cac:BillingReference[cac:InvoiceDocumentReference/cbc:ID = $invoiceID]/cac:InvoiceDocumentReference/cbc:DocumentStatusCode = 'DETAIL')]/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S']) + count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S']) = 0) or (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S']) >= 1 and (exists(cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'S']) or exists((cac:InvoiceLine |…
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-S-01",
"message": "[BR-FREXT-S-01]-An Invoice that contains an Invoice line (BG-25) where the \"Subtype of invoice line item\" (EXT-FR-FE-163 / BT-X-8) has the value \"DETAIL\" or is not specified, a Document level allowance (BG-20) or a Document level charge or tax (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “S” (\"Standard rated\") shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with “S” (\"Standard rated\").",
"xpath": "/…",
"source": "schematron:france-rfe@1.4.0.04",
"docUrl": "https://einvoice-api.eu/rules/br-frext-s-01.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.