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
`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`.
3. **Pasul 5b (cautarea pe ANAF)** devine inutil pe drumul FDB, unde codul fiscal e real.
Verifica pe date reale si, daca se confirma, scoate-l din flux pentru sursa Firebird.
3. ~~**Pasul 5b (cautarea pe ANAF)** devine inutil pe drumul FDB~~ - **verificat 21.09.2026,
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
`D:\ROA\ROACONT\COMUN\docs\opencode_agenti_orchestrare.md` (COMUN cere aprobare
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).
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
`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).

View File

@@ -119,6 +119,14 @@ class TestCitireFdb(unittest.TestCase):
self.assertTrue(r["cont_analitic"])
self.assertTrue(r["cod_fiscal"],
"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)
for r in facturi:
self.assertTrue(r["cont_analitic"])