BR-FXEXT-08
If the "Subtype of invoice item" (BT-X-8) has the value "Subtotal" (GROUP) and the "Net amount of the invoice item" (BT-131) is specified, it must correspond to the sum of the BT-131 of the next lower levels for which the "Subtype of the invoice item" (BT-X-8) has the value "Regular item (standard case)" (DETAIL) or "Subtotal" (GROUP). As a consequence, all lower levels shall contain a BT-131 value, when BT-X-8 has the value DETAIL or GROUP.
Official rule text
[BR-FXEXT-08]-If the "Subtype of invoice item" (BT-X-8) has the value "Subtotal" (GROUP) and the "Net amount of the invoice item" (BT-131) is specified, it must correspond to the sum of the BT-131 of the next lower levels for which the "Subtype of the invoice item" (BT-X-8) has the value "Regular item (standard case)" (DETAIL) or "Subtotal" (GROUP). As a consequence, all lower levels shall contain a BT-131 value, when BT-X-8 has the value DETAIL or GROUP.
Where the rule applies
| Rule set | Document type | Severity |
|---|---|---|
| ZUGFeRD / Factur-X (2.5.2) FeRD, FNFE-MPE | Factur-X EXTENDED (CII) | error |
Fatal and error findings make the invoice invalid (valid: false); warnings and information do not.
Business terms concerned (EN 16931)
BT-131
Technical check
- Syntax
- CII · ZUGFeRD / Factur-X (2.5.2)
- Context
//ram:IncludedSupplyChainTradeLineItem- Test (must be true)
every $item in //ram:IncludedSupplyChainTradeLineItem[ ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode = 'GROUP' and normalize-space(ram:SpecifiedLineTradeSettlement/ ram:SpecifiedTradeSettlementLineMonetarySummation/ ram:LineTotalAmount) != '' ] satisfies number(normalize-space($item/ram:SpecifiedLineTradeSettlement/ ram:SpecifiedTradeSettlementLineMonetarySummation/ ram:LineTotalAmount)) = round(sum( for $child in //ram:IncludedSupplyChainTradeLineItem[ normalize-space(ram:AssociatedDocumentLineDocument/ram:ParentLineID) = normalize-space($item/ram:AssociatedDocumentLineDocument/ram:LineID) and (ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode = 'DETAIL' or…
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": "error",
"ruleId": "BR-FXEXT-08",
"message": "[BR-FXEXT-08]-If the \"Subtype of invoice item\" (BT-X-8) has the value \"Subtotal\" (GROUP) and the \"Net amount of the invoice item\" (BT-131) is specified, it must correspond to the sum of the BT-131 of the next lower levels for which the \"Subtype of the invoice item\" (BT-X-8) has the value \"Regular item (standard case)\" (DETAIL) or \"Subtotal\" (GROUP). As a consequence, all lower levels shall contain a BT-131 value, when BT-X-8 has the value DETAIL or GROUP.",
"xpath": "/…",
"source": "schematron:zugferd@2.5.2",
"docUrl": "https://einvoice-api.eu/rules/br-fxext-08.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.