- genereaza_xlsx: coloana data = ultima zi a lunii; etalonul de regresie actualizat doar pe aceasta coloana (verificat celula cu celula). - config: 542 cont cu parteneri (acum identic cu REF); descrierea lui 4092 corectata. - extrage/citire_fdb: .fbk se restaureaza cu gbak -c in temporar; test ca da aceleasi fisiere ca FDB-ul. - test_lacerta: 49/53 frunze identice cu REF, 4428.TOATE -> 4428/01. 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.
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.
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. - 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).