Erori e-Factura

EN16931

Baza de impozitare IPSI nu acoperă liniile facturii

Codul regulii este BR-IP-08.

Mesajul exact din validatorul ANAF

textEroare=[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
textEroare=[BR-IP-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is IPSI , the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is IPSI and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).

Ce înseamnă

Pentru fiecare cotă IPSI din detalierea de TVA (BG-23), baza înscrisă acolo (BT-116) trebuie să fie exact suma liniilor de factură care au același cod IPSI (BT-151) și aceeași cotă (BT-152), plus eventualele taxe la nivel de factură și minus reducerile. Dacă o linie are alt cod de TVA sau altă cotă, ea iese din sumă, iar baza din detaliere nu mai corespunde cu liniile. IPSI este impozitul din Ceuta și Melilla (codul M în lista EN 16931) și nu există în sistemul românesc de TVA, deci regula se declanșează doar dacă un astfel de cod a ajuns în factură din greșeală. Factura de referință folosește cota standard S; în exemplele de mai jos codul a fost mutat pe M doar ca să se vadă regula.

Cum repari

Verifică detalierea de TVA: baza fiecărei cote IPSI trebuie să fie suma liniilor cu același cod și aceeași cotă. În exemplu, baza din detaliere este 900,00 în loc de 1.000,00 cât însumează linia, iar TVA-ul aferent a scăzut la 171,00. Dacă ai modificat după generare o linie (valoare, cotă sau cod de TVA), regenerează detalierea și totalurile, sau corectează manual baza din detaliere până egalează liniile.

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:TaxTotal>
    <cbc:TaxAmount currencyID="RON">171.00</cbc:TaxAmount><!-- BT-110 TVA total -->
    <cac:TaxSubtotal><!-- BG-23 DETALIEREA TVA -->
      <cbc:TaxableAmount currencyID="RON">900.00</cbc:TaxableAmount><!-- BT-116 NU acopera linia de 1000.00 -->
      <cbc:TaxAmount currencyID="RON">171.00</cbc:TaxAmount><!-- BT-117 -->
      <cac:TaxCategory>
        <cbc:ID>M</cbc:ID><!-- BT-118 IPSI -->
        <cbc:Percent>19.00</cbc:Percent><!-- BT-119 -->
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:InvoiceLine><!-- BG-25 LINIA FACTURII -->
    <cbc:ID>1</cbc:ID><!-- BT-126 -->
    <cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity><!-- BT-129, H87 = bucata -->
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount><!-- BT-131 -->
    <cac:Item>
      <cbc:Name>Serviciu de consultanta</cbc:Name><!-- BT-153 -->
      <cac:ClassifiedTaxCategory>
        <cbc:ID>M</cbc:ID><!-- BT-151 -->
        <cbc:Percent>19.00</cbc:Percent><!-- BT-152 -->
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount><!-- BT-146 -->
    </cac:Price>
  </cac:InvoiceLine>
</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:TaxTotal>
    <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount><!-- BT-110 TVA total -->
    <cac:TaxSubtotal><!-- BG-23 DETALIEREA TVA -->
      <cbc:TaxableAmount currencyID="RON">1000.00</cbc:TaxableAmount><!-- BT-116 = suma liniilor IPSI la 19% -->
      <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount><!-- BT-117 -->
      <cac:TaxCategory>
        <cbc:ID>M</cbc:ID><!-- BT-118 IPSI -->
        <cbc:Percent>19.00</cbc:Percent><!-- BT-119 -->
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:InvoiceLine><!-- BG-25 LINIA FACTURII -->
    <cbc:ID>1</cbc:ID><!-- BT-126 -->
    <cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity><!-- BT-129, H87 = bucata -->
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount><!-- BT-131 -->
    <cac:Item>
      <cbc:Name>Serviciu de consultanta</cbc:Name><!-- BT-153 -->
      <cac:ClassifiedTaxCategory>
        <cbc:ID>M</cbc:ID><!-- BT-151 -->
        <cbc:Percent>19.00</cbc:Percent><!-- BT-152 -->
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount><!-- BT-146 -->
    </cac:Price>
  </cac:InvoiceLine>
</ubl:Invoice>

Greșeala asta strică și alte verificări, deci în același răspuns vei găsi și: BR-CO-15. Le repari pe toate odată cu asta.

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ă

For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IPSI", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IPSI" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).

Unde se aplică

$VATIP

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

$BR-IP-08
Ce nu rezultă din textul oficial al regulii

Codul scris efectiv în XML: textul oficial al regulii spune că BT-118 este 'IPSI', dar în lista de coduri EN 16931 categoria IPSI (impozitul din Ceuta și Melilla) este M, iar 'IPSI' nu este o valoare de cod validă. Nu am putut confirma din datele primite dacă schematronul CIUS-RO testează literalul 'IPSI' sau codul 'M'; exemplele folosesc M. De asemenea, nu am confirmat dacă CIUS-RO acceptă deloc această categorie de TVA pe o factură emisă în România.