Erori e-Factura

EN16931

Avansul încasat nu e scăzut din suma de plată (BT-113 vs BT-115)

Codul regulii este BR-CO-16.

Mesajul exact din validatorul ANAF

textEroare=[BR-CO-16]-Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).

Ce înseamnă

Validatorul verifică o egalitate simplă între totaluri: suma de plată (BT-115, cbc:PayableAmount) trebuie să fie exact totalul facturii cu TVA (BT-112) minus avansul încasat (BT-113, cbc:PrepaidAmount) plus eventuală rotunjire (BT-114, cbc:PayableRoundingAmount). În factura de referință nu există avans și nici rotunjire, deci BT-115 = BT-112 = 1.190,00 și regula e respectată. Dacă adaugi un avans de 200,00 lei și lași suma de plată tot la 1.190,00, egalitatea cade și primești eroarea.

Cum repari

În programul de facturare completează avansul încasat în câmpul de avans (BT-113) și lasă programul să recalculeze suma de plată ca BT-112 - BT-113 + BT-114. Dacă factura nu are avans, șterge complet elementul cbc:PrepaidAmount din cac:LegalMonetaryTotal, nu îl lasă cu 0.00.

Exemplu

Așa pică

<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:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
    <cbc:PrepaidAmount currencyID="RON">200.00</cbc:PrepaidAmount>
    <cbc:PayableAmount currencyID="RON">1190.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</ubl:Invoice>

Așa trece

<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:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
    <cbc:PrepaidAmount currencyID="RON">200.00</cbc:PrepaidAmount>
    <cbc:PayableAmount currencyID="RON">990.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</ubl:Invoice>
Verificat. Am pus fiecare din cele două fragmente într-o factură completă și le-am trecut prin validatorul oficial ANAF, versiunea ro16931-ubl-1.0.9. Factura cu fragmentul din stânga a fost respinsă cu exact 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ă

Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).

Unde se aplică

$Document_totals

Condiția care trebuie să fie adevărată

$BR-CO-16
Ce nu rezultă din textul oficial al regulii

Nu am putut confirma din datele primite dacă avansul tău este înscris pe aceeași factură sau pe o factură separată de avans (tip 386), caz în care nu se folosește BT-113, iar factura finală se referă la cea de avans.