e-bon
e-bon.ro
Portal

Bon nou

Emite un bon fiscal direct din Portalul e-bon — alege un dispozitiv conectat, compune bonul în browser și urmărește live statusul printării.

Pagina Bon nou îți permite, ca operator, să compui și să printezi un bon fiscal direct din back-office, fără să folosești aplicația Android. Alegi un dispozitiv conectat, adaugi articolele și plățile, apeși Printează bon, iar bonul este trimis la imprimantă prin conexiunea cu cloud-ul.

Folosește pagina când nu ai telefonul la îndemână, când vrei să emiți mai multe bonuri la rând de la birou sau când îți testezi integrarea cap-la-cap.

Deschide pagina

Din lista Bonuri, apasă + Nou în colțul din dreapta sus. Formularul se deschide la /portal/receipts/new.

Poți și să salvezi URL-ul ca favorit — nu sunt necesari parametri.

Alege dispozitivul țintă

Bara laterală din dreapta listează toate imprimantele revendicate de organizația ta, împreună cu statusul lor live.

Un dispozitiv poate fi selectat doar dacă este online și are un controller alocat. Dispozitivele care nu îndeplinesc una dintre condiții apar totuși în dropdown, dar sunt dezactivate, cu un badge care explică motivul:

  • Offline — imprimanta nu este accesibilă.
  • Deconectat de la WebSocket — controllerul și-a pierdut conexiunea live cu cloud-ul.
  • Ocupat — pe dispozitiv rulează deja o altă comandă.
  • Status de eroare — imprimanta a raportat o eroare hardware sau fiscală.
  • Niciun controller alocat — niciun controller nu a revendicat încă dispozitivul.
Niciun dispozitiv în listă? Deschide Dispozitive și asociază mai întâi o imprimantă. Dacă toate dispozitivele sunt offline, așteaptă reconectarea controllerului — dropdown-ul se actualizează live.

Compune bonul

Alege tipul de bon

Alege una dintre opțiuni:

  • Vânzare (Sale) — bon de vânzare normal (implicit).
  • Restituire (Refund) — restituire pentru o vânzare anterioară.
  • Storno — anularea unei vânzări anterioare.

Formularul arată la fel pentru toate trei; cloud-ul rutează diferit fiecare tip către AMEF.

Adaugă articole

Fiecare rând reprezintă o linie pe bon:

CâmpNotă
DenumireText liber, obligatoriu.
CantitateTrebuie să fie pozitivă.
PrețPreț per unitate, cu TVA inclus (convenția fiscală din România).
Cotă TVAAlege una dintre cotele legale (0%, 5%, 9%, 19%).
DepartamentIndexul departamentului pe imprimantă.
DiscountOpțional, se aplică pe linie.

Apasă + Adaugă articol pentru un rând nou sau pictograma de coș pentru a-l elimina. Există întotdeauna cel puțin un rând — ultimul nu poate fi șters, doar golit.

TVA-ul se extrage, nu se adaugă. Prețul pe care îl scrii pe linie include deja TVA-ul. Defalcarea afișată în josul formularului scoate suma de TVA din fiecare linie la cota declarată. Așa așteaptă datele orice imprimantă fiscală din România.

Adaugă plăți

Fiecare rând de plată stabilește o metodă și o sumă:

  • Numerar (Cash)
  • Card
  • Tichet (Voucher)
  • Credit
  • Altă metodă (Other)

Împarte un bon pe mai multe metode adăugând mai multe rânduri (de exemplu, 50 RON numerar + 30 RON card). Suma plăților trebuie să fie egală exact cu totalul bonului — formularul nu acceptă o nepotrivire.

Verifică totalurile

Formularul afișează totalul curent și o defalcare TVA pe cote, pe măsură ce tastezi. Ambele sunt recalculate de cloud la printare, așa că nu trebuie să rotunjești manual.

Printează bonul

Când formularul este valid, apasă Printează bon.

Se rulează validarea

Formularul verifică dacă fiecare articol are denumire, cantitate și o cotă TVA validă și dacă suma plăților este egală cu totalul. Dacă ceva nu este în regulă, câmpul respectiv este evidențiat și un toast îți spune ce trebuie corectat.

Comanda este expediată

Bonul este trimis către cloud, care îl transmite controllerului dispozitivului ales. Pe durata acestui proces, formularul și selectorul de dispozitiv sunt blocate, ca să nu poți emite un al doilea bon din greșeală.

Apare badge-ul de status

Sub selectorul de dispozitiv apare un badge:

  • În așteptare — bonul este pe drum spre imprimantă.
  • Acceptat — imprimanta a confirmat emiterea bonului. Badge-ul dispare după câteva secunde.
  • Respins — ceva nu a funcționat. Mesajul de eroare apare pe badge și într-un toast.

Formularul se deblochează

Imediat ce imprimanta confirmă bonul (acceptat sau respins), formularul se deblochează și poți emite următorul.

Formularul nu se resetează la succes. Articolele și plățile rămân pe loc, ca să poți ajusta un câmp și retrimite, sau să cureți rândurile manual. Nu există un buton „Resetează".

Rezolvă erorile frecvente

SimptomCe să verifici
Toast Niciun dispozitiv selectatAlege un dispozitiv din bara laterală înainte să apeși Printează bon.
Toast Plățile nu corespund totaluluiAjustează sumele plăților ca să fie exact cât totalul bonului.
Badge-ul rămâne În așteptare mai mult de un minutProbabil imprimanta a căzut offline în timpul printării. Reîncarcă pagina și verifică Dispozitive.
Badge-ul afișează Respins cu un mesaj hardwareCitește mesajul de pe imprimantă (lipsă hârtie, sertar deschis, raport Z neînchis etc.) și încearcă din nou.
Formularul rămâne blocat și nu poți editaO comandă anterioară este încă în așteptare. Așteaptă până dispare badge-ul sau reîncarcă pagina.

Cunoaște limitele

  • Un singur dispozitiv pe bon. Nu poți trimite același bon către mai multe imprimante simultan din formular.
  • Doar online. Portalul are nevoie de conexiune la rețea ca să printeze. Pentru vânzări offline, folosește aplicația Android — pune bonurile în coadă local și le sincronizează la reconectare.
  • Fără ciorne. Închiderea tab-ului sau reîncărcarea paginii golește formularul. Tot ce nu ai printat se pierde.
  • Doar bonuri anonime. Formularul din Portal nu expune câmpuri pentru client sau CIF. Pentru un bon nominal cu CIF, apelează API-ul direct (vezi mai jos).
  • Reduceri pe întreg bonul nu sunt suportate din formular. Aplică reducerile pe linie.
  • Fără expediere programată. Bonurile se printează imediat la apăsarea butonului.

Trimite bonuri din propriul tău software

Tot ce face pagina Bon nou este disponibil și prin API-ul HTTP e-bon. Pentru a emite bonuri din POS-ul, ERP-ul sau scripturile tale, trimite o comandă print_receipt către dispozitiv:

POST /api/v1/devices/{deviceId}/commands
Authorization: Bearer <token-api>
Idempotency-Key: <cheie-unică-per-bon>
Content-Type: application/json

{
  "type": "print_receipt",
  "payload": {
    "type": "sale",
    "operatorId": "1",
    "items": [
      { "name": "Cafea", "quantity": 2, "price": 12.50, "vatRate": 19, "department": 0 }
    ],
    "payments": [
      { "method": "card", "amount": 25.00 }
    ]
  }
}

Cloud-ul validează payload-ul, recalculează totalurile și defalcarea TVA pe server și transmite comanda controllerului. Aceleași reguli de idempotență, validare și evenimente de status se aplică indiferent dacă cererea vine din Portal, din aplicația Android sau din propria ta integrare.

Vezi /api/receipts pentru referința completă a payload-ului, Idempotență pentru comportamentul la reîncercare și WebSocket de evenimente pentru a primi statusul comenzilor în propria ta interfață.

Continuă explorarea

  • Bonuri — răsfoiește, filtrează și inspectează bonurile anterioare.
  • Dispozitive — asociază imprimante și verifică statusul lor live.
  • Operațiuni fiscale — rulează rapoarte X/Z, încasări și retrageri din Portal.
  • /api/receipts — emite bonuri programatic din propriul tău software.