e-bon
e-bon.ro
Portal

Operațiuni fiscale

Ghid în limbaj clar despre bonuri fiscale, rapoarte X și Z, artefacte ANAF, operațiuni de numerar și storno-uri — și unde le gestionezi în e-bon.

Operațiuni fiscale

Această pagină este harta antreprenorului peste fiecare operațiune fiscală pe care o execută o casă de marcat (AMEF) și locul unde o gestionezi în e-bon. Este ce și de ce — pentru cum (butoanele din portal), fiecare secțiune trimite către ghidul de portal corespunzător.

Dacă ești integrator și cauți semnăturile endpoint-urilor, mergi direct la referința API — aceleași operațiuni sunt expuse și acolo.

e-bon nu înlocuiește AMEF-ul. Casa de marcat rămâne sursa legală a adevărului: ea ține memoria fiscală, tipărește bonurile pe hârtie și semnează jurnalul pe care îl așteaptă ANAF. e-bon este telecomanda și raftul de audit din jurul ei.

Bonuri

Un bon fiscal este un document fiscal tipărit de AMEF și înregistrat în memoria sa fiscală. Odată tipărit, nu mai poate fi modificat; singura cale de a-l anula este un storno (vezi mai jos). Există trei tipuri în e-bon, fiecare pentru o situație legală diferită:

  • Bon fiscal (Vânzare) — o vânzare obișnuită. Fiecare linie are un nume, o cantitate, un preț unitar, o cotă TVA și un discount opțional. Plata se împarte pe una sau mai multe metode (Numerar, Card, Voucher). AMEF-ul atribuie un număr fiscal unic (Unique Sale Number, USN) și incrementează contoarele zilei.
  • Bon nefiscal — un document cu text liber folosit pentru lucruri care nu sunt vânzări (o ofertă, o notă internă, un antet pentru un bon fiscal). Nu atinge memoria fiscală și ANAF nu îl vede niciodată.
  • Storno — un document fiscal care anulează o vânzare emisă anterior. Se tipărește pe AMEF, referențiază coordonatele bonului original și apare la ANAF ca o înregistrare negativă față de original. Storno este descris în Anulări și storno-uri mai jos.

TVA-ul se aplică pe linie, la cota configurată pe AMEF (legea fiscală română folosește în prezent cotele 19%, 9%, 5% și 0%; portalul e-bon nu impune o listă — acceptă orice cotă suportată de aparat). Modul de detalii al bonului în portal arată defalcarea TVA pe cote, plățile pe metodă și subtotalul pe linie cu discount-urile deja aplicate.

Ghidul complet de portal pentru lista bonurilor, filtre, fluxul de emitere manuală și fereastra de storno este în Bonuri. Endpoint-urile pentru integratori (GET /api/v1/receipts, POST /api/v1/receipts, POST /api/v1/devices/:id/reversal) sunt documentate în referința API pentru bonuri.

Rapoarte X și Z

Două rapoarte rulează în fiecare zi fiscală și fac lucruri foarte diferite.

Raport X este un instantaneu în cursul zilei, doar pentru citire. Rularea unui raport X nu atinge memoria fiscală și nu mută niciun contor; doar tipărește totalurile zilei până în acel moment. Poți rula oricâte rapoarte X pe zi — folosirea tipică este o predare-primire între operatori sau o reconciliere la mijlocul turei.

Raport Z este închiderea fiscală a zilei. Rularea unui raport Z incrementează contorul de resetare al aparatului, blochează totalurile zilei în memoria fiscală și deschide o nouă zi fiscală pe AMEF. Trebuie să emiți exact un raport Z pentru fiecare zi în care AMEF-ul a avut vânzări, iar Z-ul este documentul pe care ți-l vor cere un inspector sau contabilul.

Aceasta va închide ziua fiscală. Acțiunea nu poate fi anulată. Sunteți sigur? — acesta este textul exact pe care îl arată portalul înainte de a trimite un raport Z. Declanșarea unui Z în mijlocul zilei închide ziua pe acel AMEF și începe una nouă. Nu rula un Z dacă nu vrei să închizi efectiv ziua fiscală.

Poți declanșa un raport X sau Z la distanță din portal — nu este nevoie să mergi la casa de marcat. Procedura completă (rândul de filtre, fereastra Generează raport, comportamentul când dispozitivul este offline) este documentată în Rapoarte — Declanșarea unui raport. Ambele rapoarte produc o linie în tab-ul corespunzător de îndată ce dispozitivul confirmă.

Legea fiscală română cere un raport Z pentru fiecare zi fiscală în care a fost folosit aparatul; cadența și consecințele unui Z lipsă sunt definite de ANAF. e-bon emite o alertă raport Z întârziat pentru un dispozitiv care a avut vânzări dar nu a închis ziua — vezi Notificări. Pentru textul legal și actualizări, consultă referința oficială ANAF la https://www.anaf.ro.

Raportare ANAF (MF, JE, P7B)

Pe lângă bonuri și rapoarte Z, fiecare AMEF mai produce trei artefacte. e-bon le colectează ca să fie auditabile din portal și interogabile prin API.

  • MF — Memorie Fiscală. O arhivă periodică a conținutului memoriei fiscale. Captează totalurile cumulative stocate în interiorul AMEF-ului pentru o perioadă (în mod obișnuit o lună calendaristică sau un interval de date pe care îl specifici). Înregistrările MF au o dată de arhivare și un termen de expirare pentru a ști când urmează următoarea.
  • JE — Jurnal Electronic. Jurnalul electronic zilnic: un document XML structurat pe care aparatul îl produce pentru fiecare zi fiscală, listând fiecare bon și raport. JE este ceea ce citește efectiv ANAF.
  • P7B. O semnătură digitală PKCS#7 care învelește XML-ul JE. Semnătura demonstrează că jurnalul provine de la un AMEF certificat anume și că nu a fost modificat în tranzit. ANAF verifică P7B-ul înainte de a accepta JE.

Fluxul de date este: AMEF-ul produce XML-ul JE, iar aplicația de control instalată local lângă dispozitiv îl semnează într-un P7B; API-ul e-bon stochează XML-ul și semnătura și urmărește statusul transmiterii la ANAF; portalul îți permite să inspectezi fiecare înregistrare și să descarci artefactele. Statusul de transmitere revine ca În așteptare, Acceptat, Respins sau Eroare.

Pentru a verifica transmiterile sau a descărca artefactele:

  • Din portal — folosește tab-urile Rapoarte MF și Rapoarte JE din Rapoarte. Modal-ul de detalii JE arată XML-ul complet și semnătura P7B exact așa cum le-a primit ANAF.
  • Din APIGET /api/v1/reports/mf, GET /api/v1/reports/je și GET /api/v1/reports/je/:deviceId/xml întorc aceleași date programatic. Vezi referința API pentru rapoarte.
ANAF definește cadența de transmitere și termenele pentru artefactele fiscale; aceste reguli se schimbă în timp. Tratează referința oficială ANAF de la https://www.anaf.ro ca sursă canonică, iar atunci când o transmitere este refuzată folosește ghidul de depanare pentru respingeri ANAF.
ANAF e-Factura (facturare electronică pentru B2B/B2G) este un sistem ANAF separat, nu face parte din raportarea casei de marcat. MF/JE/P7B vin de la AMEF; e-Factura se aplică facturilor, nu bonurilor.

Operațiuni de numerar

AMEF-ul ține evidența numerarului din sertar independent de POS-ul tău. Casa de marcat trebuie să știe cât numerar fizic se află în casă în orice moment, ca să poată reconcilia linia numerar declarat vs numerar încasat de pe raportul Z. Două operațiuni mută acest sold fără a tipări o vânzare:

  • Depunere numerar (cash-in) — bani introduși în sertar care nu sunt o vânzare: fond de început de tură, mărunțiș adus din casa de bani, un operator care suplimentează casa.
  • Ridicare numerar / Retragere numerar (cash-out) — bani scoși din sertar care nu sunt un retur: ridicarea de la sfârșitul zilei, transferul în casa de bani, plata unui furnizor cash din casă.

Ambele se înregistrează pe AMEF și alimentează linia Sold numerar de pe următorul raport Z. Din pagina de detalii a dispozitivului în portal, cardul Gestiune numerar expune trei butoane — Depunere numerar, Ridicare numerar și Sold numerar (pentru a reîmprospăta soldul în timp real). Fiecare operațiune cere o sumă și o descriere opțională.

O operațiune de numerar pe AMEF nu este o vânzare fiscală și nu înlocuiește una. Folosește cash-in/cash-out doar pentru fond și pentru mișcările care nu sunt vânzări. A vinde ceva cu numerar și a înregistra alături o depunere de numerar ascunde vânzarea de memoria fiscală — exact lucrul pe care îl caută o inspecție.
Operațiunile de numerar sunt expuse și ca comenzi în API: cash_in și cash_out în Comenzi de dispozitiv, iar soldul în timp real este disponibil la GET /api/v1/devices/:id/cash-balance.

Anulări și storno-uri (Storno)

Există două moduri distincte de a anula un bon, iar ele nu sunt interschimbabile.

Void (void_receipt) se aplică înainte de fiscalizare — cât timp bonul este încă deschis pe AMEF și nu a fost finalizat. Liniile nu au fost încă scrise în memoria fiscală, deci void-ul pur și simplu le aruncă. Odată ce AMEF-ul taie hârtia și scrie bonul în memorie, void nu mai este o opțiune.

Storno se aplică după fiscalizare — când bonul este deja în memoria fiscală și trebuie anulat. Un storno este un document fiscal real, separat, care se tipărește pe AMEF, referențiază bonul original și înregistrează valori egale și opuse pe totaluri. Atât originalul cât și storno-ul rămân în memoria fiscală; ANAF le vede pe amândouă și le potrivește prin coordonatele originalului.

Modal-ul de storno din portal colectează exact coordonatele de care AMEF-ul are nevoie pentru a lega anularea de vânzarea originală:

  • MotivEroare operator, Retur sau Reducere bază impozabilă (cele trei motive recunoscute de legea fiscală română pentru un storno).
  • Număr bon original — ID-ul fiscal tipărit pe original.
  • Data/ora bon original — momentul fiscalizării bonului original.
  • Numărul de serie al memoriei fiscale — seria memoriei fiscale a AMEF-ului care a emis originalul.
  • Număr unic de vânzare (USN) — numărul fiscal unic al bonului original.
  • Număr raport Z original (opțional) — completează-l atunci când storno-ul traversează granița unui raport Z, adică ziua vânzării originale a fost deja închisă.
  • Articole și Plăți — precompletate din original; ajustează-le dacă reversezi doar o parte din bon.
Storno poate fi emis după ce ziua a fost închisă — exact pentru asta există câmpul Număr raport Z original. Void nu poate: odată ce bonul este fiscalizat trebuie să folosești storno. Storno-ul este el însuși un document fiscal, deci asigură-te că originalul chiar trebuie anulat înainte de a tipări.

Pașii compleți (unde se află butonul Storno, selectarea dispozitivului, comportamentul când dispozitivul este offline) sunt în Bonuri — Storno. Endpoint-ul API corespunzător este POST /api/v1/devices/:deviceId/reversal — vezi Comenzi de dispozitiv și API pentru bonuri.

Ce urmează