Files
gomag-vending/docs/diagnostic-prod-partener-gresit.md
Marius Mutu 136c4e9986 fix(retry): pass ANAF kwargs on retry/resync so VAT-payer partner is matched
retry_service called import_single_order without cod_fiscal_override /
anaf_strict / denumire_override, so re-imports searched the partner by the raw
GoMag CUI in dual mode and could match the non-payer twin (bare CUI) of a
payer (RO CUI). Add anaf_import_kwargs mirroring the sync flow, plus test and
agent docs for prod partner diagnostics.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L3v311J3SfjroTebzR96ng
2026-09-29 11:01:09 +03:00

2.8 KiB

Diagnostic prod: comanda pe partener gresit (agenti)

Acces prod (read-only)

  • ssh -p 22122 -i ~/.ssh/id_ed25519 romfast@79.119.86.134 — user romfast (NU gomag; gomag@ cere parola). Sursa: profil Tunnelier D:\vm303-profile\vending.tlp.
  • Script: ssh ... "C:\gomag-vending\venv\Scripts\python.exe -" < script.py (stdin). Scriptul incepe cu sys.stdout.reconfigure(encoding='utf-8').
  • Oracle: dotenv_values(r"C:\gomag-vending\api\.env"), TNS_ADMIN din env, oracledb.init_oracle_client(lib_dir=INSTANTCLIENTPATH), user/dsn din .env.
  • SQLite: file:C:/gomag-vending/api/data/import.db?mode=ro (uri=True). api/data/import.db local = vechi, inutil.
  • Loguri: C:\gomag-vending\logs\service_stderr-*.log (au ore); service_stdout.log = access log HTTP, FARA ore.
  • Capcane locale: /tmp din Bash != /tmp din Python Windows; venv/ din repo e Linux -> pytest cu venv temporar (pip install -r api/requirements.txt pytest pytest-asyncio); tests/e2e,tests/qa cer Playwright (--ignore la unit).

Schema Oracle (verificat)

  • comenzi.comanda_externa = numar comanda GoMag; fara id_adresa_*. Reimport/resync = comanda noua (id_comanda nou), veche sters=1.
  • vanzari: serie_act, numar_act, data_act, id_part, id_comanda, sters (nu nr_act).
  • 54 tabele cu ID_PART; cu date pt un partener: VANZARI, IREG_PARTENERI, BALANTA_PARTENERI, JV2007, ADRESE_PARTENERI, CORESP_TIP_PART, COMENZI, NOM_PARTENERI. Verificare mutare partener = numarare pe toate (user_tab_columns JOIN user_tables).
  • Registru TVA / jurnal: tabelele nu sunt identificate; nu s-au verificat.

Cauza gasita (2026-09, CTC BEN PROD, CUI 40874913)

  • Doi parteneri: 24174 RO40874913 (platitor) si 2567 40874913 (fara RO). Comenzi 505768386, 517596384.
  • retry_service._download_and_reimport (butoane retry/resync/batch retry) apela import_single_order FARA cod_fiscal_override/anaf_strict/denumire_override -> cautare duala pe CUI brut GoMag -> gemenul fara RO.
  • Fix: retry_service.anaf_import_kwargs(order) (oglindeste sync_service ~L904-965), test api/tests/test_retry_anaf_kwargs.py. Orice apelant nou al import_single_order trebuie sa il foloseasca.
  • Mesajul log Retry successful e emis si de resync (POST /api/orders/{n}/resync); NU inseamna eroare/retry automat. Nu exista retry automat.

Reguli

  • orders.cod_fiscal_roa/denumire_roa (SQLite) vin din override ANAF, nu din Oracle; partner_mismatch=0 NU dovedeste partenerul corect. Adevar = comenzi.id_part / vanzari.id_part.
  • Corectia partenerului pe factura emisa (comanda, vanzari, registru jurnal, registru TVA) o face utilizatorul in ROA. Agentii NU muta id_part pe documente contabile; doar verifica. Scop cerut aici: doar factura/comanda din luna respectiva, nu istoricul (2567 pastreaza 18 vanzari 2020-2026).