BR-FREXT-54-2

Each Item attribute (BG-32) shall contain an Item attribute Value (BT-161) or an Item ValueQuantity (EXT-FR-FE-160) with @unitCode (EXT-FR-FE-161) and not both.

Official rule text

[BR-54-2]-Each Item attribute (BG-32) shall contain an Item attribute Value (BT-161) or an Item ValueQuantity (EXT-FR-FE-160) with @unitCode (EXT-FR-FE-161) and not both.

Where the rule applies

Rule setDocument typeSeverity
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-32
  • BT-161

Technical check

Syntax
CII · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
Context
//ram:ApplicableProductCharacteristic
Test (must be true)
(exists(ram:Value) and not(exists(ram:ValueMeasure))) or (not(exists(ram:Value)) and (exists(ram:ValueMeasure[@unitCode!=''])))
Syntax
UBL · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
Context
//cac:AdditionalItemProperty
Test (must be true)
(exists(cbc:Value) and not(exists(cbc:ValueQuantity))) or (not(exists(cbc:Value)) and (exists(cbc:ValueQuantity[@unitCode!=''])))

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-54-2",
  "message": "[BR-54-2]-Each Item attribute (BG-32) shall contain an Item attribute Value (BT-161) or an Item ValueQuantity (EXT-FR-FE-160) with @unitCode (EXT-FR-FE-161) and not both.",
  "xpath": "/…",
  "source": "schematron:france-rfe@1.4.0.04",
  "docUrl": "https://einvoice-api.eu/rules/br-frext-54-2.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.