Etapa 5b ramane si pe drumul FDB: SAGA are parteneri fara COD_FISCAL

Verificat pe firma de joaca: ROMFAST (401.00001) nu are COD_FISCAL, deci
citire_fdb.citeste_parteneri cade pe contul analitic - exact codul provizoriu
pe care etapa 5b il repara. TRANSPORT (401.00002) are CUI real, 1879855.

Pasul ANAF nu se scoate pentru sursa Firebird, doar se micsoreaza la
partenerii cu cod_fiscal == cont_analitic. Asertiune in test_citire_fdb.py
care pica daca setul lor se schimba.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYeAtVxeS8m4oXekjX8Am2
This commit is contained in:
2026-09-21 19:35:57 +03:00
parent bbd7225c9f
commit 3499a0946c
3 changed files with 22 additions and 2 deletions

View File

@@ -83,8 +83,12 @@ In ordinea in care le-as face:
2. **Al doilea import real, capat-la-capat**, pe o firma noua: `extrage.py` -> corectii in 2. **Al doilea import real, capat-la-capat**, pe o firma noua: `extrage.py` -> corectii in
`corectii_<FIRMA>.xlsx` -> `genereaza.py` -> import in ROACONT. Asta exerseaza pasul de mapare `corectii_<FIRMA>.xlsx` -> `genereaza.py` -> import in ROACONT. Asta exerseaza pasul de mapare
pe date pe care nu le-a vazut nimeni si e primul test adevarat al lui `.TOATE`/`.RESTUL`. pe date pe care nu le-a vazut nimeni si e primul test adevarat al lui `.TOATE`/`.RESTUL`.
3. **Pasul 5b (cautarea pe ANAF)** devine inutil pe drumul FDB, unde codul fiscal e real. 3. ~~**Pasul 5b (cautarea pe ANAF)** devine inutil pe drumul FDB~~ - **verificat 21.09.2026,
Verifica pe date reale si, daca se confirma, scoate-l din flux pentru sursa Firebird. nu se confirma.** SAGA permite parteneri fara `COD_FISCAL`; `citire_fdb.py:224` cade atunci
pe contul analitic, adica exact codul provizoriu pe care 5b il repara. Pe firma de joaca
ROMFAST (`401.00001`) n-are CUI, TRANSPORT are `1879855`. Pasul ramane, doar se
micsoreaza: se cauta numai partenerii cu `cod_fiscal == cont_analitic`. Detaliile in
`docs/plan_solduri2roa.md`, etapa 5b; asertiune in `tests/test_citire_fdb.py`.
4. Marunt, cand se nimereste: portul **4296** nu e trecut in tabelul din 4. Marunt, cand se nimereste: portul **4296** nu e trecut in tabelul din
`D:\ROA\ROACONT\COMUN\docs\opencode_agenti_orchestrare.md` (COMUN cere aprobare `D:\ROA\ROACONT\COMUN\docs\opencode_agenti_orchestrare.md` (COMUN cere aprobare
inainte de commit). inainte de commit).

View File

@@ -59,6 +59,14 @@ Pasul e obligatoriu, nu optional: partenerii intra in xlsx cu cod fiscal provizo
se ruleaza manual dupa import). se ruleaza manual dupa import).
5. Partenerii negasiti raman cu codul provizoriu si se raporteaza explicit. 5. Partenerii negasiti raman cu codul provizoriu si se raporteaza explicit.
**Pe sursa Firebird pasul ramane, nu dispare** (verificat 21.09.2026 pe firma de joaca).
SAGA permite furnizori/clienti fara `COD_FISCAL`, iar `citire_fdb.citeste_parteneri` cade
atunci pe contul analitic - acelasi cod provizoriu ca pe drumul PDF. Pe firma de joaca
ROMFAST (`401.00001`) nu are CUI, TRANSPORT (`401.00002`) are `1879855`: 1 din 2. Ce se
schimba fata de PDF e doar volumul: se cauta numai partenerii cu
`cod_fiscal == cont_analitic`, restul vin cu CUI real din baza. Asertiunea din
`tests/test_citire_fdb.py::test_parteneri_si_facturi` pica daca asta se schimba.
## Etapa 6 - git ## Etapa 6 - git
`git init`, commit, push pe `gitea.romfast.ro:romfast/solduri2roa.git` (push-to-create). `git init`, commit, push pe `gitea.romfast.ro:romfast/solduri2roa.git` (push-to-create).
Se comit: scripturile, `docs\`, CSV-urile si xlsx-urile generate. PDF-urile: da (sunt sursa, 30 KB). Se comit: scripturile, `docs\`, CSV-urile si xlsx-urile generate. PDF-urile: da (sunt sursa, 30 KB).

View File

@@ -119,6 +119,14 @@ class TestCitireFdb(unittest.TestCase):
self.assertTrue(r["cont_analitic"]) self.assertTrue(r["cont_analitic"])
self.assertTrue(r["cod_fiscal"], self.assertTrue(r["cod_fiscal"],
"cod fiscal gol pentru %s" % r["cont_analitic"]) "cod fiscal gol pentru %s" % r["cont_analitic"])
# Codul fiscal lipsa in SAGA cade pe contul analitic (citire_fdb.py). Pe firma
# de joaca ROMFAST (401.00001) nu are COD_FISCAL, TRANSPORT (401.00002) are CUI
# real. Asta dovedeste ca drumul FDB NU scuteste de etapa 5b (cautarea ANAF).
provizorii = {r["cont_analitic"] for r in parteneri
if r["cod_fiscal"] == r["cont_analitic"]}
self.assertEqual(provizorii, {"401.00001"},
"s-a schimbat setul de parteneri fara CUI real")
facturi = citire_fdb.citeste_facturi(self.baza, AN, LUNA) facturi = citire_fdb.citeste_facturi(self.baza, AN, LUNA)
for r in facturi: for r in facturi:
self.assertTrue(r["cont_analitic"]) self.assertTrue(r["cont_analitic"])