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
This commit is contained in:
2026-09-27 16:58:46 +03:00
parent d188c76c7f
commit 7ac40f9a34
7 changed files with 73 additions and 22 deletions

View File

@@ -192,3 +192,26 @@ class TestAcontPeAnaliticePartener(unittest.TestCase):
("461", "9999"): 50.0})
self.assertEqual(fac, {("461", "SGR"): ("AMBALAJE SGR", 100.0),
("461", "1"): ("PARTENER X", 200.0)})
class TestDiferentaBrutaFdb(unittest.TestCase):
"""Pe drumul FDB postarile direct pe sintetic intra cu D si C brute (rulajul ca in
SAGA); pe PDF/xls raman pe net. Soldul e acelasi in ambele cazuri."""
ROWS = [
{"cont": "401", "denumire": "FURNIZORI", "total_d": 100.0, "total_c": 600.0},
{"cont": "401.0001", "denumire": "A", "total_d": 0.0, "total_c": 300.0},
{"cont": "891", "denumire": "BILANT DE DESCHIDERE", "total_d": 0.0, "total_c": 0.0},
]
def _balanta(self, brut):
out, _, _, _, _ = genereaza_xlsx.genereaza(
self.ROWS, genereaza_xlsx.citeste_header(), 2026, 6, brut=brut)
return {(r["cont"], r["acont"]): (r["totdeb"], r["totcred"])
for r in out if r["TIP"] == "BALANTA"}
def test_brut(self):
self.assertEqual(self._balanta(True), {("401", None): (100.0, 600.0)})
def test_net(self):
self.assertEqual(self._balanta(False), {("401", None): (0.0, 500.0)})

View File

@@ -46,8 +46,6 @@ CORECTII = [
# frunza -> (REF, NOI), cu (totdeb, totcred); None = frunza lipseste
DIFERENTE_ASTEPTATE = {
# postarile direct pe sinteticul 401 intra pe net (regula stabilita), deci rulajul scade
("401", ""): ((8991.55, 57253.22), (5536.75, 53798.42)),
# 4092: note direct pe sintetic -> acont de diferenta; REF le-a pierdut
("4092", "99"): (None, (1563.37, 0.0)),
# nota de 900 direct pe 419: analitic de diferenta; REF a pierdut-o
@@ -61,8 +59,6 @@ DIFERENTE_ASTEPTATE = {
("5121", ""): ((40801.41, 35876.25), None),
("5121", "1"): (None, (40601.41, 35876.25)),
("5121", "2"): (None, (200.0, 0.0)),
# 891 are rulaj zero; REF nu-l scrie
("891", ""): (None, (0.0, 0.0)),
}