Tools › SmartFormular E-Rechnung lite › Validation rules › BR-CO-13
BR-CO-13
The total without VAT (BT-109) does not follow from lines, allowances and charges
What the message means
The total without VAT (BT-109) does not follow from lines, allowances and charges.
What the issuer needs to change
Recalculate the net total: lines minus allowances plus charges.
Fields concerned
BT-107sum of allowances on document levelBT-108sum of charges on document levelBT-109invoice total amount without VATBT-131invoice line net amount
Your invoice reports BR-CO-13? Check it with SmartFormular E-Rechnung lite, free to try until 31 December 2026: the tool shows every finding with an explanation, the invoice in readable form and a GiroCode to pay – in your browser, no upload.
Check an e-invoiceOrigin
- Rule set
- EN 16931 (CEN, rule set 1.3.16)
- Syntax
- CII, UBL
- Level
- Error
Original rule text
Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).
Technical details for IT
UBL
Context: cac:LegalMonetaryTotal Test: not(((cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = round((xs:decimal(cbc:LineExtensionAmount) + xs:decimal(cbc:ChargeTotalAmount) - xs:decimal(cbc:AllowanceTotalAmount)) * 10 * 10) div 100 )) or (not(cbc:ChargeTotalAmount) and (cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = round((xs:decimal(cbc:LineExtensionAmount) - xs:decimal(cbc:AllowanceTotalAmount)) * 10 * 10 ) div 100)) or ((cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = round((xs:decimal(cbc:LineExtensionAmount) + xs:decimal(cbc:ChargeTotalAmount)) * 10 * 10 ) div 100)) or (not(cbc:ChargeTotalAmount) and not(cbc:AllowanceTotalAmount) and (xs:decimal(cbc:TaxExclusiveAmount) = xs:decimal(cbc:LineExtensionAmount))))
CII
Context: //ram:SpecifiedTradeSettlementHeaderMonetarySummation Test: not((xs:decimal(ram:TaxBasisTotalAmount[1]) = round((xs:decimal(ram:LineTotalAmount[1]) - xs:decimal(ram:AllowanceTotalAmount[1]) + xs:decimal(ram:ChargeTotalAmount[1])) * 10 * 10) div 100) or ((xs:decimal(ram:TaxBasisTotalAmount[1]) = round((xs:decimal(ram:LineTotalAmount[1]) - xs:decimal(ram:AllowanceTotalAmount[1])) * 10 * 10) div 100) and not(ram:ChargeTotalAmount)) or ((xs:decimal(ram:TaxBasisTotalAmount[1]) = round((xs:decimal(ram:LineTotalAmount[1]) + xs:decimal(ram:ChargeTotalAmount[1])) * 10 * 10) div 100) and not(ram:AllowanceTotalAmount)) or ((xs:decimal(ram:TaxBasisTotalAmount[1]) = round((xs:decimal(ram:LineTotalAmount[1])) * 10 * 10) div 100) and not(ram:ChargeTotalAmount) and not(ram:AllowanceTotalAmount)))
Related rules
- BR-CO-10The sum of line net amounts (BT-106) does not equal the total of the individual lines (BT-131)
- BR-CO-11The sum of allowances (BT-107) does not equal the individual allowances (BT-92)
- BR-CO-12The sum of charges (BT-108) does not equal the individual charges (BT-99)
- BR-CO-14The VAT total (BT-110) does not equal the sum of the VAT amounts per rate (BT-117)
- BR-CO-15The total with VAT (BT-112) is not the net total (BT-109) plus VAT (BT-110)
- BR-CO-16The amount due (BT-115) is not the total with VAT (BT-112) minus paid amount (BT-113) plus rounding (BT-114)