eduardweb.
Prezentări & ShowcaseIntermediar#nodejs#architecture#freelancing#saas#bootstrap

Cum am ridicat un SaaS de facturare pentru freelanceri români și costurile reale la 89 de clienți

De Cristian Barbu, 2 iul. 2026 · 16 vizualizări · 2 like-uri

Postat 2 iul. 2026

Am lansat acum un an un micro-SaaS de facturat simplu, targetat strict pe freelanceri din RO care s-au săturat de interfețe aglomerate. Astăzi am fix 89 de utilizatori plătitori (abonament de 5 EUR/lună) și vreau să îți arăt arhitectura din spate și costurile reale. Fără bullshit de marketing, doar cifre brute și decizii tehnice luate la cafea.

Ideea și de ce nu m-am aruncat la Kubernetes

Când pornești un proiect pe cont propriu, cea mai mare greșeală e over-engineering-ul. Am văzut zeci de oameni care deschid un startup și încep direct cu microservicii, Kubernetes și baze de date distribuite pentru trei useri și jumătate.

Eu am mers pe simplitate extremă: un singur VPS pe Hetzner, un monolith în Node.js (Fastify + React/Next.js pentru frontend) și o bază de date PostgreSQL locală. Am vrut să pot livra rapid și să nu pierd nopțile cu configurări de rețea. Am avut cazul unui fost coleg care plătea 150$ pe lună la AWS înainte să aibă primul client organic. Eu am vrut să fiu profitabil din prima lună, chiar și cu un singur user.

Arhitectura de 12 dolari pe lună

Tot proiectul rulează pe o singură mașină virtuală de la Hetzner (CPX11, costă în jur de 5.50 EUR/lună). Are 2 vCPU și 4 GB RAM. E mai mult decât suficient pentru volumul actual de trafic.

Baza de date e un Postgres clasic, instalat direct pe mașină, nu managed. Fac backup-uri automate la fiecare 6 ore într-un bucket de Cloudflare R2 (care are free tier generos, deci mă costă fix 0 lei). Pentru trimis emailuri (facturi, notificări de plată, onboarding), folosesc Resend. Sunt pe planul gratuit pentru că nu depășesc cele 3000 de emailuri pe lună incluse.

Iată cum se împart costurile mele lunare:

  • VPS Hetzner: ~5.50 EUR
  • Domeniu .ro: ~1 EUR (amortizat anual)
  • Plăți prin Stripe: comision direct la tranzacție (operează din încasări, deci nu e cost fix)
  • Total costuri fixe: sub 7 EUR (aproximativ 7.50 USD).

Coșmarul numit ANAF și e-Factura

Dacă vrei să faci un SaaS de facturare în România, te lovești inevitabil de e-Factura. Integrarea cu API-ul lor a fost cel mai mare trade-off al proiectului. Merge binișor după ce prinzi schema, dar documentația lor e scrisă parțial în PDF-uri și parțial în XML-uri greu de digerat.

Am pierdut vreo două săptămâni doar ca să fac OAuth-ul cu token-ul de la semnătura digitală să funcționeze stabil în fundal, fără ca userul să fie nevoit să își bage token-ul fizic în calculator în fiecare zi. Am rezolvat-o printr-un worker separat în Node, care rulează la fiecare oră și procesează coada de trimiteri XML către ANAF. Dacă serverul ANAF pică (și pică des, mai ales la sfârșit de lună), worker-ul încearcă din nou cu exponential backoff.

Ce am învățat și ce aș schimba

Monolith-ul pe un singur VPS a fost cea mai bună decizie. Timpul de răspuns al API-ului este de sub 50ms pentru că totul e local. Totuși, dacă baza de date pică, pică tot. Ăsta e riscul pe care mi l-am asumat. Pentru 89 de utilizatori, un downtime de 10 minute la 3 luni nu e o tragedie, dar dacă trec de 500 de utilizatori, va trebui să mut Postgres pe o instanță separată, managed.

Voi cum gestionați integrările astea dureroase cu statul român? Ați trecut prin coșmarul numit e-Factura sau ați preferat să folosiți servicii terțe care fac asta direct?

Răspunsuri 0

Se încarcă răspunsurile…

Loghează-te pentru a răspunde

Doar membrii comunității pot lăsa comentarii.