[IMP] odoo-at-payroll: GP7-Bau, DM-ORG-42.7.0-Verifikationen und Nutzer-Entscheidungen 5.1-5.4 dokumentiert

CHANGELOG-GP7-Eintrag; Plan-Abschnitt-10-Update (ELDA-Fixsatz-Konventionen, KZ-210-§-25-Gesamtbrutto-Fund, mBGM-Abschläge je Basis, Nutzer-Entscheidungen: Arbeitsstätte in GP7, Mitteilungsfile-Import GP8, FB+ nicht im Lohnsteuerkern/ANV + Kind-Modell für FABO+-Wartung); MEMORY-Handoff (94/94, Wegwerf-DB, GP8 als nächster Bauabschnitt, offene Reste: odoo_dev-Update, geringfügig-mBGM-Parametrisierung, CRLF/ELDA-Kanal-Verifikation, Referenzbuchhaltungs-Endfixierung, Schwerarbeit nach ASchV-Datenmodell-Bau).
This commit is contained in:
2026-09-12 17:31:21 +02:00
parent 14940ac31a
commit ea14c48cca
3 changed files with 152 additions and 7 deletions
+67 -7
View File
@@ -2,8 +2,45 @@
## Current focus
**GP6 FI-Buchung UGB umgesetzt und grün (88/88 Tests) — nächster
Bauabschnitt GP7 Meldewesen/Belege (Kern-Bau AP5/AP6)** (2026-09-12):
**GP7 Meldewesen/Belege umgesetzt und grün (94/94 Tests) — nächster
Bauabschnitt GP8 Jahreswechsel/UI/Fristen** (2026-09-12): Kern
19.0.4.0.0 — ELDA-Fixsatz-Framework (`models/elda.py`: Fixlängen,
a/n blank/n null, Cent kaufmännisch, Prozente ×1000, ISO-8859-15,
Dateiheader, Vorlauf SART 00/Schluss SART 99, SANR ab 1 lückenlos,
SANZ inkl. Rahmen; **CRLF-Satztrenner = Praxis-Annahme, DM-ORG
normiert keines — Parallellauf verifizieren**); L16 (`models/
lohnzettel_l16.py`: I1 1.100 + L1 **3.500**, Lohnzettelversion 28,
BEST LF/VSTR 94, ~210 Felder, Kinderblock 15×123 ab Pos. 1501;
**KZ 210 = § 25 GESAMTBrutto** — KZ-245-Formel = laufende Steuer-
bemessung, per Konstruktion GP3-konsistent, Ableitung aus Kern-Flags
ohne paralleles KZ-Feld) + Arbeitsstättenmeldung § 34 Abs 6 (SART 45,
BEST AD/VSTR ST, je AN am 31. 12., GKZ manuell am Dienstort-Partner);
Kind-Modell `l10n.at.payroll.kind` (FB+-Wartung; Nutzer: **FB+ rechnet
NICHT im Lohnsteuerkern** — Steuer < 0 → ANV); Stammdaten
(BKNR/Lohnsteuernummer Company, GKZ Partner, VSNR-Formatprüfung
hr.version.ssnid — Prüfziffer Rest, eSV-AGRD-Mapping
hr.departure.reason); Belege: Lohnzettel AT + Monatsdienstliste +
Monatsjournal (QWeb auf hr.payslip.run; account.report in keinem
HR-Modul). Privat 19.0.7.0.0 — mBGM/JASV (`models/mbgm.py`: PS/G1/
T1/BS/V1, T01/T02-Gesamtsatz aus `at_mbgm_tarif` **normativ laufend
39,05 %/SZ 37,55 %**; Abschläge **je Basis AB und SZ**: A03/A02/A01
§-2a-DN-AV, A09 UV-60, A10 AV+IE, A15 PV; BV-Basis GP5 + V01;
RSUM=Basis×Satz mit GP4-Konsistenzcheck ±0,10 €; Storno R1 REFU,
Fehlanzeige Null-Paket; geringfügig/fallweise OHNE Parametrisierung →
Abbruch, keine Tariferfindung) + Versichertenmeldung (`models/
versichertenmeldung.py`: M3/M4 deklarative Event-Erkennung über
Registry `l10n.at.payroll.vr.event` — idempotent, KEIN write-diff;
BBER 0104, GERF Gehalt-vs-GFG, BVAB/BVJN aus GP5, VWAZ h×100, AGRD;
fallweise BEST MA/SART 32 MVP je Anmeldetag; NSchAB-Company-Flag
+3,80 B001). Tests 94/94 (test_elda_l16 4 + test_meldewesen_private
2), Wegwerf-DB frisch; Rechenfälle `docs/rechenfaelle/meldewesen.md`.
Out: Schwerarbeit (DM-ORG E.22-Struktur vorhanden, keine ASchV-
Basis), § 109a, L17, Mitteilungsfile-Import (5.2→GP8), FB+-LSt
(ANV), geringfügig-mBGM bis Param. Offen: odoo_dev-Update (GP4-
Stand!), Referenzbuchhaltungs-Endfixierung, Parallellauf-Verifikation
CRLF/Kanäle.
**GP6 FI-Buchung UGB umgesetzt und grün (88/88 Tests)** (2026-09-12):
privat 19.0.6.0.0 — Buchungsmatrix nach **KFS/BW 6** (Nutzer-
Referenz-Exemplar `.additional_docs/KFSBW6_13072017_RF.pdf`, extrah.
`/tmp/kfsbw6/` ad hoc): Hook `_configure_payroll_account_at`
@@ -192,6 +229,24 @@ B17-Inhalt/B18; Kleinverifikationen s. KB-KONFLIKTE „Nächste Schritte“).
## Completed
- **GP7 Meldewesen/Belege umgesetzt (94/94 grün)** (2026-09-12):
Kern 19.0.4.0.0: `models/elda.py` (Fixsatz-Framework),
`lohnzettel_l16.py` (L16 I1/L1 + Arbeitsstätte SART 45;
`l10n.at.payroll.l16` + `.line`), `kind.py` (`l10n.at.payroll.kind`),
`meldewesen.py` (BKNR/Lohnsteuernummer/GKZ/VSNR-Prüfung/AGRD),
`monatsreports.py` + `report/belege_reports.xml` (3 Belege),
`views/meldewesen_views.xml`. Privat 19.0.7.0.0: `mbgm.py`
(`l10n.at.payroll.mbgm[.line]`), `versichertenmeldung.py`
(`l10n.at.payroll.vr` + `.event`-Registry),
`data/rule_parameters_mbgm_private.xml` (at_mbgm_tarif B001/B002
39,05/37,55 ab 2026), `views/meldewesen_views.xml`, NSchAB-Flag.
DM-ORG-42.7.0-Satzstrukturen PDF-verifiziert extrahiert (mBGM
E.32, L16 E.13/E.14 mit vollständiger L1-Tabelle inkl. Kinderblock-
Offsets, VR E.29 mit Pflichtmatrix/AGRD/BBER, Arbeitsstätte E.20,
fallweise E.18; TXT-Fehler vs. PDF dokumentiert — PDF gewinnt).
Rechenfälle `docs/rechenfaelle/meldewesen.md`; README/CHANGELOG/
PLAN-10/MEMORY nachgezogen.
- **GP6 FI-Buchung UGB umgesetzt (88/88 grün)** (2026-09-12):
`l10n_at_hr_payroll_private` 19.0.6.0.0 — Buchungsmatrix KFS/BW 6:
`models/account_chart_private.py` (Matrix-Dict + Hook
@@ -1207,12 +1262,17 @@ B17-Inhalt/B18; Kleinverifikationen s. KB-KONFLIKTE „Nächste Schritte“).
GP5 Abfertigung Neu; **GP6 FI-Buchung UGB umgesetzt 2026-09-12**
`test_kv_katalog` 8 + `test_entgelt_private` 21 + `test_lst_private`
6 + `test_sv_private` 8 + `test_bv_private` 10 + `test_account_private`
4 grün auf Wegwerf-DB (**88/88**, frischer `-i`-Lauf — `odoo_dev`
noch auf GP4-Stand, Update nachholen); Rechenfall-Fixtures unter
`docs/rechenfaelle/` inkl. buchhaltung.md (KFS/BW-6-Matrix);
GP7 Meldewesen/Belege als Nächstes)
4 + `test_meldewesen_private` 2 grün auf Wegwerf-DB (**94/94**
gesamt mit Kern; `odoo_dev` noch auf GP4-Stand, Update nachholen);
Rechenfall-Fixtures unter `docs/rechenfaelle/` inkl. buchhaltung.md
+ meldewesen.md;
GP7 umgesetzt: mBGM/Versichertenmeldung/fallweise auf dem Kern-Framework;
GP8 Jahreswechsel/UI/Fristen als Nächstes)
- `addons/l10n_at_hr_payroll/` — Bundes-Kern (SV/TASY + GP3 Lohnsteuer
`models/lohnsteuer.py` + **GP4 SV/DB `models/sozialversicherung.py`**
+ GP4 SV/DB + **GP7 ELDA/L16/Arbeitsstätte/Belege** 19.0.4.0.0 —
`models/elda.py`, `lohnzettel_l16.py`, `kind.py`, `meldewesen.py`,
`monatsreports.py`, `report/belege_reports.xml`;
`test_elda_l16` 4)
(DG/Geringfügigkeit/§ 49/Altersstichtage/§ 2a-Staffel/WF-Vektor/
Beitragsmonat/DAG), `rule_parameters_lst_2026.xml` +
`rule_parameters_sv_2026.xml`; **74/74 grün**)