Integrare Shopify cu Oblio si e-Factura - solutie conforma ANAF
Conectam magazinul tau Shopify cu Oblio prin API: factura se emite automat la fiecare comanda platita, se trimite in SPV ANAF in aceeasi zi, PDF-ul ajunge in inbox-ul clientului. Storno automat la retur. Sincronizare produse si stocuri. Implementare 5-10 zile, fara abonament recurent la noi.
Webhook Shopify orders/paid declanseaza apelul catre Oblio API in mai putin de 2 secunde de la plata. Factura primeste serie si numar automat din configurarea ta, contine toate liniile produs cu TVA corect calculat (9% si 19% mapat per produs), datele clientului preluate din Shopify. PDF-ul se salveaza ca metafield order si link-ul ajunge in email-ul de confirmare comanda.
Trimitere automata e-Factura in SPV ANAF
Conform OUG 120/2021, B2B obligatoriu din iulie 2024 si B2C din ianuarie 2025. Oblio trimite XML conform standardului UBL 2.1 in SPV in aceeasi zi (nu in 5 zile cum permite legea), iar raspunsul ANAF (acceptata sau respinsa cu motiv) se inregistreaza in dashboard. Daca respinge cu eroare validare (CIF invalid, format adresa), primesti notificare Telegram in primele minute.
Storno automat la retur prin webhook refunds
Cand procesezi refund in Shopify (total sau partial), webhook refunds/create apeleaza POST api.oblio.eu/api/docs/invoice cu tipul storno si link la factura originala. Storno-ul primeste serie si numar separate, se trimite automat in SPV, si se leaga corect de factura initiala pentru contabilitate. PDF-ul stornoului se trimite clientului automat.
Sincronizare produse Shopify - Oblio
La creare sau update produs in Shopify, job-ul de sync (rulat la 15 minute) apeleaza nomenclatorul Oblio si actualizeaza pretul, denumirea, codul intern SKU. Variantele Shopify (marime, culoare) devin produse separate in nomenclator cu SKU unic. Daca firma face gestiune fiscala in Oblio, stocul real (dupa NIR-uri) ajunge inapoi in inventory Shopify - sursa de adevar pentru stocuri.
Webhook handler robust cu retry queue
Endpoint-ul nostru valideaza HMAC-ul Shopify (X-Shopify-Hmac-Sha256) inainte de orice procesare. Comanda se persista imediat in PostgreSQL, apoi se proceseaza async dintr-o coada Redis BullMQ - asa nu pierzi comenzi daca Oblio cade 30 minute. Retry exponential 1m, 5m, 30m, 2h, 6h. Dupa 3 esecuri totale: alertare Telegram cu detalii pentru interventie manuala.
Monitoring si reconciliere zilnica
Job automat la 09:00 dimineata compara toate comenzile Shopify din ultimele 7 zile cu facturile emise in Oblio. Pentru orice discrepanta (comanda fara factura, dubluri, sume diferite), trimite email cu lista exacta si motivul. Dashboard intern web cu KPI: facturi emise pe zi, rate de succes, erori SPV, comenzi in backlog. Logging structurat Sentry cu request si response integral.
Configurare firma RO conforma ANAF
Setup cont Oblio cu datele firmei (CUI, ONRC, IBAN, banca, beneficiar real), serii facturi si chitante separate pe tip, cote TVA 9% si 19% asignate corect produselor (alimente vs nealimentare), platitor TVA sau neplatitor in functie de cifra de afaceri, sediu fiscal pentru raportari D394. Documentatie pentru contabilul tau cu fluxul integral.
Documentatie si predare fara legare
La final primesti documentatie completa (Markdown in Git): arhitectura sistemului, lista de endpoints, credentialele in 1Password vault, runbook pentru probleme comune (cum reemitezi factura manual, cum corectezi storno gresit, cum gestionezi respingere SPV). Codul ramane in repo-ul tau, orice dev Node.js poate prelua si modifica. Nu te legam de noi pentru intretinere.
Cum functioneaza
De la comanda platita pe Shopify la factura in SPV - 5 pasi automati
01
Client plateste comanda pe Shopify
Comanda primeste status paid prin gateway-ul de plata (Shopify Payments, Stripe, NETOPIA, EuPlatesc). Shopify declanseaza webhook orders/paid catre endpoint-ul nostru cu payload-ul complet (line items, customer, shipping address, billing address, total cu TVA).
02
Webhook handler valideaza si pune in coada
Endpoint-ul nostru verifica semnatura HMAC pentru a confirma ca request-ul vine intr-adevar de la Shopify (nu spoofing). Comanda se persista in PostgreSQL cu status pending, apoi se adauga in coada BullMQ pentru procesare async. Raspundem 200 OK in sub 200ms ca Shopify sa nu retenteze.
03
Worker apeleaza Oblio API pentru factura
Worker-ul preia job-ul din coada, mapeaza datele Shopify la formatul Oblio (client + linii produs cu cota TVA corecta), si apeleaza POST api.oblio.eu/api/docs/invoice cu idempotency key bazat pe order ID. Oblio returneaza serie + numar + link PDF. Daca pica, retry exponential 1m, 5m, 30m, 2h, 6h.
04
Oblio trimite e-Factura in SPV ANAF
In paralel cu raspunsul catre noi, Oblio formateaza XML conform UBL 2.1 cu codul CIUS-RO si il trimite via API ANAF cu certificatul tau de semnatura electronica. Status-ul raspunsului ANAF (acceptata, respinsa cu motiv) ajunge inapoi in webhook Oblio si il salvam in baza noastra de date pentru audit.
05
Notificare client + actualizare dashboard
PDF-ul facturii se salveaza ca metafield Shopify order si link-ul se trimite clientului in email-ul de confirmare. Dashboard intern updateaza KPI in timp real: facturi emise, rate succes, erori SPV. Daca exista vreo eroare la pasul 3 sau 4, alertare Telegram catre tine si echipa tehnica pentru interventie rapida.
Stack tehnologic
Ce folosim concret pentru integrare Shopify - Oblio
Shopify Admin API + Webhooks
REST si GraphQL API pentru orders, products, customers. Webhook subscriptions pentru orders/paid, orders/cancelled, refunds/create, products/update. Verificare semnatura HMAC obligatorie pe orice request primit.
Oblio REST API v3
Endpoints folosite: /api/docs/invoice pentru facturi si storno, /api/docs/receipt pentru chitante, /api/nomenclator/products pentru sincronizare produse, /api/nomenclator/clients pentru clienti recurenti. Autentificare cu token API generat in panou.
ANAF e-Factura SPV (UBL 2.1)
Standard CIUS-RO peste UBL 2.1 pentru XML-ul transmis in SPV. Oblio gestioneaza semnarea cu certificatul digital al firmei si comunicarea cu API-ul ANAF, inclusiv retry-uri la mentenanta SPV.
Node.js + TypeScript + Hono
Stack server: Hono pentru route handlers rapide (10x mai rapid ca Express), TypeScript strict mode, Zod pentru validare payload, Drizzle ORM pentru PostgreSQL. Deploy pe Cloudflare Workers sau VPS Hetzner managed.
PostgreSQL + Redis BullMQ
PostgreSQL pentru persistenta orders + invoices + audit log. Redis pentru coada BullMQ cu retry exponential, rate limiting Oblio API (60 req/min), si cache produse Shopify pentru sync rapid. Backup zilnic S3.
Sentry + Telegram + Healthchecks
Sentry pentru error tracking cu source maps. Telegram bot pentru alerte instant (erori SPV, retry esuat, reconciliere cu discrepante). Healthchecks.io pentru monitoring uptime endpoint webhook si job-uri cron.
Cui se potriveste
Magazine Shopify din Romania cu 50-1000 comenzi/luna care vor facturare automata
Firme care vand B2B si trebuie sa emita e-Factura in SPV obligatoriu
Firme care folosesc deja Oblio pentru contabilitate si vor sa elimine introducerea manuala
Magazine cu retururi frecvente care vor storno automat la refund Shopify
Firme cu produse cu cote TVA diferite (9% alimente vs 19% nealimentare)
Antreprenori care vor sa scape de erori contabile si stres ANAF
Cui NU se potriveste
Magazine sub 20 comenzi/luna - manualul in Oblio e mai rapid decat integrarea
Firme care prefera SmartBill pentru stocuri pe gestiuni multiple si casa de marcat
Magazine WooCommerce sau PrestaShop - acolo exista plugin-uri gata facute mai ieftine
Firme cu nevoi atipice de facturare (servicii recurente, abonamente complexe)
Antreprenori care nu vor sa investeasca 350-1200 EUR initial in automatizare
Magazine care vand global si nu au nevoie de conformitate ANAF (cont Stripe US, etc)
Volumul de comenzi lunar: sub 100 comenzi/luna - setup standard 350 EUR; 100-500 - integrare completa 750 EUR; peste 500 - infrastructure dedicata.
Numarul de magazine Shopify: un singur magazin e baza; multi-store (B2B separat de B2C) adauga 200-400 EUR pentru sincronizare cross-store.
Tipuri TVA si cote multiple: daca vinzi alimente (9%) si nealimentare (19%) in acelasi magazin, mapare per produs adauga 100-150 EUR.
Sincronizare stocuri bidirectionala: daca Oblio e sursa pentru stoc (NIR-uri), sync inapoi in Shopify adauga 150-250 EUR.
Infrastructure hosting: Cloudflare Workers gratuit pentru volume mici; VPS dedicat Hetzner managed 25 EUR/luna pentru peste 1000 comenzi/luna.
Personalizari custom: rapoarte personalizate, integrare cu CRM intern, automatizari marketing post-comanda - estimate separat per cerinta.
Intrebari frecvente
Ce ne intreaba antreprenorii inainte de integrare Oblio Shopify
De ce sa aleg Oblio in loc de SmartBill pentru magazinul Shopify?
Depinde de profilul firmei. Oblio e mai potrivit daca: 1) Ai sub 200 facturi/luna si vrei pret mic - plan Start 0 lei/luna gratuit pana la 20 facturi, apoi Pro 15 lei/luna pentru 200 facturi. 2) Vrei interfata curata, web-only, fara plugin-uri vechi de browser. 3) Ai nevoie de API REST modern cu documentatie clara pentru integrare custom Shopify. 4) Vrei e-Factura inclusa fara modul separat. SmartBill e mai potrivit pentru firme mari cu contabilitate complexa, stocuri pe gestiuni multiple, integrare cu casa de marcat fiscala. Pentru Shopify standard cu 50-500 comenzi/luna, Oblio e alegerea mai eficienta din punct de vedere cost-beneficiu.
Cum se conecteaza Oblio cu magazinul Shopify concret?
Nu exista app oficial Oblio in Shopify App Store, deci integrarea o construim noi custom. Flow: 1) Creezi token API in Oblio (Setari - API - Token nou cu permisiuni facturi + clienti). 2) Configuram webhook Shopify orders/paid catre endpoint-ul nostru. 3) La fiecare comanda platita, serverul apeleaza POST api.oblio.eu/api/docs/invoice cu datele clientului si liniile produs mapate la nomenclatorul Oblio. 4) Factura se emite cu serie + numar automat, PDF-ul se salveaza ca metafield Shopify, link-ul se trimite clientului prin email. 5) Pentru retururi: webhook refunds/create declanseaza emitere storno automat. Implementare tipica 5-10 zile.
Se emit automat facturile si e-Factura prin Oblio fara interventie manuala?
Da, complet automat daca firma e configurata corect. La emiterea facturii prin API, Oblio o trimite automat in SPV (Spatiul Privat Virtual ANAF) ca XML conform OUG 120/2021 in maxim 5 zile lucratoare obligatoriu, dar noi setam trimiterea in aceeasi zi. Pentru B2B obligatoriu din iulie 2024, pentru B2C obligatoriu din ianuarie 2025. Oblio gestioneaza si raspunsul ANAF (acceptata, respinsa cu motiv), iar daca apare eroare validare CIF/CNP clientul primeste alerta in dashboard. Singura interventie manuala e in caz de respingere ANAF cu motiv business (ex: CIF invalid client B2B) - atunci corectam datele si retrimitem.
Cat costa integrarea Shopify cu Oblio si e-Factura?
Implementarea o facem intre 350 EUR (setup standard: webhook orders/paid - emitere factura - PDF in email client, fara stocuri sau retururi automate) si 1.200 EUR (integrare completa: facturi + storno automate la refund, sincronizare produse din Oblio in Shopify, monitoring erori cu alertare Telegram, mapare TVA pentru produse cu cote diferite 9% si 19%, panou admin pentru reemitere manuala). Majoritatea magazinelor 50-300 comenzi/luna se incadreaza in 600-800 EUR. La asta se adauga abonamentul Oblio (0-60 lei/luna in functie de volum) si Shopify (29-299 USD/luna). Implementarea nu are abonament recurent la noi.
Se pot emite si chitante prin Oblio din comenzile Shopify?
Da. Pentru comenzile platite ramburs (cash la livrare prin curier) Oblio poate emite si chitanta automat in plus de factura. Configurare: in webhook handler verificam payment_gateway-ul Shopify (manual sau cash on delivery), iar daca e ramburs apelam POST api.oblio.eu/api/docs/receipt dupa emiterea facturii. Chitanta primeste serie si numar separate, se atribuie la aceiasi client si se leaga de factura prin field-ul issuedFor. Pentru plati online (Stripe, EuPlatesc, NETOPIA) nu emitem chitanta - extrasul bancar tine loc de document, iar factura e suficienta pentru ANAF. Toate chitantele apar in raportul de casa zilnic in Oblio.
Cum se sincronizeaza produsele si stocurile intre Shopify si Oblio?
Sincronizarea e bidirectionala dar nu in timp real - rulam un job de sincronizare la fiecare 15 minute via cron. Flow produse: Shopify e sursa de adevar (acolo editezi pretul, titlul, descrierea), iar la creare produs nou apelam api.oblio.eu/api/nomenclator/products pentru a-l adauga in nomenclatorul Oblio cu acelasi cod intern (SKU). Flow stocuri: Oblio e sursa pentru stoc daca firma face gestiune fiscala (NIR-uri, descarcari), iar in acel caz stocul real ajunge in Shopify la inventory level. Daca firma nu face gestiune in Oblio, lasam Shopify sa gestioneze stocul singur si nu sincronizam. Pentru variante (marime, culoare) folosim SKU-ul unic ca cheie de mapare.
Functioneaza integrarea pentru magazine cu peste 1000 comenzi pe luna?
Da, dar cu cateva ajustari. Probleme la volume mari: 1) Rate limit Oblio API e 60 requests/minut - la 1000+ comenzi/luna nu e problema, dar la peaks Black Friday (200 comenzi/zi) putem atinge limita. Solutie: queue Redis cu BullMQ care proceseaza facturile la max 50/minut, fara pierderi. 2) Webhook Shopify retry doar de 19 ori cu backoff - daca endpoint-ul nostru cade, comenzile vechi de 48h sunt pierdute. Solutie: persistare imediata in baza date la primire webhook, apoi procesare async din coada. 3) Erori temporare ANAF (mentenanta SPV) - retentam automat dupa 1h, 4h, 24h, iar dupa 3 esecuri alertam Telegram. Pentru magazine cu 5000+ comenzi/luna recomandam infrastructure dedicata: 50-100 EUR/luna extra in plus de implementare.
Ce se intampla daca apar erori de sincronizare intre Shopify si Oblio?
Avem 4 nivele de protectie. 1) Logging structurat in Sentry pentru toate erorile API Oblio cu request-ul si response-ul integral, deci putem reproduce orice problema in 5 minute. 2) Dashboard intern cu lista comenzilor fara factura emisa - vezi clar daca exista backlog si poti reemite manual cu 1 click. 3) Alertare Telegram instant la erori 5xx Oblio sau respingeri ANAF, deci stii in primele minute daca e o problema, nu peste 3 zile cand contabilitatea o descopera. 4) Reconciliere zilnica automata la 09:00 dimineata: comparam toate comenzile Shopify din ultimele 7 zile cu facturile din Oblio, iar pentru orice discrepanta primesti email cu lista exacta. Cele mai comune erori sunt CIF invalid B2B si client fara adresa completa - se rezolva editand comanda in Shopify.
Servicii complementare
Daca ai magazin Shopify in Romania, mai poate fi util si
Vrei integrare Oblio Shopify functionala in 7 zile?
Trimite-ne URL-ul magazinului si volumul lunar de comenzi. Iti recomandam pachetul potrivit si oferta detaliata in 4 ore. Implementare cu codul predat in repo-ul tau, fara abonament recurent.