# DT-CIUS-PT-162

Source: https://xmlvalid.com/rules/DT-CIUS-PT-162

> Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99), with an acceptance range of 1.00 € (it does not mean that this tolerance is accepted by the customer).

- Level: error
- Rule sets: CIUS-PT rules (Portugal, UBL) 2.1.1
- Context: `cac:LegalMonetaryTotal`
- Test: `(exists(../cac:AllowanceCharge[cbc:ChargeIndicator='true']) and ((round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator='true']/xs:decimal(cbc:Amount)) * 10 * 10) div 100) <= (xs:decimal(cbc:ChargeTotalAmount) + 1.00) and (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator='true']/xs:decimal(cbc:Amount)) * 10 * 10) div 100) >= (xs:decimal(cbc:ChargeTotalAmount) - 1.00))) or (not(exists(../cac:AllowanceCharge[cbc:ChargeIndicator='true'])) and xs:decimal(cbc:ChargeTotalAmount) = 0.00) or not(cbc:ChargeTotalAmount)`

Validate a document against these rules: https://xmlvalid.com/validate
