Pe drumul FDB sinteticul e suma bruta a notelor, deci diferenta fata de analitice se scrie cu D si C separat, nu pe net: rulajul 401 LACERTA iese ca in SAGA (8.991,55 / 57.253,22). PDF/xls raman pe net (etalonul trece). Conturile nepartener fara sold si fara rulaj (891) nu mai intra in xlsx. LACERTA: 51/53 frunze identice cu REF; restul sunt asezari alese (5121, 4428), cu totaluri egale pe cont. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYeAtVxeS8m4oXekjX8Am2
solduri2roa
Transforma soldurile unei firme din SAGA in xlsx-ul de initializare pentru ROACONT.
Pe scurt
py extrage.py --fisier <sursa> --firma FIRMA --an 2026 --luna 6
py genereaza.py --firma FIRMA --an 2026 --luna 6
Rezultatul este iesiri/init_FIRMA_2026_6.xlsx, care se importa in ROACONT.
--an/--luna = luna ale carei solduri finale se preiau.
Surse acceptate
| sursa | fisier | ce se obtine |
|---|---|---|
| SAGA noua (Firebird) | CONT_BAZA.FDB (o copie, nu baza vie) sau backup .fbk |
balanta + parteneri cu CUI + facturi per document |
| export SAGA | .xls / .xlsx |
doar balanta |
| balanta tiparita | .pdf |
doar balanta |
Tipul se deduce din extensie. FDB-ul e sursa recomandata. Clientul face copia dupa
docs/procedura_copie_fdb_client.md. Poate fi si oprita (shutdown): unealta
lucreaza pe o copie a ei si nu atinge fisierul primit. Un .fbk se restaureaza
automat in temporar.
Pasii
-
Extrage -
extrage.pyscrie indate/:balanta_FIRMA.csv(+parteneri_,facturi_din FDB). -
Genereaza -
genereaza.pyscrie iniesiri/:init_FIRMA_<an>_<luna>.xlsx- fisierul de import;verificare_FIRMA.md- verificarile; toate trebuie sa fieOK.
Si in
date/:mapare_FIRMA.xlsx- ce cont ROA primeste fiecare cont SAGA (doar de citit);corectii_FIRMA.xlsx- creat gol la prima rulare; aici corectezi tu.
-
Corecteaza daca genereaza se opreste (
Stop: ...) sau maparea nu e buna. Completezicorectii_FIRMA.xlsxsi rulezi din nou pasul 2. -
Importa xlsx-ul in ROACONT (formularul de initializare solduri).
-
Coduri fiscale - partenerii fara CUI intra cu un cod provizoriu (
401.00027). Le cauti pe ANAF si le corectezi dupa import (sql/update_cod_fiscal_<SCHEMA>.sql). Din FDB raman doar partenerii fara CUI in SAGA; din PDF/xls, toti.
Corectii (corectii_FIRMA.xlsx)
Coloane: cont_saga, cont, acont, exclus, motiv. cont are maxim 4 caractere,
acont la fel. exclus = da scoate contul din import, cu tot cu analiticele lui.
cont_saga |
se aplica la |
|---|---|
419.NETOPIA |
exact acel cont |
4428.TOATE |
toate analiticele lui 4428 |
4428.RESTUL |
analiticele lui 4428 fara corectie exacta |
Exemple: 419.NETOPIA -> 419 / 2, 4428.TOATE -> 4428 / 01 = strange toate analiticele
pe unul singur (lasa acont gol doar daca sinteticul nu are si postari directe).
Cand un analitic nu incape in 4 caractere, genereaza se opreste si iti cere corectia.
Cont cu parteneri care are si analitice functionale (ex. 461.SGR): pastrezi analiticul
cu 461.SGR -> 461 / SGR si pui partenerii pe alt acont cu 461.RESTUL -> 461 / 1. Iese cate
un rand BALANTA pe fiecare acont, cu facturile lui.
Reguli de stiut
- Conturile cu parteneri sunt in
config/conturi_parteneri.csv(autoritatea). Primesc un randBALANTApe sintetic si randuriFACTURAper partener sau document. - In xlsx intra doar frunzele (ultimul nivel de analitic).
- Data soldurilor este ultima zi a lunii (
30.06.2026pentru--luna 6). - Diferenta dintre sintetic si suma analiticelor (note puse direct pe sintetic) iese
pe un analitic de diferenta (
9999,99) sau, la parteneri, peNEREPARTIZATin ROA. Din FDB intra cu debitul si creditul brute (rulaj ca in SAGA); din PDF/xls, pe net. - Conturile fara sold si fara rulaj nu intra in xlsx.
- Nu ajusta cifre ca sa treaca o verificare. Raporteaza.
Teste
py -m unittest discover -s tests
Testele pe date de client (LACERTA) se sar daca fisierele din exemple/ lipsesc.
Aceste fisiere nu sunt in git.
Mai mult
docs/decizii_import.md (regulile de mapare), docs/analiza_lacerta_fdb.md (proba pe
client real), CLAUDE.md (verificarile obligatorii).