CRM integrat cu SmartBill: de la oferta acceptată la factură și e-Factura, fără copy-paste
Clientul acceptă oferta, iar cineva copiază de mână CUI-ul, suma și adresa în SmartBill. Acolo apar facturile greșite și cele emise de două ori. Cum legi CRM-ul firmei de factură, de încasare și de e-Factura.
Sanda Sorin Catalin
Marketing digital, automatizari si dezvoltare web. Ajut afaceri mici sa creasca online cu strategie, nu cu noroc.
Un CRM integrat cu SmartBill scoate din firmă o scenă pe care o știe orice patron care facturează din oferte. Clientul confirmă oferta vineri seara, iar luni cineva rescrie de mână în SmartBill denumirea firmei, CUI-ul și suma. O cifră inversată și factura pleacă greșită, se stornează, se reface, iar clientul primește trei documente pentru o singură lucrare.
Am făcut CRM-ul de cold calling construit pe felul în care lucrează omul care sună, cu stadii de la ofertă trimisă până la câștigat. Separat, pe dmaster.ro, vânzările cu cardul își emit singure factura în SmartBill, din cod propriu. Mai jos ai fluxul, datele care trebuie să fie corecte, cazurile murdare și situația în care nu îți trebuie nimic construit.
- Un CRM cu facturare ține clientul și oferta, SmartBill emite factura, iar integrarea mută datele prin API.
- Denumirea, adresa, statutul de TVA și prezența în Registrul RO e-Factura vin din CUI, prin serviciul ANAF PlatitorTvaRest v9, cu maximum 100 de CUI-uri pe cerere.
- Facturarea automată din CRM cere o cheie unică pe vânzare, fiindcă Stripe documentează că același eveniment poate sosi de mai multe ori.
- La rambursare, factura deja transmisă nu se șterge: se emite una cu valori negative, legată de ea, iar încadrarea o confirmi cu contabilul.
- Clientul persoană fizică fără cod fiscal primește pe factură un cod din 13 cifre de zero, cerut de OUG 120/2021.
Foto: Mikhail Nilov pe Pexels
Ce înseamnă un CRM integrat cu SmartBill pentru o firmă mică?
Un CRM integrat cu SmartBill ține oferta, clientul și factura în același flux. CRM-ul ține fișa clientului și stadiul vânzării, SmartBill emite factura și o duce în e-Factura, iar datele trec între ele prin API, adică programele și le trimit direct. Nu mai copiază nimeni câmpuri dintr-un ecran în altul.
În CRM-urile pe care le-am văzut, gândite pentru alte piețe, fișa clientului nu pornește de la CUI și nu știe de SPV. De aici vine argumentul pentru un CRM construit pe procesul tău. Partea de bani are articol propriu: cât costă un CRM propriu față de un abonament, calculat separat.
Cum arată fluxul prin SmartBill API, de la oferta acceptată la factura din SPV?
Fluxul are șase pași: oferta acceptată, datele trimise prin SmartBill API, factura emisă, transmiterea în e-Factura, încasarea din bancă și vânzarea trecută pe plătit. Primii trei îi face integrarea, al patrulea îl face SmartBill din setările contului, iar ultimii doi pornesc de la plata din bancă.
- Oferta acceptată mută vânzarea pe câștigat în CRM.
- CRM-ul trimite datele (client, produse, cantități, prețuri) la API-ul de facturare.
- SmartBill emite factura și întoarce seria și numărul, salvate în fișa clientului.
- Transmiterea în e-Factura pornește din setarea de trimitere automată.
- Încasarea din bancă se potrivește cu factura.
- Vânzarea trece pe plătit, iar reminderul se oprește.
Documentația SmartBill API dă pentru V1 maximum 30 de apeluri în 10 secunde per token, cu blocare de 10 minute la depășire. Oblio API acoperă și el emiterea, încasarea și anularea facturilor, cu limite de trafic proprii. Trimiterea automată se activează din Configurare, e-Factura, imediat după emitere sau cu întârziere între o oră și 4 zile, cu contul conectat la SPV. Termenul de transmitere în e-Factura și amenzile au articol separat.
Unde lipsește un pas, copy-paste-ul revine exact acolo:
| Pas | Azi, manual | Cu integrare |
|---|---|---|
| Datele clientului | Copiate din email | Completate din CUI |
| Emiterea facturii | Rescrisă în SmartBill | Din vânzarea câștigată |
| Seria și numărul | Căutate în SmartBill | Salvate în fișa clientului |
| Încasarea | Căutată în extras | Legată de factură |
| Reminderul | Ținut minte | Pornit la scadență |
Cum faci verificarea CUI prin API-ul ANAF, ca factura să nu plece cu date greșite?
Trimiți CUI-ul la serviciul web ANAF PlatitorTvaRest v9 și primești denumirea, adresa, statutul de plătitor de TVA și de TVA la încasare, starea de inactiv și dacă firma figurează în Registrul RO e-Factura. CRM-ul completează fișa din răspuns, iar omul tastează doar CUI-ul și emailul de facturare.
Documentația serviciului spune că „un request poate contine maxim 100 de CUI-uri” și permite „maxim 1 request pe secunda”, deci clienții activi se verifică în loturi. Valoarea „false” la registru nu înseamnă că firma nu primește e-Facturi. Tot CUI-ul e cheia de deduplicare: „SC Alfa SRL” și „Alfa srl” sunt același client.
La persoane fizice, art. 10¹ alin. (3) din OUG 120/2021 cere ca, dacă beneficiarul nu se identifică prin niciun cod fiscal, factura să se emită cu un cod din 13 cifre de zero. Formularea cu 13 zerouri vine din OUG 138/2024, iar Legea 88/2026 a reformulat alineatul fără să schimbe codul.
Doar CUI-ul și tipul de client vin de la om, restul vine de la ANAF, iar fiecare greșeală strică factura altfel:
| Câmp | De unde vine | Ce riști dacă e greșit |
|---|---|---|
| CUI | Clientul, verificat la ANAF | Factura pe altă firmă |
| Denumire și adresă | ANAF, după CUI | Nepotrivire cu registrul |
| TVA și TVA la încasare | ANAF, după CUI | Tratament de TVA greșit |
| Persoană fizică | Fișa clientului | Cod gol în loc de 13 zerouri |
Important: nu lăsa CRM-ul să emită factura pe numele scris de client în formular. Completează denumirea, adresa și statutul de TVA din CUI, direct din serviciul ANAF, și abia apoi emite.
Cum eviți să emiți de două ori aceeași factură?
Dai fiecărei vânzări o cheie unică și verifici înainte de emitere că nu există deja o factură pe ea. Vânzarea se blochează la primul proces care o preia și doar el are voie să emită. Iar o cerere care nu a primit răspuns nu se repetă automat, fiindcă nu știi ce s-a întâmplat la SmartBill.
Dublurile au două cauze. Prima e plata anunțată de două ori: documentația Stripe despre notificările automate de plată (webhook-uri) spune că un endpoint „might occasionally receive the same event more than once”. A doua e API-ul care nu răspunde la timp, deși factura s-a emis. La V1, versiunea folosită pentru facturare, documentația SmartBill spune doar să reîncerci eroarea de server cu pauze, deci protecția la dublură o pui tu.
Foto: MART PRODUCTION pe Pexels
În sistemul de facturare pe care l-am scris pentru dmaster.ro, o factură rămasă „eșuată” sau „în lucru” nu se reia automat.
Retine: dacă API-ul nu a răspuns, nu apăsa din nou pe „emite”. Verifică întâi în SmartBill dacă factura există deja: o cerere fără răspuns poate să fi consumat un număr din serie.
Când emiți factură storno și ce curs folosești la plata în euro?
O factură deja transmisă clientului nu se șterge: la rambursare se emite factură storno, cu valori negative, legată de cea inițială și generată de integrare din rambursare. La plata în euro, integrarea trimite explicit cursul stabilit cu contabilul, altfel SmartBill îl ia din preferințele contului. Încadrarea fiscală o decide contabilul.
Codul fiscal leagă reducerea bazei de impozitare de situațiile din art. 287 și cere pentru ele, la art. 330 alin. (2), facturi „cu valorile înscrise cu semnul minus”. Dacă factura nu a ajuns încă la client, art. 330 alin. (1) permite anularea ei. SmartBill API are apel separat de stornare, cu seria și numărul facturii originale.
La valută, art. 290 alin. (2) cere cursul BNR, cel publicat de BCE sau cel al băncii prin care se fac decontările, valabil la data la care TVA-ul devine datorat (exigibilitatea taxei). În SmartBill API cursul e opțional: dacă integrarea nu îl trimite, se ia din preferințele contului, „de azi sau de ieri”, eventual cu adaos procentual, deci poate să nu fie cel stabilit cu contabilul.
Cum afli statusul plății în CRM, fără să deschizi SmartBill?
Încasarea vine din bancă, se leagă de factură și schimbă singură starea vânzării în CRM. SmartBill API are un apel care întoarce, pentru o factură, suma încasată, suma rămasă și dacă e plătită integral. Ce rămâne neîncasat la scadență pornește un reminder.
SmartBill asociază tranzacțiile bancare cu facturile după numele partenerului, care trebuie să corespundă perfect, valoarea exactă și, când le identifică, CIF și IBAN. În CRM, potrivirea bună pornește de la ce identifică sigur factura: numărul ei din detaliile plății, apoi suma și data. Suma singură nu ajunge, fiindcă două facturi egale ale aceluiași client nu se pot deosebi.
Reminderul poate pleca pe email sau pe WhatsApp, cu mecanica din articolul despre cum ajunge automat un mesaj pe WhatsApp și pe email.
Când îți ajunge integrarea gata făcută a unui CRM de raft?
Dacă vinzi produse standard, lucrezi singur și CRM-ul tău are deja un conector SmartBill care funcționează, nu îți trebuie nimic construit. Verifici primele facturi pe care le emite și, dacă datele ies corecte, te oprești acolo. Integrarea proprie are sens abia când procesul tău nu mai încape în conector.
Semnele: oferte cu configurații, facturi în avans sau parțiale, mai multe serii, clienți persoane fizice și juridice amestecați, remindere pe WhatsApp sau oferta și contractul generate din datele clientului.
| Variantă | Potrivită când | Risc principal |
|---|---|---|
| Conectorul CRM-ului | Proces standard, puțini utilizatori | Nu acoperă cazurile tale |
| Scenariu Make sau n8n | Volum mic, proces simplu | Protecția la dubluri o construiești tu |
| SmartBill API sau Oblio API | Oferte, PF și PJ, remindere proprii | Cere pe cineva care o întreține |
De unde începi
Azi, într-o oră: ia ultimele 20 de facturi emise și numără câte au fost refăcute, stornate sau emise cu date copiate greșit. Fiecare e un loc unde datele au fost copiate de mână.
Săptămâna asta: fă din CRM sursa unică a datelor de client și verifică CUI-urile clienților activi la ANAF. Apoi verifică dacă pachetul tău SmartBill include API, ia tokenul din pagina Integrări și testează emiterea pe ciorne, care nu primesc număr. Sunt primii pași dintr-un CRM personalizat cu gestionare clienți, facturi și documente.
Peste o lună: refă numărătoarea pe facturile emise între timp și compar-o cu prima. Spune-mi cum emiți facturile azi și îți spun dacă îți ajunge conectorul gata făcut sau chiar ai nevoie de integrare.
Pot emite facturi SmartBill direct din CRM, fără Make sau n8n?
Serviciul ANAF de verificare după CUI cere cont sau cheie?
Factura storno se trimite și ea în SPV?
Pot folosi Oblio în loc de SmartBill?
Urmatorul pas
Vrei sa aplicam asta in businessul tau?
Programeaza o discutie de 30 de minute. Analizam situatia ta concreta si iti spun exact ce pasi ai de facut. Gratuit, fara obligatii.
Trimite cerereArticole similare
De ce Next.js a devenit standardul pentru aplicații web serioase
Framework-ul ales pentru aplicația ta decide cât de repede se încarcă, cât plătești pe găzduire și cât de ușor găsești oameni care să o întrețină. Explic pe înțelesul tău de ce Next.js a devenit standardul.
CitesteAplicatiiCRM propriu cu Supabase în 2 zile: cât te costă și ce primești
Un CRM pe Supabase te scapă de abonamente lunare per utilizator și îți lasă datele clienților la tine. Cât costă construcția, ce primești în două zile și unde rămâne mai bun un abonament clasic.
CitesteAplicatiiPWA în 2026: aplicația ta web se comportă ca un app mobil
Un PWA îți transformă site-ul într-o aplicație pe care clienții o instalează direct din browser, fără App Store și fără comisioane de 15 până la 30%. Cifrele oficiale Apple și Google, comparate pentru firme mici.
Citeste