Raportare ANAF — JE, MF, P7B și stările depunerii
Legislația fiscală din România cere ca fiecare AMEF (aparat de marcat electronic fiscal) să păstreze o trasabilitate structurată a fiecărei operațiuni și a fiecărei închideri zilnice și să o pună la dispoziția ANAF. e-bon construiește cele două artefacte ANAF — XML-ul Jurnal Electronic (JE) și arhiva Memorie Fiscală (MF) — direct din bonurile fiscale și rapoartele Z deja înregistrate de aparatele dumneavoastră.
Apoi semnați fiecare fișier cu certificatul electronic calificat și îl depuneți prin Spațiul Privat Virtual (SPV) la anaf.ro.
Înțelegeți cele patru tipuri de raport
| Raport | Ce este | Se depune la ANAF? |
|---|---|---|
| Raport X | Instantaneu de tură — doar citire, nu închide ziua | Nu |
| Raport Z | Închidere fiscală de zi — irevocabilă, sursă de adevăr pentru ziua respectivă | Nu (rămâne în memoria fiscală; alimentează MF) |
| Jurnal Electronic (JE) | XML lunar cu fiecare operațiune fiscală a unui aparat | Da — se depune prin SPV |
| Memorie Fiscală (MF) | Arhivă cu fiecare închidere Z a unui aparat | Da — se depune prin SPV |
Raportul X este pur operațional — util casierului, nu se trimite nicăieri. Raportul Z este sursa de adevăr a zilei și alimentează MF. JE conține detaliul pe operațiune; MF conține rezumatul pe închidere. Atât JE cât și MF sunt obligații ale operatorului față de ANAF.
Generați XML-ul JE
Jurnalul Electronic este un document XML lunar care conține fiecare operațiune fiscală efectuată de un aparat. e-bon îl asamblează din bonurile și rapoartele dumneavoastră pentru perioada cerută.
Cereți XML-ul pentru un aparat și o perioadă:
GET /api/v1/reports/je/xml?deviceId={deviceId}&periodStart={data-iso}&periodEnd={data-iso}
Răspunsul este documentul JE cu elementul rădăcină <JurnalElectronic xmlns="urn:anaf:je:v1" versiune="1.0">, gata de semnat.
Citiți tipurile de operațiuni din XML
Fiecare operațiune fiscală apare ca un element <Operatiune>. Câmpul <Tip> poartă eticheta ANAF în limba română:
| Operațiune | Etichetă ANAF |
|---|---|
| Bon fiscal | bon_fiscal |
| Raport X | raport_x |
| Raport Z | raport_z |
| Alimentare numerar | alimentare_numerar |
| Retragere numerar | retragere_numerar |
| Anulare | anulare |
Fiecare intrare include și data și ora, seria fiscală, ID-ul bonului sau al raportului, suma cu două zecimale, operatorul, opțional codul QR și opțional descompunerea VAT pe cote.
Generați arhiva MF
Memoria Fiscală arhivează fiecare închidere Z a unui aparat dintr-o perioadă, cu un total general cumulat pe care ANAF se așteaptă să-l regăsească egal cu rulajul total al aparatului.
Cereți arhiva:
GET /api/v1/reports/mf?deviceId={deviceId}&periodStart={data-iso}&periodEnd={data-iso}
Fiecare raport Z din arhivă conține:
- Numărul raportului Z și data închiderii
- Seria fiscală a aparatului
- Vânzări totale, stornări totale, suma netă a zilei
- Numărul de bonuri și descompunerea VAT pe cote
- Total general cumulat —
netAmountcumulat pe toate rapoartele Z de la începutul perioadei până la închiderea respectivă
Totalul general al ultimei intrări este egal cu totalul general la nivel de document — exact ce așteaptă ANAF de la o citire de memorie fiscală.
Semnați cu certificatul P7B
ANAF cere ca XML-ul JE să fie împachetat într-o semnătură detașată PKCS#7 / CAdES-BES cu extensia .p7b. Semnătura trebuie produsă cu certificatul calificat al reprezentantului legal — de regulă un token criptografic USB sau un serviciu calificat de semnare la distanță.
.p7b, apoi atașați-l la înregistrarea depunerii în e-bon.Urmăriți cele patru stări ale depunerii
Când înregistrați o depunere JE sau MF în e-bon, câmpul anafStatus acceptă una dintre patru valori:
pending— depunerea a fost creată și este în așteptare sau în curs; ANAF nu a returnat încă o decizie finală.accepted— ANAF a primit și a acceptat depunerea; obligația pentru perioadă este îndeplinită.rejected— ANAF a primit depunerea dar a respins-o; trebuie corectată și retrimisă. Vezi depanare respingere ANAF.error— depunerea a eșuat înainte de o decizie finală a ANAF (eroare de transport, plic malformat, problemă de certificat); este nevoie de o nouă încercare.
Lăsați anafStatus nesetat până aveți o stare reală de înregistrat. Boolean-ul însoțitor submittedToAnaf marchează dacă ați depus efectiv fișierul în SPV.
Parcurgeți fluxul complet de depunere
Închideți ziua pe fiecare aparat
Fiecare aparat închide ziua cu un raport Z:
POST /api/v1/reports/z
Rapoartele Z sunt sursa de adevăr din care se construiesc atât JE cât și MF.
Generați XML-ul JE la sfârșit de lună
GET /api/v1/reports/je/xml?deviceId={deviceId}&periodStart={data-iso}&periodEnd={data-iso}
Salvați răspunsul ca JE_{cui}_{perioada}.xml.
Semnați XML-ul într-un fișier .p7b
Predați XML-ul către tokenul USB sau către serviciul calificat de semnare. Rezultatul este un fișier .p7b PKCS#7 / CAdES-BES detașat care acoperă XML-ul octet cu octet.
Depuneți fișierul în SPV
Autentificați-vă în Spațiul Privat Virtual și depuneți XML-ul împreună cu semnătura .p7b. ANAF returnează o recipisă după ce acceptă sau respinge fișierul.
Înregistrați depunerea în e-bon
POST /api/v1/reports/je
{
"deviceId": "...",
"xmlContent": "<JurnalElectronic ...>...</JurnalElectronic>",
"p7bSignature": "<P7B în base64>",
"reportDate": "2026-04-30",
"submittedToAnaf": true,
"anafStatus": "accepted"
}
p7bSignature și anafStatus sunt opționale — completați-le după ce aveți răspunsul ANAF.
Repetați pentru MF
GET /api/v1/reports/mf?deviceId={deviceId}&periodStart={data-iso}&periodEnd={data-iso}
POST /api/v1/reports/mf
Fluxul MF urmează același tipar ca JE: generați, semnați, depuneți în SPV, apoi înregistrați depunerea în e-bon cu starea rezultată.
Continuați cu ghiduri conexe
Declarația F4109 — AMEF neutilizate
Când o AMEF emite zero bonuri fiscale într-o lună calendaristică, trebuie depusă declarația F4109 la ANAF până pe data de 20 a lunii următoare.
Conformitate GDPR
Cum prelucrează e-bon (Crisposoft SRL) datele personale conform GDPR — operatorul de date, drepturile tale, scopurile prelucrării și cum ți le exerciți.