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 setDocument typeSeverity
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.