solduri2roa: balante SAGA PDF -> xlsx initializare ROACONT

Extragere pe coordonate (pdfplumber), generarea celor doua xlsx pentru
FUNDATIA si MASTER 12/2025, regulile de mapare si rapoartele de verificare.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BdA5a3ECKFD6Citf1ptPZu
This commit is contained in:
2026-09-21 00:02:30 +03:00
commit 92dc8c7b32
22 changed files with 1876 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
# Verificare `init_FUNDATIA_2025_12.xlsx`
Generat de `genereaza_xlsx.py` din `balanta_FUNDATIA.csv`. Randuri de date: 75 (47 BALANTA, 28 FACTURA).
## 1. Balanta generala (SUM totdeb = SUM totcred)
- SUM(totdeb) = 7068369.5
- SUM(totcred) = 7068369.5
- diferenta (totdeb - totcred) = 0.0 -> OK
- Totaluri balanta: total_d=6328537.83 total_c=6328537.83 net=0.0
- NET xlsx (0.0) vs NET Totaluri (0.0) -> OK
- Nota: SUM(totdeb)=7068369.5 difera de Totaluri.total_d=6328537.83 cu 739831.67; suma pe laturi a PDF-ului nu se poate reconstrui din frunze acolo unde SAGA a netat sinteticul (gross-ul parintelui e netat). Netul se pastreaza exact.
## 2. Conturi frunza din CSV, reprezentate o singura data
- frunze in CSV: 66
- reprezentate in xlsx: 66
- conturi pierdute: [] (gol) -> OK
- frunze cu mai putin/mai mult de un rand dedicat: [] (gol) -> OK
## 3. Conturi partener: FACTURA + NEREPARTIZAT = net sintetic
Formularul scade din randul BALANTA suma randurilor FACTURA de pe acelasi `(cont, acont, latura)` si lasa restul pe partenerul `NEREPARTIZAT`. Deci: `net sintetic - SUM(sold FACTURA cu semn) = analitice sarite + postare directa pe sintetic`.
| cont | SUM(sold FACTURA) | net sintetic | analitice sarite | postare directa | NEREPARTIZAT asteptat | diferenta | rezultat |
|---|---|---|---|---|---|---|---|
| 401 | -314703.58 | -314703.58 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
| 4092 | 809.33 | 809.33 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
| 4111 | 15126.48 | 15126.48 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
| 4551 | -1571531.33 | -1571531.33 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
| 461 | 477938.37 | 477938.37 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
| 462 | -3400771.0 | -3400771.0 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
| 5121 | 81966.8 | 81966.8 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
| 5124 | 2492540.28 | 2492540.28 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
| 5311 | 72433.56 | 72433.56 | 0.0 | 0.0 | 0.0 | 0.0 | OK |
Rezultat: OK
## 4. Analitice sarite (sold pe latura opusa formularului)
Latura FACTURA e fixa in cod (`:379`): `401,404,462,419,408,4551` -> CREDIT, orice alt cont -> DEBIT. Un analitic cu sold pe latura opusa nu primeste rand FACTURA; ramane in BALANTA si formularul ii pune `NEREPARTIZAT`.
Niciunul.
## 5. Lungimi si dubluri
- cont > 4 sau acont > 4: [] (gol) -> OK
- perechi (cont, acont) duplicate la BALANTA: [] (gol) -> OK
## 6. Randuri de diferenta generate (pct. 13-15)
Niciunul (toate diferentele nete sunt zero).
Nota: randurile FACTURA de tip `DIFERENTA SINTETIC` au fost eliminate; diferenta nu se mai inventa, o rezolva formularul prin `NEREPARTIZAT`.
## Verdict
TOATE verificarile au trecut.
Nota: coloana `explicatia` (D/C la FACTURA) a fost folosita doar ca control intern si este goala in xlsx-ul final (capul de tabel o pastreaza).