UBL-FREXT-SR-48

Invoice lines shall have one and only one classified tax category, if no subtype and subtype = "DETAIL", else no more than 1.

Official rule text

[UBL-FREXT-SR-48]-Invoice lines shall have one and only one classified tax category, if no subtype and subtype = "DETAIL", else no more than 1.

Where the rule applies

Rule setDocument typeSeverity
French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
FNFE-MPE
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.

Technical check

Syntax
UBL · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
Context
cac:InvoiceLine | cac:CreditNoteLine
Test (must be true)
($lineInCalul and (count(cac:Item/cac:ClassifiedTaxCategory) = 1)) or (not($lineInCalul) and (count(cac:Item/cac:ClassifiedTaxCategory) le 1))

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": "UBL-FREXT-SR-48",
  "message": "[UBL-FREXT-SR-48]-Invoice lines shall have one and only one classified tax category, if no subtype and subtype = \"DETAIL\", else no more than 1.",
  "xpath": "/…",
  "source": "schematron:france-rfe@1.4.0.04",
  "docUrl": "https://einvoice-api.eu/rules/ubl-frext-sr-48.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.