Rules / IBR-CO-13
IBR-CO-13 error
Total without VAT must add up
Total without VAT (IBT-109) = sum of line net amounts − document allowances + document charges.
A rounding difference of 0.01 fails this rule just as a real error does.
Fails
<cbc:TaxExclusiveAmount currencyID="AED">7499.99</cbc:TaxExclusiveAmount>
Fix
Recalculate from the lines, allowances and charges, rounding each to 2 decimals first.
Passes
<cbc:TaxExclusiveAmount currencyID="AED">7500.00</cbc:TaxExclusiveAmount>
Schematron
- Context
cac:LegalMonetaryTotal- Test
../cac:TaxTotal/cbc:TaxIncludedIndicator = true() or (((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))))
Official text: Invoice total amount without Tax (ibt-109) = Σ Invoice line net amount (ibt-131) - Sum of allowances on document level (ibt-107) + Sum of charges on document level (ibt-108).