Structura unui XML e-Factura
Un fișier XML e-Factura pare, la prima vedere, un bloc de cod fără sens. De fapt, are o structură fixă, împărțită în câteva secțiuni clare — aceleași, indiferent cine a emis factura.
Antetul facturii
La început apar informațiile generale: numărul facturii, data emiterii, codul tipului de document (vezi ce înseamnă codurile 380 și 381) și moneda folosită. Acestea identifică documentul, indiferent de conținutul lui.
Furnizor și cumpărător
Urmează două secțiuni simetrice: datele furnizorului (cel care emite factura) și ale cumpărătorului (destinatarul) — nume, identificatori fiscali (CUI, cod de TVA) și adresă. Fiecare are propriul bloc separat, ca să nu existe ambiguitate despre cine e cine.
Liniile facturii
Fiecare produs sau serviciu facturat apare ca o linie separată, cu denumire, cantitate, preț unitar, cota de TVA aplicată și valoarea liniei. O factură cu 10 produse are 10 astfel de linii repetate.
TVA și totaluri
TVA-ul apare de două ori: o dată pe fiecare linie (cota aplicabilă) și o dată centralizat, pe categorii de TVA (defalcare), cu baza impozabilă și valoarea TVA pentru fiecare categorie. La final apar totalurile: valoare netă, TVA total și suma de plată.
Informații de plată
Multe facturi includ și o secțiune cu detalii de plată — de regulă contul bancar al furnizorului și, uneori, un termen de plată. Această secțiune este opțională și depinde de furnizor.
Simplificat, o structură de bază arată așa:
<Invoice>
<ID>FACT-0001</ID>
<IssueDate>2026-09-01</IssueDate>
<InvoiceTypeCode>380</InvoiceTypeCode>
<DocumentCurrencyCode>RON</DocumentCurrencyCode>
<AccountingSupplierParty>
<Name>Furnizor Exemplu SRL</Name>
<CompanyID>RO00000000</CompanyID>
</AccountingSupplierParty>
<AccountingCustomerParty>
<Name>Client Exemplu SRL</Name>
</AccountingCustomerParty>
<InvoiceLine>
<Item>Serviciu exemplu</Item>
<Quantity>1</Quantity>
<Price>1.000,00</Price>
</InvoiceLine>
<TaxTotal>190,00</TaxTotal>
<LegalMonetaryTotal>1.190,00</LegalMonetaryTotal>
</Invoice>
Exemplu simplificat, cu date sintetice — nu reprezintă un fișier valid complet și omite elemente obligatorii reale.
De ce contează asta pentru tine
Nu trebuie să citești XML-ul brut ca să înțelegi o factură — dar știind unde se află fiecare informație, mesajele de eroare de la Validator devin mult mai ușor de urmărit: majoritatea indică exact una dintre secțiunile de mai sus.
Pentru a lucra cu datele extrase într-un tabel, folosește XML în Excel. Dacă vrei să înțelegi de ce există exact aceste reguli de structură, vezi standardele din spatele e-Facturii.
Întrebări frecvente
Ce înseamnă codurile BT-1, BT-31 etc. pe care le văd în alte explicații?
Sunt identificatori oficiali EN16931 pentru fiecare câmp (BT = „Business Term”) — de exemplu BT-1 e numărul facturii. Nu ai nevoie de ei ca să citești o factură; apar mai ales în mesaje tehnice de eroare.
De ce fișierele XML de la furnizori diferiți arată puțin diferit?
Structura de bază (elementele și ordinea lor) e aceeași — ce diferă e prefixul folosit pentru namespace-uri (ex. cbc: vs altceva) sau software-ul care a generat fișierul. Conținutul rămâne echivalent.
Pot vedea structura fără cunoștințe tehnice?
Da — Vizualizare e-Factura interpretează exact aceste secțiuni și le afișează ca pe o factură obișnuită, fără să fie nevoie să citești XML-ul brut.