Eroare IdentificationCode lipsa la e-Factura: codul de tara obligatoriu

Eroarea IdentificationCode la e-Factura apare cand codul de tara lipseste din adresa vanzatorului sau cumparatorului. BT-40 si BT-55 sunt obligatorii in CIUS-RO.

Eroare IdentificationCode lipsa la e-Factura: codul de tara obligatoriu
Photo by Joshua Woroniecki on Unsplash

Mesajul de eroare poate fi "Country/IdentificationCode lipsa" sau "elementul IdentificationCode este obligatoriu". Ambele variante indica acelasi lucru: in blocul de adresa al vanzatorului sau al cumparatorului, elementul cac:Country cu sub-elementul cbc:IdentificationCode lipseste din XML-ul facturii.

Ce inseamna aceasta eroare

In standardul european de facturare electronica, BT-40 este codul de tara al vanzatorului, iar BT-55 este codul de tara al cumparatorului. Amandoua sunt campuri obligatorii. In XML-ul UBL 2.1, aceste campuri sunt mapate pe elementul cbc:IdentificationCode din sub-elementul cac:Country, prezent in fiecare bloc PostalAddress.

Codurile de tara folosite sunt standardul ISO 3166-1 alpha-2: RO pentru Romania, DE pentru Germania, FR pentru Franta, HU pentru Ungaria, si asa mai departe. Nu se folosesc coduri numerice sau coduri de 3 litere.

De ce apare aceasta eroare

Software-ul omite Country cand firma este romana. Este cauza cea mai frecventa. Unele aplicatii de contabilitate sau generatoare de XML presupun ca, daca firma este din Romania, codul de tara este implicit si nu trebuie inclus in document. Standardul nu permite aceasta presupunere. Codul de tara trebuie inclus intotdeauna, inclusiv pentru adresele romanesti.

Generare XML manuala fara validare. Cand construiesti XML-ul direct din cod, este usor sa uiti elementul cac:Country, mai ales daca nu ai un validator de schema local care sa semnaleze campurile lipsa inainte de trimitere.

Migrare sau import de date. Datele importate dintr-un alt sistem pot sa nu includa codul de tara daca sistemul sursa nu il stoca sau il trata diferit.

Template de factura incomplet. Daca folosesti un template XML sau un sablon de document, verificati daca elementul Country a fost inclus in structura de baza a template-ului.

Cum o rezolvi

Pasul 1: Identifica blocul afectat. Mesajul de eroare indica de obicei daca problema este la vanzator (BT-40) sau la cumparator (BT-55). Daca nu este clar, verifica ambele blocuri PostalAddress din XML.

Pasul 2: Adauga elementul Country. In fiecare bloc PostalAddress afectat, adauga elementul cac:Country cu sub-elementul cbc:IdentificationCode si codul ISO corespunzator.

XML incorect (Country lipsa):

<!-- INCORECT: elementul Country lipseste complet -->
<cac:PostalAddress>
  <cbc:StreetName>Strada Exemplu 1</cbc:StreetName>
  <cbc:CityName>Bucuresti</cbc:CityName>
  <cbc:PostalZone>010011</cbc:PostalZone>
</cac:PostalAddress>

XML corect (Country prezent):

<!-- CORECT: Country cu IdentificationCode prezent -->
<cac:PostalAddress>
  <cbc:StreetName>Strada Exemplu 1</cbc:StreetName>
  <cbc:CityName>Bucuresti</cbc:CityName>
  <cbc:PostalZone>010011</cbc:PostalZone>
  <cac:Country>
    <cbc:IdentificationCode>RO</cbc:IdentificationCode>
  </cac:Country>
</cac:PostalAddress>

Coduri ISO 3166-1 alpha-2 frecvente:

<!-- Exemple coduri de tara ISO 3166-1 alpha-2 -->
<!-- Romania --> <cbc:IdentificationCode>RO</cbc:IdentificationCode>
<!-- Germania --> <cbc:IdentificationCode>DE</cbc:IdentificationCode>
<!-- Franta -->  <cbc:IdentificationCode>FR</cbc:IdentificationCode>
<!-- Ungaria --> <cbc:IdentificationCode>HU</cbc:IdentificationCode>

Pasul 3: Verifica si adresa cumparatorului. Daca ai remediat pentru vanzator, verifica si blocul AccountingCustomerParty. Ambele adrese trebuie sa contina codul de tara.

Pasul 4: Retrimite factura. Dupa corectare, regenereaza si retrimite documentul.

Rezolva cu Billyou

Billyou seteaza automat codul de tara pentru adresa vanzatorului pe baza setarilor firmei tale din cont. Pentru cumparatori, codul de tara este dedus din datele completate la adaugarea clientului. Nu trebuie sa introduci manual codul ISO.

Daca adaugi un client strain, Billyou foloseste codul de tara al tarii selectate, nu presupune implicit Romania. XML-ul generat contine intotdeauna elementul cac:Country complet pentru ambele parti.

Citeste si articolele despre eroarea StreetName lipsa si eroarea BR-RO-090, care sunt in aceeasi categorie de probleme cu datele de adresa.

Intrebari frecvente

Ce cod de tara pun pentru o firma din Romania care nu este platitoare de TVA?

Codul de tara este RO indiferent de statutul de platitor de TVA. IdentificationCode reprezinta tara in care firma este inregistrata, nu tara de inregistrare TVA. Toate firmele romanesti, platitoare sau neplatitoare de TVA, folosesc codul RO.

Codul de tara trebuie sa fie cu majuscule?

Da. Standardul ISO 3166-1 alpha-2 foloseste doua litere mari. Codul "ro" sau "Ro" poate fi respins la validare. Foloseste intotdeauna "RO", "DE", "FR" etc.

Trebuie sa pun codul de tara si in sectiunea de identificare TVA, nu doar in adresa?

Codul de tara din IdentificationCode (BT-40, BT-55) se refera strict la adresa postala. Prefixul de tara din CUI-ul de TVA (de exemplu "RO" din "RO12345678") este un element separat. Ambele trebuie sa fie prezente si corecte, dar sunt campuri diferite in XML.

Citește mai mult