---
title: "Firmele noi își aleg softul în primele săptămâni"
description: "O firmă nouă își alege contabilul, facturarea, banca și POS-ul în primele săptămâni. Ce știi despre ea atunci și cum afli de ea la timp."
date: 2026-10-03
category: "Firme noi"
tags: ["CAEN", "firme noi", "Python", "registrations"]
author: "Echipa apifirme"
url: https://blog.apifirme.dev/firmele-noi-isi-aleg-softul-in-primele-saptamani/
lang: ro-RO
---

# Firmele noi își aleg softul în primele săptămâni

> O firmă nouă își alege contabilul, facturarea, banca și POS-ul în primele săptămâni. Ce știi despre ea atunci și cum afli de ea la timp.

**Pe scurt**

- O firmă nouă își alege contabilul, facturarea, banca, casa de marcat și stocurile în primele săptămâni. După aceea schimbă greu și rar.
- În prima săptămână știi despre ea CUI-ul, denumirea, județul, forma juridică și, la trei firme din patru, codul CAEN. Bilanț nu are încă, iar înregistrare în scopuri de TVA, de multe ori, nici atât.
- `/registrations/count` îți spune, pe orice plan, câte firme noi apar în segmentul tău; `/registrations` îți spune care sunt, cât timp încă aleg.

Un SRL apare marți în registrul comerțului. Până la prima lui factură, cineva îi recomandă un contabil, contabilul vine cu programul lui, banca vine cu terminalul ei de plată, iar programul de facturare e cel găsit de asociat într-o seară, pe telefon. Dacă vinzi vreunul dintre lucrurile astea, ai avut exact intervalul ăsta la dispoziție și, cel mai probabil, nici n-ai aflat că firma există.

## Ce se alege în fereastra asta

Lista e previzibilă și aproape aceeași pentru orice firmă nouă:

- **Contabilul** și, odată cu el, programul de contabilitate. Mulți contabili lucrează într-un singur program, iar firma îl primește la pachet.
- **Facturarea.** Din 2024, facturile între firme din România trec prin [sistemul RO e-Factura](https://mfinante.gov.ro/en/acasa/-/asset_publisher/uwgr/content/facturarea-electronic-c4-83-obligatorie-de-la-1-ianuarie-2024-pentru-toate-tranzac-c8-9biile-c3-aentre-firme), deci programul trebuie să știe asta de la prima factură, nu de la a zecea.
- **Banca**: contul, cardurile, adesea și terminalul de plată.
- **Casa de marcat, POS-ul și stocurile**, pentru un magazin, o cafenea sau un service auto, înainte de primul client.
- **CRM-ul, programările, pontajul** și restul aplicațiilor de lucru, de obicei ceva mai târziu, când foaia de calcul nu mai ajunge.

Toate au ceva în comun: se schimbă greu. După un an de facturi, un nomenclator de produse, o casă de marcat fiscalizată și rapoarte pe care contabilul le știe pe de rost, o mutare pe alt program devine un proiect, cu riscuri și cu o zi pierdută. La o firmă care a emis trei facturi, aceeași mutare durează cât să-ți faci un cont nou.

> La o firmă cu un an de facturi, schimbarea programului e un proiect. La o firmă cu o săptămână, e o decizie.

Cine vinde soft are, deci, două feluri de clienți: firmele care încă aleg și firmele pe care trebuie să le convingă să renunțe la ce au deja. Primele sunt mult mai ușor de câștigat, cu condiția să afli de ele cât timp aleg.

## Ce știi despre o firmă în prima ei săptămână

Puțin, dar suficient ca să știi dacă te interesează:

| Ce | În prima săptămână | Mai târziu |
| --- | --- | --- |
| CUI, denumire, nr. de înregistrare | da | se schimbă rar |
| Județ, localitate, adresă | de obicei | se pot schimba la o mutare a sediului |
| Forma juridică (`SRL`, `SA` …) | de obicei | lipsește cât firma e cunoscută doar de la ANAF |
| Codul CAEN principal | la trei firme din patru | restul, după ce îl are și ANAF |
| Înregistrarea în scopuri de TVA | de multe ori nu încă | când se înregistrează |
| Cifra de afaceri, salariați, stocuri | nu | după primul bilanț, în anul următor |

Primele semnale sunt deci patru: **codul CAEN** (ce face firma), **județul** (unde e, ceea ce contează pentru o echipă de vânzări pe teren sau pentru un contabil care lucrează local), **forma juridică** și **TVA**. O firmă care se înregistrează în scopuri de TVA din primele săptămâni are alt fel de facturi decât una care nu.

Ce nu există încă este bilanțul. Situațiile financiare ale anului N se depun în anul N+1, iar Ministerul Finanțelor le publică o dată pe an. Pentru o firmă înființată anul acesta, lista e pur și simplu goală (date de exemplu):

```console
$ curl -s -H "Authorization: Bearer $APIFIRME_KEY" \
    https://apifirme.dev/rest/v1/companies/90000065/financials
{
  "cui": 90000065,
  "financials": []
}
```

Așa că, în primul an, nu segmentezi după cât de mare e firma, ci după ce face, unde e și ce formă are. Mărimea vine mai târziu, odată cu primul bilanț.

## De ce contează ziua în care afli

ANAF atribuie codurile fiscale în ordine. apifirme urmărește șirul din oră în oră și adaugă fiecare cod nou, de obicei, în ziua de după înregistrare. Fiecare firmă nouă are de aceea două date care nu trebuie confundate: `registered_on`, ziua înregistrării, și `discovered_at`, momentul în care a intrat în baza de date. Cine întreabă zilnic paginează după a doua.

O listă de firme noi exportată o dată pe trimestru ajunge, în schimb, după ce fereastra s-a închis. Și mai e o problemă: datele unei firme noi nu stau pe loc. În primele săptămâni firma se înregistrează în scopuri de TVA, îi apare codul CAEN la ANAF, uneori își mută sediul. De aceea firmele înregistrate în ultimele 90 de zile sunt reverificate zilnic la ANAF, plătitorii de TVA activi săptămânal, restul lunar. Ritmul exact și sursele sunt pe [pagina despre date](https://apifirme.dev/despre-date).

O firmă fără cod CAEN în prima zi nu se pierde: când i se află codul, județul sau forma juridică, reapare în listă cu un `discovered_at` nou. O recunoști după `cui`. Așa o prinzi și dacă filtrezi după CAEN.

## Câte sunt: `/registrations/count`

Înainte să te întrebi care sunt firmele, întreabă-te câte sunt. [`/registrations/count`](https://apifirme.dev/docs#get-rest-v1-registrations-count) e inclus în orice plan, inclusiv cel gratuit, și primește aceleași filtre ca lista: `days`, `caen`, `caen_prefix`, `judet`, `forma_juridica`. Comerțul cu amănuntul (diviziunea 47), ultimele 30 de zile:

```console
$ curl -s -H "Authorization: Bearer $APIFIRME_KEY" \
    'https://apifirme.dev/rest/v1/registrations/count?days=30&caen_prefix=47'
{
  "count": 19,
  "filter": {
    "registered_from": "2026-09-03",
    "registered_to": "2026-10-03",
    "caen_prefix": "47"
  },
  "upgrade_required_for_records": false
}
```

Cifrele din exemplele acestui articol vin de pe un server de test, cu date de exemplu; în realitate apar câteva sute de persoane juridice noi în fiecare zi lucrătoare, iar pentru diviziunea ta numărul va fi altul. `upgrade_required_for_records` îți spune dacă lista acestor firme cere un plan mai mare decât al cheii tale. Numărătoarea merge oricum.

## Care sunt: `/registrations`

Lista propriu-zisă ([`/registrations`](https://apifirme.dev/docs#get-rest-v1-registrations)) e în planurile mai mari: cel mai mic dintre ele o dă pe ultimele 30 de zile, următorul pe 90. Programul de mai jos ia firmele noi din ultimele zile, păstrează pentru fiecare CUI varianta cea mai nouă și arată ce se știe despre ele:

`prima_saptamana.py`

```python
import os
import sys
from collections import Counter

import requests

BASE = os.environ.get("APIFIRME_BASE", "https://apifirme.dev/rest/v1")
HEADERS = {"Authorization": f"Bearer {os.environ['APIFIRME_KEY']}"}

def firme_noi(zile, judet=None):
    params = {"days": zile, "limit": 500}
    if judet:
        params["judet"] = judet
    firme = {}
    while True:
        r = requests.get(f"{BASE}/registrations", params=params,
                         headers=HEADERS, timeout=15)
        if r.status_code == 403:
            sys.exit(r.json()["detail"])
        r.raise_for_status()
        pagina = r.json()
        for f in pagina["data"]:
            # o firmă reapare când i se află CAEN-ul; păstrăm varianta cea mai nouă
            firme[f["cui"]] = f
        if not pagina["next_cursor"]:
            return list(firme.values())
        params["cursor"] = pagina["next_cursor"]

zile = int(sys.argv[1]) if len(sys.argv) > 1 else 7
judet = sys.argv[2] if len(sys.argv) > 2 else None
firme = firme_noi(zile, judet)

print(f"{len(firme)} firme noi, înregistrate în ultimele {zile} zile")
print(f"  fără cod CAEN deocamdată: {sum(f['caen'] is None for f in firme)}")
print(f"  înregistrate în scopuri de TVA: {sum(f['scp_tva'] for f in firme)}")
forme = Counter(f["forma_juridica_cod"] or "?" for f in firme)
print("  forme juridice:", ", ".join(f"{k} {n}" for k, n in forme.most_common()))
diviziuni = Counter(str(f["caen"])[:2] for f in firme if f["caen"])
print("  diviziuni CAEN:", ", ".join(f"{k} ({n})" for k, n in diviziuni.most_common(5)))
print()
for f in sorted(firme, key=lambda f: f["discovered_at"], reverse=True)[:5]:
    caen = f["caen"] or "----"
    print(f"{f['cui']}  {f['registered_on']}  {f['judet']:2}  {caen}  {f['denumire']}")
```

Rulat pe datele de exemplu:

```console
$ python3 prima_saptamana.py 7
27 firme noi, înregistrate în ultimele 7 zile
  fără cod CAEN deocamdată: 4
  înregistrate în scopuri de TVA: 0
  forme juridice: SRL 27
  diviziuni CAEN: 10 (6), 69 (4), 46 (4), 86 (2), 62 (2)

91003825  2026-10-02  CT  ----  EXEMPLU DUNAREA PANIFICATIE SRL
91003760  2026-10-02  CJ  6210  EXEMPLU NORDIC SOFTWARE SRL
91003302  2026-09-29  AG  8622  EXEMPLU FAGET MEDICAL SRL
91003892  2026-10-02  CT  ----  EXEMPLU AURORA TRANS SRL
91003191  2026-09-28  SV  6920  EXEMPLU ALFA CONTA SRL
```

Două lucruri se văd deja aici. Firma 91003302, înregistrată pe 29 septembrie, e printre ultimele descoperite: a reapărut când i s-a aflat codul CAEN. Și niciuna dintre firme nu e încă plătitoare de TVA, ceea ce, pentru o firmă de câteva zile, nu surprinde pe nimeni. Pe un plan fără listă, programul se oprește cu mesajul din răspunsul `403`:

```console
$ python3 prima_saptamana.py
The records of newly registered companies are part of the larger plans. GET /rest/v1/registrations/count is included in every plan and shows how many companies a filter matches.
```

Ce nu găsești în listă: persoanele fizice autorizate, întreprinderile individuale și familiale (nu servim date despre persoane fizice), sediile secundare cu CUI propriu și numele administratorilor. Primești firma, nu oamenii din spatele ei.

## Despre ce scriem aici

Blogul acesta e despre datele firmelor din România și despre codul care le folosește: firmele noi și cum le prinzi fără să pierzi niciuna, bilanțurile ca sursă de decizie, verificarea unui client înainte de factură, cursul BNR și ce faci când un furnizor de date nu răspunde la timp (inclusiv trecerea pe openapi.ro, alt furnizor românesc). Exemplele rulează, ieșirile arătate sunt cele reale, pe date de exemplu, iar limitele datelor le spunem odată cu ele.

## De încercat

Fă-ți un [cont gratuit](https://apifirme.dev/cont/intra) (doar adresa de e-mail și un cod, fără parolă) și numără firmele noi din județul și diviziunea CAEN cărora le vinzi, pe ultimele 30 de zile. Dacă numărul e zero, segmentul e prea îngust. Dacă e mai mare decât poate suna echipa ta într-o lună, ai nevoie de un filtru în plus, nu de mai mulți oameni.
---

*Versiunea Markdown a articolului [Firmele noi își aleg softul în primele săptămâni](https://blog.apifirme.dev/firmele-noi-isi-aleg-softul-in-primele-saptamani/) de pe blog.apifirme.dev, blogul API-ului apifirme (https://apifirme.dev). Toate articolele: https://blog.apifirme.dev/llms.txt*
