Factoring și IFN-uri: date financiare oficiale în scoringul debitorilor

În factoring, riscul nu stă doar la clientul tău, ci și la cei care trebuie să plătească facturile. Ce variabile scoți din bilanțuri, restanțe și dosare, cum le pui într-un model și cum explici fiecare decizie.

Mihai Gabriel OanceaRedacția Bilanț API
Publicat
Timp de citire
6 min de citit
Cuvinte
1.113 cuvinte
Un analist de credit urmărește date pe două monitoare.
Un analist de credit urmărește date pe două monitoare. · Fotografie: AlphaTradeZone, Pexels
Cuprins
  1. Ce ai la dispoziție, public
  2. Variabilele din bilanț
  3. Scorul gata făcut
  4. Variabilele din restanțe și din dosare
  5. Cum curg datele
  6. Colectarea, în cod
  7. Cât costă un debitor
  8. Aderentul și concentrarea
  9. Ce am învățat pe drum

Un aderent cu 50 de clienți înseamnă 51 de firme de analizat. Asta e aritmetica factoringului, și tot ea explică de ce analiza debitorilor devine atât de repede locul unde se blochează tot procesul. Banii finanțați nu-i dă înapoi aderentul, ci clientul lui. Deci riscul are două fețe: firma care cedează facturile și firmele care trebuie să le plătească.

IFN-urile care creditează firme au o problemă înrudită: multe cereri mici, fiecare cu nevoie de o decizie rapidă și pe care s-o poți explica. În ambele cazuri, fără date colectate automat nu ai cum să ții pasul.

Comitet de credit reunit într-o sală de ședințe
Fotografie: Héctor Berganza, Pexels

Ce ai la dispoziție, public

Pentru fiecare debitor, patru surse acoperă cea mai mare parte din imaginea de risc disponibilă public. Situațiile financiare din 2008 încoace, cu indicatori calculați, evoluție, poziție în sector și un scor de risc cu factori. Profilul fiscal, cu starea, situația juridică, inactivitatea și regimul de TVA, actualizat zilnic. Restanțele la stat din listele ANAF, trimestrial, cu istoric și evoluție. Și dosarele de instanță, cu calitatea firmei în proces și tendința pe ani.

Variabilele din bilanț

GET /api/v1/bilant/{cui}/indicatori îți dă, pe ani, marja netă și brută, rentabilitatea capitalurilor și a activelor, lichiditatea curentă, gradul de îndatorare și capitalul de lucru (marja_neta, marja_bruta, roe, roa, lichiditate_curenta, grad_indatorare, capital_de_lucru), plus cifra de afaceri și rezultatul pe angajat. Din seria multi-an, GET /api/v1/bilant/{cui}/evolutie, iei creșterea de la an la an și rata medie anuală de creștere pentru cifra de afaceri, profit și angajați.

Greșeala pe care o văd des e să folosești doar valorile din ultimul an. Într-un model, tendințele au adesea mai multă putere: schimbarea lichidității față de anul anterior, câți ani cu pierdere din ultimii trei, cât de mult sare cifra de afaceri de la an la an.

Apoi poziția în sector. Un grad de îndatorare de 70% înseamnă altceva în construcții decât în software. GET /api/v1/bilant/{cui}/pozitie îți dă locul firmei, percentila și raportul față de mediana sectorului. Variabilele relative la sector sunt de obicei mai stabile decât cele absolute, pentru că scot din calcul diferențele structurale dintre industrii.

Scorul gata făcut

Dacă nu vrei să construiești totul de la zero, GET /api/v1/bilant/{cui}/risc îți dă un scor de la 0 la 100, unde scor mare înseamnă risc mic, o clasă de la A la E, factorii care l-au stabilit și scorul Altman Z''. Îl poți folosi direct ca variabilă în modelul tău sau ca punct de comparație. Metodologia e publică, pe pagina metodologia scorului de risc. Eu aș începe cu el ca variabilă și aș vedea cât adaugă peste el restul modelului.

Variabilele din restanțe și din dosare

GET /api/v1/fiscal/{cui}/restante îți dă variabile care se schimbă trimestrial, deci mai proaspete decât bilanțul. Ai prezența pe lista curentă (are_restante), totalul (total_restant), ponderea accesoriilor și a sumelor contestate (din structura), direcția evoluției (evolutie.directie), numărul de liste consecutive (evolutie.publicari_consecutive) și datoria maximă (evolutie.maxim).

GET /api/v1/dosare/{cui} îți dă numărul de dosare în curs (sumar.in_curs) și distribuția pe calitate și pe ani. Numărul de dosare noi în care firma e pârâtă, în ultimul an, e o variabilă simplă și adesea surprinzător de predictivă.

Specialist în date care desenează schema unui model pe tablă
Fotografie: Christina Morillo, Pexels

Cum curg datele

Când intră un aderent nou, sistemul scoate lista de debitori din facturi și cere datele pentru fiecare CUI. Răspunsurile brute se salvează cu data lor. Aici insist: variabilele le calculezi din răspunsurile salvate, nu direct din API. Așa poți recalcula tot portofoliul când schimbi modelul, fără să plătești din nou pentru date.

Modelul produce apoi un scor și o limită pe debitor. Fiecare decizie își păstrează variabilele folosite și factorii principali, ca să ai un răspuns concret când un aderent te întreabă de ce i-ai refuzat un debitor. Reîmprospătarea urmează ritmul surselor: restanțele trimestrial, bilanțul anual, profilul fiscal înainte de fiecare finanțare nouă.

Colectarea, în cod

import os, requests

BAZA = "https://www.bilantapi.ro/api/sandbox/v1"
ANTETE = {"X-API-KEY": os.environ["BILANTAPI_KEY"]}

def colecteaza(cui):
    rute = {
        "profil": f"/registru/firme/{cui}",
        "indicatori": f"/bilant/{cui}/indicatori",
        "pozitie": f"/bilant/{cui}/pozitie",
        "risc": f"/bilant/{cui}/risc",
        "restante": f"/fiscal/{cui}/restante",
    }
    brut = {}
    for nume, ruta in rute.items():
        r = requests.get(BAZA + ruta, headers=ANTETE, timeout=15)
        brut[nume] = r.json() if r.ok else None
        brut[nume + "_cost"] = r.headers.get("X-Credit-Charged")
    return brut

Antetul X-Credit-Charged îți arată cât a costat de fapt fiecare cerere, util ca să urmărești costul pe dosar de finanțare. În sandbox, unde rulează exemplul, valoarea e mereu 0, iar X-Credit-Cost îți arată cât ar costa aceeași cerere în producție. Sandbox-ul cere o cheie API, deci un cont gratuit și fără card, iar cererile de acolo nu consumă credite și primesc date fictive.

Cât costă un debitor

Pachetul din exemplu costă 1 (profil) + 2 (indicatori) + 3 (poziție) + 3 (risc) + 3 (restanțe) = 12 credite. Cu dosarele, încă 8. La debitorii recurenți, datele de bilanț le refolosești tot anul, deci o factură nouă pe același debitor te costă aproape nimic în plus. Prețurile pachetelor mari de credite sunt pe pagina abonamente.

Aderentul și concentrarea

Aceleași rute se aplică și aderentului, iar pe el nu-l scăpa din ochi. Un aderent cu restanțe în creștere la stat sau cu dosare noi în care e pârât de clienți poate ceda facturi disputate sau poate încerca să finanțeze aceeași factură de două ori.

Apoi privește portofoliul întreg. Să zicem că o treime din facturile finanțate au același debitor, sau debitori din același sector CAEN. Un singur eveniment te lovește atunci prin mai mulți aderenți deodată. Codul CAEN principal și județul din profilul fiscal îți permit să calculezi concentrarea pe sectoare și pe zone fără mare efort.

Ce am învățat pe drum

Tratează explicit lipsa datelor. Un debitor fără bilanț nu are indicatori, iar modelul trebuie să știe să-l trateze separat. Dacă îi completezi indicatorii cu zero, ai inventat o firmă cu lichiditate zero, care n-are nicio legătură cu realitatea.

Nu amesteca anii. Indicatorii din bilanț descriu un exercițiu anume, așa că salvezi anul lângă fiecare variabilă. Testează modelul pe portofoliul istoric: dacă ai debitori care au intrat în întârziere în trecut, vezi ce ar fi spus modelul despre ei înainte. Și păstrează un om în buclă pentru expunerile mari și pentru cazurile de la limită. Niciun model nu merită încrederea oarbă la sumele alea.

Rutele financiare sunt descrise pe pagina API Bilanț. Un cont nou vine cu 250 de credite gratuite, fără card. La 12 credite pe debitor, poți evalua vreo 20 de debitori ai unui aderent mic și compara rezultatul cu analiza pe care o faci acum.

Întrebări frecvente

De ce mă interesează debitorul, dacă eu lucrez cu aderentul?

Pentru că debitorul plătește factura finanțată. Dacă nu plătește, riscul ajunge la finanțator sau la aderent, în funcție de tipul contractului.

Cât costă datele pentru un debitor?

12 credite pentru profil fiscal, indicatori, poziție în sector, scor de risc și restanțe. Cu dosarele de instanță, 20.

Pot băga scorul de risc direct în modelul meu?

Da. Scorul și clasa merg ca variabile sau ca reper de comparație, iar metodologia lor e publică.

Despre autor

Mihai Gabriel Oancea

Redacția Bilanț API

Scrie pentru BilantAPI despre bilanțurile firmelor din România și despre cum se lucrează cu datele financiare.