Digitalizare Business

Integrare e-Factura ANAF: Ghid Complet pentru Companii

Tot ce trebuie să știi despre sistemul RO e-Factura: obligativitate, termene, integrare API, format XML UBL și cum să eviți amenzile. Ghid actualizat 2026 pentru antreprenori și dezvoltatori.

18 min citireNivel: Intermediar

Pe scurt (Key Takeaways):

  • Obligatoriu din 2024: Toate tranzacțiile B2B trebuie raportate în sistemul RO e-Factura
  • B2C din 2025: Facturile către consumatori finali sunt obligatorii de la 1 ianuarie 2025
  • Termen transmitere: 5 zile lucrătoare de la emiterea facturii
  • Amenzi: 1.000 - 10.000 lei în funcție de categoria contribuabilului
  • Format acceptat: XML în sintaxă UBL 2.1 sau CII, conform standardului EN16931
  • Acces: Prin SPV (Spațiul Privat Virtual) sau prin API pentru integrare automată

Ce Este Sistemul RO e-Factura?

Sistem e-Factura ANAF România

RO e-Factura este sistemul național de facturare electronică creat de ANAF pentru a digitaliza și standardiza procesul de facturare în România. Prin acest sistem, facturile sunt transmise electronic către ANAF, validate automat și puse la dispoziția destinatarului.

De ce a fost introdus?

  • Reducerea evaziunii fiscale - facturile sunt verificate în timp real
  • Digitalizarea economiei - eliminarea documentelor pe hârtie
  • Conformitate UE - alinierea la standardele europene de facturare electronică
  • Eficiență administrativă - automatizarea proceselor fiscale

Cum funcționează?

  1. Emitentul generează factura în format XML
  2. Transmite factura către ANAF prin SPV sau API
  3. ANAF validează factura (verifică structura, datele fiscale)
  4. Destinatarul primește factura în SPV sau o preia prin API
  5. Arhivare - facturile rămân în SPV 60 de zile

Cine Trebuie să Folosească e-Factura?

Obligativitate B2B (din 1 ianuarie 2024)

Toate persoanele impozabile stabilite în România trebuie să raporteze facturile emise în relația B2B (business-to-business), indiferent dacă sunt sau nu înregistrate în scopuri de TVA.

Include:

  • SRL, SA, SNC și alte forme juridice
  • PFA și Întreprinderi Individuale
  • Profesii liberale (avocați, contabili, notari)
  • ONG-uri care desfășoară activități economice

Obligativitate B2C (din 1 ianuarie 2025)

Din 2025, toate facturile către consumatori finali trebuie raportate în RO e-Factura. Aceasta include:

  • Facturi pentru persoane fizice
  • Bonuri fiscale simplificate transformate în facturi
  • Facturi pentru livrări către populație

Excepții

  • Tranzacții internaționale (export, livrări intracomunitare) - au regim separat
  • Facturi simplificate sub 100 EUR (în anumite condiții)
  • Operațiuni scutite fără drept de deducere

Termene și Sancțiuni

Termenul de transmitere

Facturile trebuie transmise în sistemul RO e-Factura în 5 zile lucrătoare de la:

  • Data emiterii facturii, SAU
  • Data-limită prevăzută pentru emiterea facturii (conform art. 319 alin. 16 din Codul Fiscal)

Amenzi pentru neconformare

Categorie contribuabilAmendă minimăAmendă maximă
Contribuabili mari5.000 lei10.000 lei
Contribuabili mijlocii2.500 lei5.000 lei
Alte persoane juridice1.000 lei2.500 lei

Important: Amenzile se aplică pentru fiecare factură netransmisă în termen!


Formatul XML și Standardele Tehnice

Format XML e-Factura

Sintaxe acceptate

ANAF acceptă două formate XML:

  1. UBL 2.1 (Universal Business Language) - cel mai folosit
  2. CII (Cross Industry Invoice) - alternativă

Ambele trebuie să respecte specificațiile RO_CIUS (Core Invoice Usage Specification), care sunt conforme cu standardul european EN16931.

Structura unui fișier XML e-Factura

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
  <CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1</CustomizationID>
  <ID>FACT-2026-001</ID>
  <IssueDate>2026-01-14</IssueDate>
  <InvoiceTypeCode>380</InvoiceTypeCode>
  <DocumentCurrencyCode>RON</DocumentCurrencyCode>
  
  <!-- Furnizor -->
  <AccountingSupplierParty>
    <Party>
      <PartyTaxScheme>
        <CompanyID>RO12345678</CompanyID>
      </PartyTaxScheme>
      <PartyLegalEntity>
        <RegistrationName>Furnizor SRL</RegistrationName>
      </PartyLegalEntity>
    </Party>
  </AccountingSupplierParty>
  
  <!-- Client -->
  <AccountingCustomerParty>
    <Party>
      <PartyTaxScheme>
        <CompanyID>RO87654321</CompanyID>
      </PartyTaxScheme>
      <PartyLegalEntity>
        <RegistrationName>Client SRL</RegistrationName>
      </PartyLegalEntity>
    </Party>
  </AccountingCustomerParty>
  
  <!-- Linii factură -->
  <InvoiceLine>
    <ID>1</ID>
    <InvoicedQuantity unitCode="C62">10</InvoicedQuantity>
    <LineExtensionAmount currencyID="RON">1000.00</LineExtensionAmount>
    <Item>
      <Name>Produs exemplu</Name>
    </Item>
    <Price>
      <PriceAmount currencyID="RON">100.00</PriceAmount>
    </Price>
  </InvoiceLine>
  
  <!-- Totaluri -->
  <LegalMonetaryTotal>
    <TaxExclusiveAmount currencyID="RON">1000.00</TaxExclusiveAmount>
    <TaxInclusiveAmount currencyID="RON">1190.00</TaxInclusiveAmount>
    <PayableAmount currencyID="RON">1190.00</PayableAmount>
  </LegalMonetaryTotal>
</Invoice>

Câmpuri obligatorii

  • ID - numărul facturii
  • IssueDate - data emiterii
  • InvoiceTypeCode - tipul documentului (380 = factură, 381 = notă credit)
  • DocumentCurrencyCode - moneda (RON, EUR, etc.)
  • AccountingSupplierParty - datele furnizorului (CUI, denumire, adresă)
  • AccountingCustomerParty - datele clientului
  • InvoiceLine - liniile facturii (produse/servicii)
  • TaxTotal - totalul TVA
  • LegalMonetaryTotal - totalurile facturii

Validare

ANAF oferă instrumente de validare:

Versiunea curentă a artefactelor de validare: ro16931-ubl-1.0.9 (din 05.06.2024)


Metode de Transmitere

1. Manual prin SPV (Spațiul Privat Virtual)

Potrivit pentru: Companii cu volum mic de facturi (sub 50/lună)

Pași:

  1. Accesează https://www.anaf.ro/spv/
  2. Autentifică-te cu certificat digital sau user/parolă
  3. Navighează la secțiunea e-Factura
  4. Încarcă fișierul XML
  5. Verifică starea transmiterii

Avantaje:

  • Gratuit
  • Nu necesită cunoștințe tehnice

Dezavantaje:

  • Proces manual, consumator de timp
  • Risc de erori umane
  • Nu scalează pentru volume mari

2. Integrare API (Automatizat)

Potrivit pentru: Companii cu volum mare de facturi sau care vor automatizare

Arhitectură:

[ERP/Facturare] → [Aplicație proprie] → [API ANAF] → [RO e-Factura]
                         ↓
                   Autentificare OAuth 2.0

Endpoint-uri principale:

OperațieEndpointMetodă
Upload factură/upload/CIUS-RO/{cif}POST
Verificare stare/stareMesaj/{id}GET
Descărcare răspuns/descarcare/{id}GET
Lista mesaje/listaMesajeFacturaGET

Flux de autentificare OAuth 2.0:

  1. Obține autorizare de la utilizator (redirect către ANAF)
  2. Primește authorization code
  3. Schimbă code-ul pentru access token + refresh token
  4. Folosește access token pentru apeluri API
  5. Reînnoiește token-ul când expiră

Vrei ajutor cu implementarea?

Completează formularul și primești o consultație gratuită în maxim 24 ore.

Protejat de reCAPTCHA. Politica de confidențialitate

3. Soluții SaaS (Terți certificați)

Potrivit pentru: Companii care nu vor să dezvolte integrare proprie

Exemple de furnizori:

  • SmartBill
  • Facturis
  • Oblio
  • SeniorERP
  • Nexus

Avantaje:

  • Implementare rapidă
  • Suport și actualizări incluse
  • Fără dezvoltare internă

Dezavantaje:

  • Cost lunar/per factură
  • Dependență de furnizor

Integrare API: Ghid Tehnic Detaliat

Cerințe preliminare

  1. Înregistrare în SPV - compania trebuie să aibă acces la Spațiul Privat Virtual
  2. Certificat digital - pentru autentificare sau OAuth 2.0 configurate
  3. Cunoștințe XML/UBL - pentru generarea facturilor
  4. Mediu de dezvoltare - pentru testare (ANAF oferă sandbox)

Medii disponibile

MediuURL de bazăScop
Testhttps://api.anaf.ro/test/FCTEL/rest/Dezvoltare și testare
Producțiehttps://api.anaf.ro/prod/FCTEL/rest/Facturi reale

Exemplu de implementare (Node.js)

const axios = require('axios');
const fs = require('fs');

class EFacturaClient {
  constructor(accessToken, cif) {
    this.baseUrl = 'https://api.anaf.ro/prod/FCTEL/rest';
    this.accessToken = accessToken;
    this.cif = cif;
  }

  async uploadInvoice(xmlContent, standard = 'UBL') {
    const response = await axios.post(
      `${this.baseUrl}/upload/CIUS-RO/${this.cif}`,
      xmlContent,
      {
        headers: {
          'Authorization': `Bearer ${this.accessToken}`,
          'Content-Type': 'application/xml'
        },
        params: {
          standard: standard // 'UBL' sau 'CII'
        }
      }
    );
    return response.data;
  }

  async checkStatus(uploadIndex) {
    const response = await axios.get(
      `${this.baseUrl}/stareMesaj/${uploadIndex}`,
      {
        headers: {
          'Authorization': `Bearer ${this.accessToken}`
        }
      }
    );
    return response.data;
  }

  async downloadResponse(downloadId) {
    const response = await axios.get(
      `${this.baseUrl}/descarcare/${downloadId}`,
      {
        headers: {
          'Authorization': `Bearer ${this.accessToken}`
        }
      }
    );
    return response.data;
  }

  async listMessages(days = 60, filter = 'E') {
    const response = await axios.get(
      `${this.baseUrl}/listaMesajeFactura`,
      {
        headers: {
          'Authorization': `Bearer ${this.accessToken}`
        },
        params: {
          cif: this.cif,
          zile: days,
          filtru: filter // E=emise, P=primite, T=toate
        }
      }
    );
    return response.data;
  }
}

// Utilizare
const client = new EFacturaClient('access_token_here', '12345678');

// Upload factură
const xmlContent = fs.readFileSync('factura.xml', 'utf-8');
const result = await client.uploadInvoice(xmlContent);
console.log('Upload ID:', result.index_incarcare);

// Verificare stare
const status = await client.checkStatus(result.index_incarcare);
console.log('Stare:', status.stare); // 'ok', 'nok', 'in prelucrare'

Gestionarea erorilor comune

Cod eroareDescriereSoluție
E001XML invalidVerifică structura XML cu validatorul ANAF
E002CUI furnizor incorectVerifică că CUI-ul corespunde certificatului
E003Factură duplicatăNumărul facturii există deja
E004Token expiratReînnoiește access token-ul
E005Lipsă câmpuri obligatoriiCompletează toate câmpurile cerute

Checklist de Implementare

Faza 1: Pregătire (1-2 săptămâni)

  • Înregistrare în SPV ANAF
  • Obținere certificat digital (dacă e necesar)
  • Inventariere facturi (volum, tipuri, clienți)
  • Alegere metodă transmitere (manual/API/SaaS)
  • Buget pentru implementare

Faza 2: Implementare (2-4 săptămâni)

  • Configurare sistem de facturare pentru export XML UBL
  • Testare în mediul sandbox ANAF
  • Validare XML cu instrumentele ANAF
  • Integrare API (dacă e cazul)
  • Training echipă contabilitate

Faza 3: Producție (continuu)

  • Migrare în mediul de producție
  • Monitorizare transmitere și erori
  • Proces pentru facturi respinse
  • Backup și arhivare
  • Actualizare la schimbări legislative

Întrebări Frecvente (FAQ)

Ce se întâmplă dacă nu transmit factura în termen?

Riscați amendă între 1.000 și 10.000 lei, în funcție de categoria de contribuabil. Amenda se aplică per factură netransmisă.

Pot folosi în continuare facturi pe hârtie?

Facturile pe hârtie nu mai sunt valide pentru deducerea cheltuielilor în relația B2B. Clientul are nevoie de factura din RO e-Factura pentru a-și deduce TVA-ul.

Cum primesc facturile de la furnizori?

Facturile primite apar în SPV, în secțiunea "Mesaje primite". Trebuie să le descărcați și arhivați, deoarece ANAF le păstrează doar 60 de zile.

Trebuie să păstrez și factura PDF?

Fișierul XML din RO e-Factura este documentul fiscal oficial. PDF-ul este doar pentru vizualizare. Păstrați XML-ul pentru conformitate.

Ce fac dacă am erori la validare?

Verificați XML-ul cu validatorul ANAF online, corectați erorile raportate și retransmiteți. Erorile comune sunt: CUI invalid, câmpuri lipsă, format dată incorect.

Pot anula o factură transmisă?

Nu puteți anula o factură în sistem. Trebuie să emiteți o notă de credit (storno) care se transmite tot prin RO e-Factura.


Resurse Oficiale


Cum Te Poate Ajuta UP2DATE SOFTWARE

La UP2DATE SOFTWARE, oferim soluții complete pentru integrarea cu sistemul RO e-Factura:

Servicii disponibile:

  1. Integrare API e-Factura - conectăm ERP-ul sau sistemul tău de facturare direct la ANAF
  2. Generare automată XML UBL - transformăm facturile tale în format e-Factura
  3. Dashboard monitorizare - vezi starea facturilor, erori, confirmări
  4. Automatizare completă - de la emitere la confirmare, fără intervenție manuală
  5. Consultanță tehnică - alegem cea mai bună soluție pentru business-ul tău

De ce să lucrezi cu noi:

  • Experiență în integrări API complexe
  • Înțelegem atât partea tehnică, cât și cerințele fiscale
  • Suport continuu și actualizări la schimbări legislative
  • Implementare rapidă (2-4 săptămâni)

Solicită o consultație gratuită pentru integrare e-Factura →


UP2DATE Software – Partener pentru digitalizarea business-ului tău

Ghid actualizat: Ianuarie 2026

Etichete

e-FacturaANAFfacturare electronicăXML UBLintegrare APISPVdigitalizare
UP

Echipa UP2DATE Software

Companie de dezvoltare software din România cu experiență în aplicații mobile, aplicații web și automatizări AI pentru business.

Integrare e-Factura ANAF: Ghid Complet pentru Companii | UP2DATE | UP2DATE SOFTWARE