Erori e-FacturaBR-CO-11

Totalul reducerilor la nivel de factură trebuie să fie suma lor

Codul regulii este BR-CO-11.

Mesajul exact din validatorul ANAF

textEroare=[BR-CO-11]-Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
textEroare=[BR-CO-13]-Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).

Ce inseamna

Când acorzi o reducere pe toată factura, programul scrie de două ori aceeași informație: suma fiecărei reduceri în parte (BT-92, în grupul de reducere) și totalul reducerilor (BT-107, în totalurile facturii). Regula verifică dacă totalul declarat este exact suma reducerilor acordate la nivel de factură. Dacă adaugi, modifici sau ștergi o reducere fără să actualizezi totalul, factura este respinsă, chiar dacă TVA-ul și restul sumelor par în ordine.

Cum repari

Recalculează totalul reducerilor ca sumă a tuturor reducerilor de la nivel de factură și scrie valoarea în cbc:AllowanceTotalAmount. În exemplu reducerea este 100,00 lei, deci totalul trebuie să fie 100,00 lei, nu 90,00 lei. Reducerile date pe o singură linie de factură nu intră în acest total.

Exemplu

Asa pica

<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:PaymentTerms>
    <cbc:Note>Plata la 30 de zile de la emitere.</cbc:Note>
  </cac:PaymentTerms>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReason>Discount comercial</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="RON">100.00</cbc:Amount>
    <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:AllowanceCharge>
  <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">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="RON">900.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="RON">1071.00</cbc:TaxInclusiveAmount>
    <cbc:AllowanceTotalAmount currencyID="RON">90.00</cbc:AllowanceTotalAmount>
    <cbc:PayableAmount currencyID="RON">1071.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</Invoice>

Asa 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:PaymentTerms>
    <cbc:Note>Plata la 30 de zile de la emitere.</cbc:Note>
  </cac:PaymentTerms>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReason>Discount comercial</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="RON">100.00</cbc:Amount>
    <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:AllowanceCharge>
  <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">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="RON">900.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="RON">1071.00</cbc:TaxInclusiveAmount>
    <cbc:AllowanceTotalAmount currencyID="RON">100.00</cbc:AllowanceTotalAmount>
    <cbc:PayableAmount currencyID="RON">1071.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</Invoice>

Greseala asta strica si alte verificari, deci in acelasi raspuns vei gasi si: BR-CO-13. Le repari pe toate odata cu asta.

Verificat. Am pus fiecare din cele doua fragmente intr-o factura completa si le-am trecut prin validatorul oficial ANAF, versiunea 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.
Regula asa cum e scrisa in schematronul oficial

Textul oficial, in engleza

Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).

Unde se aplica

$Document_totals

Conditia care trebuie sa fie adevarata

$BR-CO-11
Ce nu rezulta din textul oficial al regulii

Am presupus că regula care verifică totalul fără TVA (BR-CO-13) se calculează din suma efectivă a reducerilor (BT-92), nu din totalul declarat (BT-107); dacă validatorul o leagă de BT-107, în varianta greșită ar apărea în plus și acea eroare. Nu am confirmat dacă CIUS-RO cere codul motivului reducerii (BT-98); am completat doar motivul ca text (BT-97), care acoperă cerința de a justifica reducerea.