Codul regulii este BR-CO-23.
Când acorzi o reducere pe o singură linie de factură (nu la nivelul întregii facturi), grupul de reducere trebuie să spună și de ce se acordă: fie printr-un text liber, fie printr-un cod de motiv. Validatorul nu verifică valoarea reducerii, ci doar că nu lipsește orice explicație. Fără motiv sau cod, factura se respinge chiar dacă toate cifrele sunt corecte.
În programul de facturare, la fiecare reducere pusă pe linie completează câmpul de motiv (text liber) sau codul de motiv din nomenclatorul agreat de EN 16931. Ai grijă că reducerea de pe linie scade netul liniei: netul liniei, baza de TVA și totalurile facturii trebuie recalculate, altfel factura pică pe regulile de aritmetică.
<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cac:TaxTotal>
<cbc:TaxAmount currencyID="RON">171.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="RON">900.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="RON">171.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="RON">900.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="RON">900.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="RON">1071.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="RON">1071.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="RON">900.00</cbc:LineExtensionAmount>
<cac:Price>
<cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
</cac:Price>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="RON">100.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine>
</ubl:Invoice><ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cac:TaxTotal>
<cbc:TaxAmount currencyID="RON">171.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="RON">900.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="RON">171.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="RON">900.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="RON">900.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="RON">1071.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="RON">1071.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="RON">900.00</cbc:LineExtensionAmount>
<cac:Price>
<cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
</cac:Price>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Reducere comerciala 10%</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="RON">100.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine>
</ubl:Invoice>Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-42. Le repari pe toate odata cu asta.
ro16931-ubl-1.0.9. Factura cu fragmentul din stanga a fost respinsa cu exact mesajul de mai sus; cea cu fragmentul din dreapta a trecut fara nicio eroare. Verificarea s-a facut pe 14.09.2026.Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.
$Invoice_line_allowances
$BR-CO-23
Factura de referință nu conține nicio reducere pe linie, așa că grupul cac:AllowanceCharge a fost adăugat integral în ambele variante, iar totalurile au fost recalculate ca să rămână valide: 10 x 100,00 = 1.000,00, minus 100,00 reducere = 900,00 net, TVA 19% = 171,00, total 1.071,00. Poziția elementului cac:AllowanceCharge în linie (după cac:Price) provine din secvența UBL 2.1 și nu a putut fi verificată pe o factură de referință care să conțină deja o reducere pe linie. Nu am folosit un cod de motiv (BT-140) pentru că nu am lista de coduri acceptată de validator, iar regula cere motivul SAU codul.