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.

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 → API → Cheie 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.

PrestaShop 8

ZUC e-Factura pentru PrestaShop

Același flux ca la WooCommerce, pe același API. Clienții firme sunt recunoscuți din câmpurile native ale adresei — Companie și Nr. TVA (CUI) — fără câmpuri suplimentare la checkout.

  • Factura se emite la starea aleasă a comenzii (implicit „Plată acceptată”) sau manual, din pagina comenzii.
  • Trimitere la ANAF (SPV) automată sau la cerere; indexul de încărcare apare în panoul comenzii.
  • Storno automat la stările bifate (implicit „Rambursată”); stornoul pleacă la ANAF dacă factura e în SPV.
  • Liniile comenzii cu cota TVA a fiecăreia, transportul, ambalarea cadou; reducerile de comandă devin o linie cu minus.
  • Panou „ZUC e-Factura” pe comandă, coloană „e-Factura” în lista comenzilor, PDF descărcabil de client din contul lui.
  • Reîncercare automată pentru erorile trecătoare, printr-un URL de cron afișat în configurare.
Descarcă v1.0.0
Fișier
zucefactura-1.0.0.zip
Mărime
28 KB
Publicat
13.09.2026
SHA-256
08ec742ed03603d8…37eb9d28

Ai nevoie de

  • PrestaShop 1.7.7+ sau 8.x, PHP 7.4+ cu cURL
  • Pachetul de localizare România (județele la adrese)
  • 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; limitele de facturi sunt cele ale planului ZUC.ro.

Cum arată

Configurarea modulului: cheie API, test de conexiune, profil de facturare, starea declanșatoare, stările de storno, URL-ul de cron
Configurarea modulului: cheie API, test de conexiune, profil de facturare, starea declanșatoare, stările de storno, URL-ul de cron
Pagina comenzii: panoul ZUC e-Factura cu factura, indexul ANAF, stornoul și acțiunile
Pagina comenzii: panoul ZUC e-Factura cu factura, indexul ANAF, stornoul și acțiunile

Instalare în 4 pași

  1. Încarcă modulul

    Module → Module Manager → Încarcă un modul, alege zip-ul descărcat. Dacă adresele nu au județe, importă întâi pachetul de localizare România (International → Localization → Import) — ANAF cere județul pentru clienții din RO.

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

    Setări Facturi → API → Cheie nouă, presetul „E-commerce”.

  3. Configurează modulul

    Lipește cheia → Testează conexiunea (planul, mediul ANAF, tokenul SPV) → alege profilul de facturare, starea declanșatoare și stările la care se face storno → Salvează. Opțional, pune URL-ul de cron în crontab, orar.

  4. Testează, apoi treci pe producție

    Cu mediul ANAF pe test, plasează o comandă și schimbă-i starea; verifică factura în ZUC.ro și în panoul comenzii. Apoi comută mediul pe producție din Profil → Mediu ANAF.

Magento 2 · beta

ZUC e-Factura pentru Magento 2.4

Aceeași logică ca la WooCommerce și PrestaShop, ca extensie Zuc_EFactura: emitere la statusul comenzii (implicit processing), trimitere în SPV, storno la closed/canceled, panou în Sales → Orders, coloană în grid, PDF pentru client, cron de reîncercare. Clienții firme vin din câmpurile native Company + VAT number.

Beta: extensia nu a fost încă rulată pe o instanță Magento live (WooCommerce și PrestaShop sunt testate end-to-end). Instaleaz-o pe staging, cu mediul ANAF pe test, și scrie-ne la [email protected] ce ai găsit — o trecem la „disponibil” după primele confirmări.
Descarcă v1.0.0 (beta)
Fișier
zuc-efactura-magento-1.0.0.zip
Mărime
42 KB
SHA-256
1b7f735e7b14245a…1fafa62e

Instalare

cp -r Zuc app/code/
bin/magento module:enable Zuc_EFactura
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

Apoi Stores → Configuration → ZUC.ro → e-Factura: cheia API → Save → „Testează conexiunea” → profil, status declanșator, statusuri de storno.

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 — 56 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