e-Factura SFS

Ce facem

Integrare nativă cu SFS Moldova pentru întregul ciclu de viață al unei e-Facturi:

Adaugă produsele
    ↓
DRAFT (factură pregătită local)
    ↓
SIGN (semnată cu certificatul tău digital)
    ↓
POST (trimisă oficial la SFS, primește RID)
    ↓
ACCEPT / REJECT (cumpărătorul decide)
    ↓
ARCHIVE (factură finalizată, în arhivele tale)

Tot acest ciclu se desfășoară în interfața noastră — nu mai intri vreodată în portalul SFS.

Capabilități

Emitere

Validări automate

Autentificare la API e-Factura SFS

Trimitere și urmărire

Statusuri urmărite

Statusurile invoice-urilor vin direct de la API-ul SFS (codurile numerice oficiale + label-uri semantice). Nu inventăm statusuri suplimentare local. Vezi Search invoices pentru filtrare pe status.
Categorii de status vizibile în UI: pending (așteaptă acțiune), accepted (confirmat), rejected (refuzat), cancelled (anulat). Statusul brut + label semantic apar în coloane separate în tabelă.

Exemple de utilizare

Vânzare B2B într-un magazin retail

Vezi e-Factura B2B detaliat. Workflow standard:

  1. Casierul scanează produsele.
  2. Cumpărătorul cere factură → casierul scanează / tastează IDNO.
  3. Sistemul completează automat datele firmei.
  4. Confirmă → 5 secunde → factură oficială SFS.

Emitere bulk (la final de zi) — ⚙️ la cerere

Scenariul de emitere batch (semnare + post 50/100/500 facturi într-un flux) nu e accesibil în mod implicit la moment. Cache-management-ul aplicației oferă batch-fetch (sincronizare batch a facturilor deja emise pentru cache local), dar nu batch-emit. Implementarea automatizării end-of-day = ⚙️ ofertată individual ca customizare.

Factură generată din comandă online

Comanda venită prin e-commerce → cumpărător marchează "vreau factură" + introduce IDNO → la finalul comenzii (după plată confirmată), sistemul emite automat factura, o trimite pe e-mail cumpărătorului.

Depozitare arhive

Cache-ul nostru include facturile emise (XML semnat + PDF generat pentru lectură umană):

Performanță

Volume suportate:

Timp emitere per factură: 1-5 secunde tipic.

Cazuri de gestionare avansate

Re-emitere după rejection

SFS sau cumpărătorul refuză factura cu motiv specific → sistemul:

  1. Afișează motivul clar (în română).
  2. Te conduce la câmpul problematic.
  3. Cu un click "Corectează + re-trimite", reia fluxul de la semnare.

Anulare după acceptare (storno e-Factura) — semi-asistat

Conform procedurii SFS:

  1. Identifici factura emisă (după număr / dată / cumpărător).
  2. Atingi "Storno" → alegi tipul (total / parțial).
  3. Sistemul ghidează generarea facturii de storno (sumă negativă, mapare la factura originală).
  4. Trimiterea către API e-Factura SFS se face cu credențialele tale user-api e-Factura — flux semi-asistat (sistemul orchestrează, autentificarea folosește credențialele tale).
  5. SFS validează → ambele facturi (originală + storno) sunt în arhiva oficială SFS; cache-ul nostru se actualizează corespunzător.

Operator care emite din greșeală

Dacă un casier emite o factură pe IDNO greșit:

  1. Detectează imediat (verificare după acceptance).
  2. Inițiază storno cu motiv "eroare IDNO" + emite nouă pe IDNO corect.
  3. Cumpărătorul primește notificare clară (factura veche anulată, factura nouă în loc).

Audit complet

Fiecare emitere logează:

Inalterabil — pentru audit / dispută.

Tur vizual — e-Factura webapp

Aplicația e-Factura webapp e interfața directă cu API-ul SFS pentru operator. Fluxul general: pornești, alegi identitatea (contul user-api cu care emiți/citești), apoi ai acces la meniul principal cu toate operațiunile disponibile pentru acel actor.

Notă privacy: în capturile de mai jos IDNO-urile reale + numele companiilor apar blur-uite intenționat (privacy demo). În sistem real, operatorul vede text clar.

Pick-identity — alege identitatea

Când deschizi aplicația, primul pas e să alegi identitatea (contul user-api generat în portalul SFS). Fiecare identitate are propriul rate limit (0 / 5000 calls/h) și lista de IDNO-uri asociate (o identitate poate reprezenta mai multe entități fiscale).
Pick-identity overview

Header buttons

Identity card structure

Use IDNO button

Apply button

IDNO chip structure

Menu principal — 10 module

După selectarea identității, meniul principal expune modulele API disponibile pentru acel actor:

Menu principal cu 10 module

Search invoices — filtre + tabelă rezultat

Cel mai folosit view după setup — form comprehensive pentru găsirea invoice-urilor:

Search invoices form

Notă: tabela e goală în captură pentru că nu s-a apăsat încă "Search" (button verde). După apăsare, rezultatele apar în tabelă cu paginare + sortare.

E2E — apasă Search + listare invoice-uri

După ce filtrele sunt setate (ex: date range de 90 zile) și se apasă butonul verde 🔍 Search, tabela se populează cu rezultate reale de la API SFS. Cache-ul local se actualizează cu invoice-urile aduse.
Pas 1 — Menu (identity blur-uit)
Pas 2 — Search form gol (înainte de setări)
Pas 3 — Search form cu ISSUED ON populat (interval 90 zile)
Pas 4 — Rezultate: 3 invoice-uri returnate (IDX 1-3, Status Success, InvoiceStatus SentToBuyer, Cache UNCACHED)
Pas 5 — Highlight pe primul rând (structura row)
Notă privacy: coloanele SUPPLIER / BUYER rămân goale în captură pentru că invoice-urile sunt încă UNCACHED (nu s-au adus detaliile XML). După ce se rulează Sync unsynced din Invoice cache, aceste coloane se populează cu numele companiilor.

E2E — vizualizare detaliu invoice

Click pe butonul din stânga rândului expandează rândul cu detaliul complet al invoice-ului: metadata (Seria, Number, Status, TimeStamp, InvoiceStatus, Xml size) + preview XML/PDF cu structura fiscală (FURNIZOR, CUMPĂRĂTOR, IDNO-uri, adrese, IBAN, Bănci, linii, totaluri).
Butoane disponibile per invoice:

Pas 1 — Cursor pe butonul ▶ (expand row)
Pas 2 — Detail view deschis (loading)
Pas 3 — Detail view populat: metadata + FACTURĂ FISCALĂ preview (nume companii + IDNO-uri + adrese + IBAN blur-uite pentru privacy)
Pas 4 — Scroll în detail view: LOC ÎNCĂRCARE / LOC DESCĂRCARE, tabel linii (COD, DENUMIRE, UM, CANTITATE, PREȚ UNIT., SUMĂ FĂRĂ TVA, TVA%, SUMĂ TVA, TOTAL) + footer SUBTOTAL/TVA/TOTAL DE PLATĂ + notă XAdES signatures

E2E — Invoice cache management

Modulul Invoice cache din meniu deschide cache management-ul local. Cache-ul stochează XML-urile invoice-urilor aduse de la SFS pentru consultare rapidă offline (dashboard, rapoarte, audit intern) fără roundtrip la SFS pentru fiecare vizualizare.
Pas 1 — Cursor pe cardul Invoice cache

Pas 2 — Cache view populat cu stats reale (1 cached, 0 unsynced, 6/5000 API calls, Buyer role)
Pas 3 — Cursor pe 🔄 Sync unsynced (butonul principal de batch-fetch)

E2E — Test connection (ping SFS)

Modulul Test connection trimite un ping simplu la SFS pentru validarea că serverul răspunde și identitatea funcționează. Util ca prim pas la troubleshooting sau după activare identitate nouă.
Pas 1 — Cursor pe cardul Test connection
Pas 2 — Test connection view: MESSAGE input cu default "ping from front-end" + buton Send Test
După apăsare Send Test, serverul răspunde cu textul echo-uit + timestamp — util pentru latency check + validare fault de rețea.

E2E — Taxpayer lookup

Modulul Taxpayer lookup interoghează SFS pentru date despre unul sau mai multe IDNO-uri. Util pentru:

Pas 3 — Cursor pe cardul Taxpayer lookup
Pas 4 — Form: FISCAL CODES textarea (unul per linie sau comma-separated) + buton Lookup
Pas 5 — Rezultat: tabel cu IDX, IDNO, NAME, ADDRESS, CODTVA, TYPE, E-FACTURA ACTOR, IN TAX REGISTRY (blur pe date reale pentru privacy)

Următorul pas

Imprimante fiscale sau Notificări.