BR-CO-16
Error (blocking) EN 16931 (UBL)EN 16931 (CII)
Official rule text
[BR-CO-16]-Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).
What it means
The amount due (BT-115) must equal total with VAT (BT-112) minus what was already paid (BT-113) plus the rounding amount (BT-114). Sign handling is the classic failure: BT-114 is added, not subtracted, and once you emit cbc:PrepaidAmount it must be reflected in cbc:PayableAmount - deposits and down payments are where this rule usually bites.
How to fix it
Set cbc:PayableAmount (BT-115) = TaxInclusiveAmount (BT-112) - PrepaidAmount (BT-113) + PayableRoundingAmount (BT-114) under cac:LegalMonetaryTotal; if BT-113/BT-114 are zero, either omit them or include them as 0 in the arithmetic.
Business terms involved: BT-115BT-112BT-113BT-114
🇫🇷 En français
Le net à payer (BT-115) doit être égal au total TTC (BT-112) moins le déjà payé (BT-113) plus l'arrondi (BT-114). Le signe est le piège classique : le BT-114 s'ajoute, il ne se soustrait pas, et dès que cbc:PrepaidAmount est émis, il doit se retrouver dans cbc:PayableAmount - acomptes et arrhes sont le terrain d'échec habituel de cette règle.
Correction : Posez cbc:PayableAmount (BT-115) = TaxInclusiveAmount (BT-112) - PrepaidAmount (BT-113) + PayableRoundingAmount (BT-114) sous cac:LegalMonetaryTotal ; si BT-113/BT-114 valent zéro, omettez-les ou intégrez-les à 0 dans le calcul.
Seeing BR-CO-16 in a rejection?
Run your file through the free validator to see every violation at once — or let NormDrift watch your reference invoices so the next ruleset release never surprises you.