Integrări

e-Factura direct din magazinul tău

Comanda devine factură, factura ajunge în SPV. Fără export-import, fără copiat date de client, fără o a doua aplicație de deschis. Rambursarea devine storno.

Disponibil · v1.0.0

WooCommerce

Plugin gratuit: factură la comandă, trimitere în SPV, CUI la checkout, PDF în email, storno la rambursare.

În lucru

PrestaShop 8

Modul pe același contract API: hook pe schimbarea stării comenzii, CUI la adresă, coloană în comenzi.

În lucru

Magento 2

Extensie: observer pe plata facturii, configurare în Stores → Configuration, coloană în grid.

Disponibil

API REST

Chei Bearer, OpenAPI 3.1, idempotență la reîncercări, coduri de eroare stabile. Pentru orice platformă sau ERP.

Disponibil

Agenți AI

Ghid pentru ChatGPT Actions, Claude tool-use sau orice agent: llms.txt + exemple curl.

La cerere

Altă platformă?

Shopify, OpenCart, Gomag sau un ERP intern — scrie-ne la [email protected]. API-ul acoperă deja tot fluxul.

WooCommerce

ZUC e-Factura pentru WooCommerce

Pluginul leagă magazinul de contul tău ZUC.ro. Facturile se numerotează pe seria profilului de facturare ales, iar WooCommerce primește înapoi seria, numărul și indexul ANAF.

  • Factura se emite automat când comanda ajunge la statusul ales (În procesare / Finalizată) sau manual, dintr-un click în pagina comenzii.
  • Trimitere la ANAF e-Factura (SPV) imediat după emitere sau la cerere; indexul de încărcare apare pe comandă.
  • CUI și Reg. Com. la checkout, cu validarea cifrei de control; persoanele fizice fără CNP primesc identificatorul standard.
  • Storno la rambursare: rambursarea integrală (sau anularea, după setare) emite stornoul și, dacă factura e în SPV, îl trimite și pe el.
  • PDF-ul facturii atașat la emailurile comenzii și descărcabil din Contul meu; stornoul, la emailul de rambursare.
  • Coloană „e-Factura” în lista comenzilor, meta box cu status și acțiuni, reîncercare automată la erori trecătoare.
Descarcă v1.0.0
Fișier
zuc-efactura-1.0.0.zip
Mărime
22 KB
Publicat
12.09.2026
SHA-256
a1713159779f59f7…3c75bc8d

Ai nevoie de

  • WordPress 6.0+, WooCommerce 7.0+ (și HPOS), PHP 7.4+
  • Cont ZUC.ro cu planul Business (include API)
  • Autorizare ANAF (token SPV) făcută o dată în ZUC.ro

Licență GPL-2.0-or-later. Gratuit, fără limită de comenzi în plugin; limitele de facturi sunt cele ale planului ZUC.ro.

Cum arată

Setările pluginului: cheie API, test de conexiune, profil de facturare, status declanșator, storno automat
Setările pluginului: cheie API, test de conexiune, profil de facturare, status declanșator, storno automat
Pagina comenzii: meta box cu factura, stornoul și acțiunile; notele comenzii
Pagina comenzii: meta box cu factura, stornoul și acțiunile; notele comenzii
Checkout: câmpurile CUI / CIF și Nr. Reg. Com. sub adresa de facturare
Checkout: câmpurile CUI / CIF și Nr. Reg. Com. sub adresa de facturare
Lista comenzilor: coloana e-Factura cu factura, stornoul și starea trimiterii la ANAF
Lista comenzilor: coloana e-Factura cu factura, stornoul și starea trimiterii la ANAF

Instalare în 4 pași

  1. Instalează pluginul

    În WordPress: Module → Adaugă modul nou → Încarcă modul, alege zip-ul descărcat, apoi Activează. WooCommerce trebuie să fie deja activ.

  2. Generează o cheie API în ZUC.ro

    Setări Facturi → APICheie nouă, presetul „E-commerce” (facturi + clienți + produse; fără ștergere de cont). Copiază cheia — se afișează o singură dată.

  3. Configurează pluginul

    WooCommerce → Setări → ZUC e-Factura: lipește cheia, apasă Testează conexiunea (îți arată planul, mediul ANAF și dacă tokenul SPV e valid), Salvează, apoi alege profilul de facturare și statusul declanșator.

  4. Testează, apoi treci pe producție

    Cu mediul ANAF din contul ZUC.ro pe test, plasează o comandă și verifică factura în ZUC.ro. Când totul arată bine, comută mediul pe producție din Profil → Mediu ANAF. Pluginul nu are setare separată — folosește mediul activ al contului.

Setările pluginului

Cheie APICheia din ZUC.ro. Butonul Testează conexiunea verifică planul, mediul ANAF și tokenul SPV.
Profil de facturareSeria, adresa, IBAN-ul și logo-ul facturii vin din profil (lista se încarcă după ce salvezi cheia).
Emite factura la statusulÎn procesare (plata confirmată), Finalizată sau Doar manual.
Trimite automat la ANAFImediat după emitere, factura pleacă în SPV. Dezactivat, o trimiți din pagina comenzii sau din ZUC.ro.
Storno automat când comanda devineRambursată, Rambursată sau Anulată, sau Niciodată. Rambursările parțiale primesc doar o notă pe comandă — stornoul parțial se face din ZUC.ro.
PDF în emailul comenziiFactura la „Comandă în procesare / finalizată”, stornoul la „Comandă rambursată”.
Link în Contul meuClientul își descarcă factura (și stornoul) din lista comenzilor.
CUI obligatoriu pentru companiiDacă clientul completează „Companie”, CUI-ul devine obligatoriu și se validează cifra de control.
Denumirea liniei de transportCum apare costul livrării pe factură (implicit „Transport”).

Ce se întâmplă în spate

La comandă

Liniile comenzii (după discount), transportul și taxele devin linii de factură, cu cota de TVA calculată per linie. Clientul e recunoscut după CUI în lista ta din ZUC.ro (nu se creează dubluri); adresa din București devine SECTOR n / RO-B, cum cere ANAF. Fiecare comandă are o cheie de idempotență — o reîncercare nu emite a doua factură.

La rambursare

Rambursarea integrală emite factura storno (aceleași linii, cu minus). O factură are un singur storno; dacă l-ai emis deja din ZUC.ro, pluginul îl preia. Stornoul pleacă la ANAF doar dacă factura originală e în SPV.

La eroare

Mesajul apare ca notă pe comandă și în meta box („Ultima eroare”). Erorile trecătoare (rețea, ANAF indisponibil) se reîncearcă automat, orar, de cel mult 5 ori. Cele care cer intervenție (limita planului, CUI invalid, XML respins de ANAF) nu se reîncearcă — corectezi și apeși din nou.

Date și securitate

WordPress păstrează doar id-ul, seria/numărul și indexul ANAF pe comandă. PDF-urile se iau din ZUC.ro la cerere, nu se stochează în WordPress. Cheia API poate fi revocată oricând din ZUC.ro; presetul „E-commerce” nu poate șterge contul sau firma.

Întrebări frecvente

Facturile se numerotează în WooCommerce sau în ZUC.ro?

În ZUC.ro, pe seria profilului de facturare ales. Așa numerotarea rămâne continuă și dacă emiți facturi și din aplicație sau din API.

Ce se întâmplă dacă ANAF respinge factura?

Comanda primește o notă cu mesajele validatorului ANAF, iar în meta box vezi „Ultima eroare”. De obicei e o adresă incompletă sau un județ lipsă: corectezi datele clientului în ZUC.ro sau în comandă și apeși „Trimite la ANAF” din nou.

Pot folosi pluginul pe planul gratuit?

API-ul (și deci pluginul) e inclus în planul Business. Poți testa integrarea pe mediul ANAF de test fără valoare fiscală.

Comenzile B2C fără CNP se pot factura?

Da. Persoanele fizice care nu completează CNP primesc identificatorul 0000000000000, convenția e-Factura pentru clienți neidentificați, iar factura trece validatorul ANAF.

Am mai multe magazine pe aceeași firmă?

Generează câte o cheie API pentru fiecare magazin (le poți revoca separat) și, dacă vrei serii diferite, câte un profil de facturare pentru fiecare.

API REST

Orice platformă, același flux

Modulele de mai sus sunt clienți ai aceluiași API. Dacă ai un ERP, un magazin custom sau o platformă pe care n-o acoperim încă, îl folosești direct.

  • Chei Bearer cu permisiuni pe resurse și preseturi (Viewer, E-commerce, Full)
  • OpenAPI 3.1 — 54 de operații, exemple, plic de eroare unitar
  • Idempotency-Key pe orice scriere: reîncercarea nu dublează factura
  • error_code stabil (plan_limit_reached, anaf_validation_failed, already_sent…) — ramifici pe cod, nu pe text
  • Rate limit per cheie, cu headere X-RateLimit-*
Deschide documentația
# 1. Emite factura (client identificat după CUI, sau inline)
curl -X POST https://zuc.ro/api/v1/invoices \
  -H "Authorization: Bearer zuc_…" \
  -H "Idempotency-Key: shop-order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "supplier_id": 9,
    "customer_identifier": "RO14399840",
    "customer_name": "CLIENT DEMO SRL",
    "customer_street_name": "Str. Exemplu 1",
    "customer_city_name": "SECTOR2",
    "customer_country_subentity": "RO-B",
    "payment_method": "card",
    "items": [{
      "name": "Tricou bumbac", "quantity": 2,
      "unit_price": 79.90, "vat_rate": 21,
      "unit_of_measure": "buc"
    }]
  }'

# 2. Trimite la ANAF → index_incarcare
#    (a doua oară: 409 already_sent)
curl -X POST https://zuc.ro/api/v1/invoices/141/send-anaf \
  -H "Authorization: Bearer zuc_…"

# 3. PDF pentru client
curl -H "Authorization: Bearer zuc_…" \
  https://zuc.ro/api/v1/invoices/141/pdf -o factura.pdf

Agenți AI

Facturare prin ChatGPT, Claude sau agentul tău

Același API, citit de mașini. Un agent poate căuta clientul, emite factura, valida XML-ul și — doar cu confirmarea ta — o poate trimite în SPV.

Pornește cu o comandă de test

Cont gratuit, mediul ANAF de test, pluginul instalat în 5 minute. Treci pe producție când ești mulțumit.

Creează Cont Gratuit