← Înapoi la proiecte
Automatizare

Facturare automată Kajabi → FGO

Deschide riseupfamily.ro →
Facturare automată Kajabi → FGO

Am construit facturarea automată pentru RAIZIN THERAPY, firma care vinde cursuri online pentru părinți pe riseupfamily.ro. Fiecare cumpărare plătită în Kajabi devine o factură emisă în FGO, fără ca cineva să deschidă programul de facturare. Integrarea rulează în producție din 1 iulie 2026 și acoperă și ratele lunare ale abonamentelor.

Ce am avut de rezolvat

Kajabi încasează plățile, dar nu emite facturi românești. FGO emite facturi, dar nu știe nimic despre Kajabi. Legătura dintre ele era o integrare veche pe AWS Lambda, care se stricase și la care nu mai avea nimeni acces. De atunci, facturile se făceau manual: după fiecare comandă, cineva copia numele, adresa, suma și produsul din Kajabi în FGO.

Ratele lunare ale abonamentelor complicau lucrurile. Fiecare rată cere factura ei, iar Kajabi le trimite fără adresa clientului. Pe deasupra, firma își schimbase entitatea de facturare: abonamentele începute înainte de 1 iulie țin de firma veche, iar cele noi de RAIZIN THERAPY. Orice automatizare trebuia să știe diferența.

Ce am construit

  • Ramura de cumpărări — la fiecare comandă preia din checkout numele, ambele rânduri ale adresei, telefonul și codul fiscal, apoi emite factura în FGO pe seria firmei.
  • Ramura de rate — recunoaște plățile recurente, caută clientul în tabelul de abonați și emite câte o factură pentru fiecare rată.
  • Firme cu un singur câmp — clientul persoană juridică completează doar CUI-ul, iar FGO completează singur denumirea oficială și numărul de la Registrul Comerțului.
  • Harta celor 42 de județe — Kajabi trimite codul județului („PH"), iar noi trimitem denumirea („Prahova"), ca prescurtarea să nu apară pe factură.
  • 5 filtre pe traseu — ofertele gratuite nu primesc factură, notificările duble ale aceleiași plăți nu trec, iar ratele care nu țin de firma nouă nu ajung la FGO.
  • Alertă pe email la eșec — Make marca drept reușite și execuțiile în care FGO refuza factura. Acum orice refuz ajunge pe email, cu motivul și datele clientului.
  • Jurnal în Google Sheets — fiecare factură emisă apare într-un rând cu seria, numărul, linkul și adresa clientului.

Partea nevăzută

  • Ratele fără adresă — pentru clienții din România, FGO refuză factura fără județ, iar Kajabi nu trimite adresa la rate. API-ul Kajabi nu e disponibil pe planul clientului, iar FGO nu are un endpoint de căutare a clienților. Am rezolvat cu un tabel propriu de abonați, în care scenariul caută adresa după email.
  • Două firme, un singur checkout — din 372 de tranzacții în rate am găsit 48 de clienți cu plăți în rate, dintre care doar 2 țin de firma nouă. Clienților din străinătate FGO nu le cere județul, așa că acceptă facturi fără adresă. Până am pus filtrul final, 4 facturi au plecat pe firma nouă pentru abonamente ale firmei vechi. Acum clientul trebuie găsit în tabelul de abonați înainte ca cererea să ajungă la FGO.
  • Bug-ul care nu era al nostru — în 5 cazuri, plata a trecut în Stripe după confirmarea 3D Secure, dar Kajabi n-a creat comanda, așa că nu a plecat niciun webhook. Am arătat asta din logurile Stripe și din istoricul Make și am deschis ticket la Kajabi. Fără acest diagnostic, ar fi părut că integrarea pierde facturi.
  • Trei probleme găsite pe facturi reale — în primele trei săptămâni am observat că lipsea al doilea rând al adresei, că telefonul nu se trimitea și că județul apărea ca prescurtare. Le-am reparat pe toate fără să oprim facturarea.

Cum e construit

Integrarea e un scenariu Make.com cu 10 module, împărțit în două ramuri: una pentru cumpărări, cealaltă pentru rate. Webhook-urile Kajabi intră în scenariu, care trimite cererea la API-ul FGO, scrie rezultatul în Google Sheets și trimite emailurile de alertă prin Gmail. Nu are server și nici bază de date, și e o alegere, nu o lipsă. Nu e nimic de găzduit sau de actualizat, clientul poate vedea fiecare execuție în istoricul Make, iar adresele abonaților stau într-un tabel pe care îl poate deschide oricine din firmă. Compromisul asumat: abonații noi se adaugă manual în tabel, iar tabelul depinde de antetul coloanelor, deci nu se inserează coloane noi înaintea celor folosite. Înainte de lansare am emis 16 documente de test, ca prima factură reală să plece corect.

Ce nu face, intenționat: nu facturează abonamentele firmei vechi, care se facturează în continuare separat. Nici nu poate factura o plată pentru care Kajabi nu a creat comanda, fiindcă în cazul acela nu primește nimic.

Unde e acum

Live din 1 iulie 2026 pentru riseupfamily.ro, în mentenanță.