inocode
Soluții digitale, rezultate reale
← toate case studies
case study · SaaS · 18 luni · în continuare

contabilulmeu.

De la un portal de facturare la un ERP contabil folosit de mii de firme din România.

~5×
utilizatori activi
Cum am ajuns aici· 3 min
contabilulmeu — hero
C
contabilulmeu
SaaS · public

SaaS de contabilitate folosit de mii de firme din România. Fondat de contabili, nu de developeri.

saasweb
Stagiu
Bootstrapped · Serie A
Echipă
4 ingineri + 1 designer
Durată
18 luni · în continuare
Stack
React · TanStack Start · PostgreSQL
timp la închiderea lunii
−72%
uptime peste 2 ani
99.98%
tl;dr · 30 secunde
01 · Problema

Contabilii lor pierdeau 3 zile pe lună pe reconciliere manuală. Sistemul cădea vineri seara.

02 · Ce am făcut

Am scos partea lentă din aplicația veche într-un serviciu separat. Fără să oprim aplicația nici măcar o oră.

03 · Rezultatul

3 zile recuperate lunar, de 3× mai mulți clienți fără să crească echipa, zero căderi în ultimii 2 ani.

M
M.P.
CTO · contabilulmeu
Am mai lucrat cu 3 agenții înainte. Inocode a fost singura care ne-a spus „nu” la ce am cerut și ne-a explicat de ce. Asta ne-a salvat proiectul."
01Problema
Închideam luna în 3-4 zile cu 6 oameni. La 800 de firme, sistemul cădea vineri seara. Ne era frică să creștem.
Ce costa asta, în bani și timp

6 oameni × 3 zile/lună = ~€8.000 salariu îngropat lunar. Plus 2 clienți pierduți în trimestrul 4 pentru că nu puteam onboarding mai mulți fără să crape sistemul.

contabilulmeu pornise ca un portal de emis facturi. La 800 de firme active, jobul de reconciliere de la sfârșitul lunii rula 14 ore și pica în ~30% din nopți. UI-ul era pe un CMS vechi, back-end-ul un PHP monolit fără cozi. Fiecare feature nou spargea altceva. Contabilii lor și-au dat demisia la rând în trimestrul 4.

02Decizia

De ce am refuzat un rewrite complet

Clientul cerea „rescrieți tot pe microservicii”. Am zis nu. Iată ce am ales în loc.

Opțiunea A

Rewrite complet pe microservicii

+ pro

Curat. Modern. CV-friendly.

− contra

12-18 luni fără feature nou. Migrare de date periculoasă. Cel mai probabil, faliment.

Opțiunea B

Patch pe monolit

+ pro

Rapid. Ieftin. Zero risc.

− contra

Peste 6 luni ești în același punct, doar cu mai multă datorie tehnică.

alegerea noastră
Opțiunea C

Extract worker-ul greu în Rust, restul rămâne

+ pro

Rezolvă cauza reală (I/O + concurrency). Livrabil în 6 săptămâni. Restul echipei livrează în paralel.

− contra

Rust în plus în stack. Trebuie discipline de deploy.

Am refuzat microservicii aici pentru că problema nu era arhitectura, era un singur job care făcea I/O prost. Fix la cauză, nu la simptom.

Alex, tech lead
03Build

Cum am extras worker-ul de reconciliere

Am scos partea lentă din aplicația veche și am pus-o într-un serviciu separat care rulează în paralel. Aplicația veche a continuat să funcționeze normal — clienții n-au simțit nimic. După 2 săptămâni de rulat vechi și nou simultan, am mutat totul pe nou.

cum funcționează, pe scurt
Ce intră
Facturi în format vechi
Ce facem
Le procesăm în paralel, în batch-uri sigure
Ce iese
Rapoarte gata în ~55 min, nu 3 zile
execuție · în progres
cât a durat
5sprints
S1S6
timeline execuție
  1. S1
    Discovery + shadow-tracing pe monolit
  2. S2-3
    Worker Rust, cozi Redis, teste de load
  3. S4
    Rulare paralelă cu feature flag
  4. S5
    Cutover 20% → 100%
  5. S6
    Monolit degresat, alarme calibrate
contabilulmeu · impactul
~5×
utilizatori activi

De la un portal de facturare la un ERP contabil folosit de mii de firme din România.

−72%
timp la închiderea lunii
99.98%
uptime peste 2 ani

Am mai lucrat cu 3 agenții înainte. Inocode a fost singura care ne-a spus „nu” la ce am cerut și ne-a explicat de ce. Asta ne-a salvat proiectul."

M.P., CTO
04Launch

Ce s-a schimbat după 6 săptămâni

Închiderea lunii a scăzut de la 6h12m la ~55 minute pentru același volum. Am putut lăsa clienți noi să intre — au trecut de 2500 firme active în 8 luni fără să atingem worker-ul. Echipa lor de suport a scăzut de la 6 la 3 oameni (relocați pe onboarding, unde chiar aduc bani).

Timp la închiderea lunii
6h+
~55min
−85%
≈ 3 zile-om/lună recuperate
Firme active
800
2500+
creștere fără să angajeze pe nimeni în plus
Uptime lunar
97.4%
99.98%
+2.5pp
zero apeluri la 3 dimineața
Cost infra / firmă
~0.4×
−60%
marja mai mare pe fiecare client nou
Produsul live
05După

Unde e proiectul azi

Suntem încă parteneri activi — 2 ingineri Inocode lucrează la ei part-time, SLA 24/7 pe worker. Ei au preluat UI-ul intern cu echipa lor. Facem review de arhitectură trimestrial. Următorul pas: modul de raportare fiscală pentru firme din grup.

Un an mai târziu

Cu cele 3 zile-om recuperate lunar, echipa lor de suport s-a mutat pe onboarding. Au deschis 2 verticale noi (freelanceri, ONG-uri) pe care nu aveau resursă înainte.

Am mai lucrat cu 3 agenții înainte. Inocode a fost singura care ne-a spus „nu” la ce am cerut și ne-a explicat de ce. Asta ne-a salvat proiectul.
M.P.CTO · contabilulmeu
angajamentul inocode

Ce primești și ce nu riști.

ce include
  • Discovery structurat: 2 săptămâni, arhitectură + risc + plan de sprint
  • Cod scris de seniori (7+ ani), nu de juniori supervizați
  • Deploy, monitorizare, alarme și runbook pentru echipa ta
  • Handover complet: docs, video walkthrough, sesiune de knowledge transfer
  • SLA opțional post-lansare, cu inginer on-call — nu ticket queue
garanția inocode

Dacă în primele 2 săptămâni de discovery nu vezi valoare concretă, oprești fără cost și primești înapoi tot ce ai plătit.

01Fixed scope pe prima fază. Fără „mai adăugăm după".

02Codul e al tău din prima zi, pe repo-ul tău. Zero lock-in.

03Îți spunem „nu" dacă cererea ta nu-ți rezolvă problema.

Se aplică și ție dacă...

Nu ești contabilulmeu. Dar problema ta ar putea semăna.

  • Ai un proces manual care mănâncă mai mult de 5h/săptămână
  • Ai o aplicație veche pe care ți-e frică s-o atingi
  • Crești și îți e teamă că sistemul nu va face față
Hai să vorbim 20 min · fără sales→ contact
Nu ești în industria asta?

Am făcut asta pentru SaaS. Aceleași principii le aplicăm și la site-uri, aplicații mobile, ERP-uri sau marketplace-uri. Instrumentul e diferit — gândirea e la fel.