Formatul XML UBL este structura în care o factură electronică se transmite prin e-Factura: un fișier text în care fiecare informație (numele furnizorului, cantitatea, cota de TVA, totalul) are o etichetă proprie. Dacă te-ai întrebat vreodată de ce factura trimisă către ANAF nu arată ca PDF-ul pe care îl trimiți clienților, răspunsul este chiar acesta: sistemul nu citește pagini, ci câmpuri.
Articolul explică, fără termeni de programare, ce este formatul XML UBL, cum se deosebește de PDF și ce rol are în circuitul facturii. Regulile exacte ale sistemului se pot modifica în timp, iar detaliile pentru situația firmei tale le stabilești cu furnizorul programului de facturare, cu un contabil sau pe baza informațiilor publicate de ANAF. Pentru imaginea de ansamblu a sistemului, vezi e-Factura: ghid complet pentru firme, de la SPV la arhivare.
Ce înseamnă XML și ce înseamnă UBL?
XML este un limbaj de marcare, adică o convenție de a scrie date astfel încât oamenii și programele să le poată separa clar, iar UBL (Universal Business Language) este un set de reguli care spune ce câmpuri are o factură și cum se numesc. Altfel spus, XML este alfabetul, iar UBL este vocabularul și gramatica unei facturi.
Un fișier XML arată, în mare, ca o listă de etichete deschise și închise, pe care cititorul uman le găsește plictisitoare, dar pe care un program le parcurge în fracțiuni de secundă. Aceeași informație, de exemplu totalul de plată, se găsește mereu la același „loc” logic din structură, indiferent de programul care a generat factura. Tocmai această uniformitate permite ca o factură emisă într-un program să fie citită automat în altul.
De ce nu este suficient un PDF?
Un PDF este o imagine a unei pagini: arată bine, dar calculatorul nu știe care număr este totalul și care este cantitatea. Pentru a extrage datele dintr-un PDF ai nevoie de recunoaștere de text, iar rezultatul poate conține erori. XML elimină problema, pentru că datele sunt deja separate și etichetate.
În practică, programul de facturare generează fișierul XML în fundal, iar tu nu îl vezi decât dacă îl descarci. De multe ori primești și o versiune vizuală, generată din același XML, care e doar o ilustrare a datelor.
Ce conține, în linii mari, un fișier de factură UBL?
Un fișier UBL grupează informațiile în câteva blocuri logice, în aceeași ordine în care ai citi o factură obișnuită. Nu trebuie să le completezi manual, dar e util să știi ce înseamnă fiecare, ca să recunoști originea unei erori.
| Bloc | Ce cuprinde | Exemplu de eroare tipică |
|---|---|---|
| Antet | numărul facturii, data emiterii, moneda, tipul documentului | dată într-un format neacceptat |
| Furnizor | denumire, cod de identificare fiscală, adresă | cod fiscal scris cu spații sau litere în plus |
| Client | aceleași date pentru cumpărător | adresă fără județ sau sector corect |
| Linii | descrierea bunurilor sau serviciilor, cantitate, preț, cota de TVA | unitate de măsură lipsă |
| Totaluri | baza de impozitare, TVA, total de plată | totaluri care nu se leagă între ele |
| Plată | modalitatea și, uneori, contul bancar | cod de plată neacceptat |
Fiecare bloc are câmpuri obligatorii și câmpuri opționale. Un program bun te ajută să nu le uiți, dar în situații neobișnuite (livrări cu mai multe cote, reduceri, avansuri) apar cele mai multe diferențe de interpretare între programe.
Sfat: Dacă programul îți permite să vezi fișierul XML al unei facturi respinse, nu încerca să-l modifici manual. Descarcă-l și trimite-l furnizorului programului, împreună cu mesajul de eroare primit.
Ce este varianta CII și ce legătură are cu UBL?
CII (Cross Industry Invoice) este un al doilea format acceptat pentru facturi electronice, construit după aceeași logică de câmpuri etichetate, dar cu o structură internă diferită. Ambele formate se bazează pe același model european de date, deci informațiile transportate sunt aceleași.
Pentru utilizatorul obișnuit diferența nu se vede. Programul alege formatul acceptat de sistem și îl folosește, iar tu nu trebuie să alegi între UBL și CII. Contează însă să știi că, atunci când un partener îți trimite „factura în XML” pe altă cale, ea poate fi în una dintre cele două variante, iar programul tău trebuie să le recunoască.
Ce se întâmplă cu facturile PDF primite de la parteneri externi?
O factură PDF primită de la un furnizor din afara sistemului nu devine automat o e-Factură. Ea rămâne un document pe care îl înregistrezi contabil, după regulile aplicabile situației respective. Dacă ai nelămuriri despre ce tip de factură intră în sistem și ce rămâne în afara lui, discută cu contabilul sau consultă informările ANAF, pentru că regulile au excepții și se pot schimba.
Cum se creează fișierul într-un program de facturare?
Fișierul se creează aproape întotdeauna automat: completezi datele în ecranul obișnuit al programului, iar la salvare sau la transmitere programul le transformă în XML. Rolul tău este să te asiguri că datele de bază din program (clienți, produse, cote de TVA) sunt corecte, pentru că ele ajung identic în fișier.
Un obicei sănătos este să verifici, la fiecare client nou, trei lucruri:
- codul de identificare fiscală este scris exact așa cum apare în evidențele ANAF, fără litere de prisos;
- adresa conține toate elementele cerute (țară, județ sau sector, localitate);
- unitatea de măsură a produselor este una recunoscută, nu un text liber.
Programele moderne validează o parte din aceste câmpuri înainte de transmitere. Cele mai vechi, adaptate la repezeală, validează mai puțin, iar greșelile ies la iveală abia în mesajul de respingere.
Ce faci dacă firma folosește un program făcut la comandă?
Un program făcut la comandă trebuie să respecte aceeași structură, la fel ca orice altul, deci cere un test cu mai multe tipuri de facturi: cu o singură cotă, cu mai multe cote, cu reduceri, cu avans. Dacă lipsește unul dintre aceste cazuri din testare, el apare de obicei în producție, la cel mai nepotrivit moment.

Poate fi citit un fișier XML fără programe speciale?
Da, poate fi deschis cu orice editor de text, dar nu este făcut pentru citit. Etichetele sunt în limba engleză și au denumiri tehnice, iar valorile sunt amestecate cu structura. Dacă vrei doar să vezi conținutul facturii, este mai ușor să folosești versiunea vizuală generată de programul tău.
Un mic truc folositor: dacă ai de verificat o singură informație, de exemplu suma totală, caută în fișier eticheta corespunzătoare cu funcția de căutare a editorului. Nu trebuie să înțelegi tot, ci doar să găsești câmpul.
Atenție: Nu edita un fișier XML al unei facturi deja transmise sau primite. Orice modificare manuală poate strica structura și, mai ales, pune sub semnul întrebării autenticitatea documentului. Corecțiile se fac prin documente noi, nu prin intervenții în fișier.
De ce contează formatul pentru contabilitate și arhivare?
Formatul contează pentru că fișierul XML original este documentul care circulă în sistem și, de regulă, cel pe care îl păstrezi ca dovadă. Versiunea PDF generată din el este o reprezentare utilă, dar originalul rămâne XML-ul. Despre cum se păstrează corect, vezi Arhivarea facturilor electronice: cum le păstrezi corect.
Pe partea contabilă, un format uniform înseamnă import automat în programul de contabilitate: facturile primite se pot încărca fără rescriere manuală, iar riscul de greșeli de tastare scade. Condiția este ca partenerii să completeze corect câmpurile, ceea ce nu se întâmplă mereu. Pentru verificarea facturilor primite te ajută și Facturile primite în SPV: cum le descarci și le verifici.
Cum se leagă formatul de erorile pe care le vezi?
Majoritatea erorilor afișate de sistem se referă la câmpuri: lipsesc, au format greșit sau nu se potrivesc cu alte câmpuri. Cunoscând structura de mai sus, poți ghici repede unde e problema. Pentru un inventar al erorilor frecvente și al felului în care se corectează, vezi Erorile frecvente în e-Factura și cum le corectezi.
Pe aceeași temă, citește și contabilitatea firmei: ghid detaliat pentru antreprenori.
Întrebări frecvente
Este XML-ul același lucru cu factura vizualizată în program?
Nu. XML-ul este fișierul de date care circulă prin sistem, iar ce vezi pe ecran sau în PDF este o reprezentare vizuală generată din el. Pentru sistem contează XML-ul.
Trebuie să aleg eu între UBL și CII?
De regulă nu. Programul de facturare folosește formatul acceptat de sistem și îl completează singur. Tu verifici doar datele, nu structura tehnică.
Pot transmite un PDF în loc de XML?
Nu în circuitul e-Factura, care lucrează cu fișiere structurate. Un PDF poate însoți factura ca anexă, dar nu o înlocuiește. Pentru cazuri speciale, verifică informările ANAF sau întreabă un contabil.
Se poate schimba formatul în timp?
Da, specificațiile se actualizează periodic, iar programele de facturare se adaptează. De aceea merită să păstrezi programul la zi și să urmărești anunțurile furnizorului.
De unde aflu regulile în vigoare?
De pe site-ul ANAF și de la contabilul firmei. Articolele de aici explică mecanismele generale, nu înlocuiesc informarea oficială și nu oferă recomandări pentru cazuri individuale.