Marius Mutu 7ac40f9a34 FDB: postarile direct pe sintetic raman brute; conturile 0/0 nu intra
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
2026-09-27 16:58:46 +03:00

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

  1. Extrage - extrage.py scrie in date/: balanta_FIRMA.csv (+ parteneri_, facturi_ din FDB).

  2. Genereaza - genereaza.py scrie in iesiri/:

    • init_FIRMA_<an>_<luna>.xlsx - fisierul de import;
    • verificare_FIRMA.md - verificarile; toate trebuie sa fie OK.

    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.
  3. Corecteaza daca genereaza se opreste (Stop: ...) sau maparea nu e buna. Completezi corectii_FIRMA.xlsx si rulezi din nou pasul 2.

  4. Importa xlsx-ul in ROACONT (formularul de initializare solduri).

  5. 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 rand BALANTA pe sintetic si randuri FACTURA per partener sau document.
  • In xlsx intra doar frunzele (ultimul nivel de analitic).
  • Data soldurilor este ultima zi a lunii (30.06.2026 pentru --luna 6).
  • Diferenta dintre sintetic si suma analiticelor (note puse direct pe sintetic) iese pe un analitic de diferenta (9999, 99) sau, la parteneri, pe NEREPARTIZAT in 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).

Description
No description provided
Readme 569 KiB
Languages
Python 100%