EN16931
Factura fără sumă de plată (BT-115) este respinsă de ANAF
Codul regulii este BR-15.
Mesajul exact din validatorul ANAF
Ce înseamnă
BR-15 cere că orice factură să conțină suma de plată (BT-115) în grupul totalurilor, adică exact ce trebuie să achite cumpărătorul. Fără acest element, validatorul nu poate verifica regulile de rotunjire și de coerență dintre totaluri, așa că factura pică la validare. În factura de referință elementul există și este egal cu totalul cu TVA, pentru că nu există avansuri sau rețineri.
Cum repari
Verifică generatorul de facturi să scrie întotdeauna cbc:PayableAmount în cac:LegalMonetaryTotal, ca ultim copil al grupului. Valoarea lui este totalul cu TVA din care se scad avansurile (BT-113) și reținerile, dacă există; când nu există, este egal cu BT-112.
Exemplu
Așa pică
<Invoice xmlns="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:LegalMonetaryTotal><!-- BG-22 TOTALURI -->
<cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount><!-- BT-106 -->
<cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount><!-- BT-109 -->
<cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount><!-- BT-112 -->
</cac:LegalMonetaryTotal>
</Invoice>Așa trece
<Invoice xmlns="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:LegalMonetaryTotal><!-- BG-22 TOTALURI -->
<cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount><!-- BT-106 -->
<cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount><!-- BT-109 -->
<cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount><!-- BT-112 -->
<cbc:PayableAmount currencyID="RON">1190.00</cbc:PayableAmount><!-- BT-115 -->
</cac:LegalMonetaryTotal>
</Invoice>În practică nu ajungi să vezi codul regulii: valoarea e respinsă mai devreme, de schema XML, iar mesajul arată cum scrie mai sus. Regula există și ea, dar prinde doar cazurile pe care schema le lasă să treacă.
ro16931-ubl-1.0.9. Factura cu fragmentul din stânga a fost respinsă cu mesajul de mai sus; cea cu fragmentul din dreapta a trecut fără nicio eroare. Verificarea s-a făcut pe 14.09.2026.Regula așa cum e scrisă în schematronul oficial
Textul oficial, în engleză
An Invoice shall have the Amount due for payment (BT-115).
Unde se aplică
$Document_totals
Condiția care trebuie să fie adevărată
$BR-15