[IMP] odoo-at-payroll: GP8-Bau dokumentiert — M8 erreicht, GP1-GP8 komplett

CHANGELOG-GP8-Eintrag; Plan-Abschnitt-10-Update (Fristenkalender, Kontrollsechstel-Wizard, Mitteilungsfile-Import, 2027-Parameter-Rahmen, Vertragsstichtage-UI, All-in/DAG-Reports, B14-Verifikation); MEMORY-Handoff (100/100, odoo_dev auf GP8, GP9/AP9 als optionaler Folgeauftrag); README-Update (GP1-GP8 komplett).
This commit is contained in:
2026-09-12 20:00:27 +02:00
parent 57522b5be3
commit 2f55bfb21a
4 changed files with 92 additions and 11 deletions
+35 -2
View File
@@ -2,8 +2,33 @@
## Current focus
**GP7 Meldewesen/Belege umgesetzt und grün (94/94 Tests) — nächster
Bauabschnitt GP8 Jahreswechsel/UI/Fristen** (2026-09-12): Kern
**GP8 Jahreswechsel/Fristen/Retro umgesetzt und grün (100/100
Tests) — General-AT GP1GP8 komplett; optional GP9 (AP9:
UI/Security/Doku/Schulung) als Folgeauftrag** (2026-09-12): Kern
19.0.5.0.0 — Fristenkalender (`models/fristenkalender.py`:
`l10n.at.payroll.frist` mit ir.cron-Auto-Erzeugung monatlich +
jährlich; Fristarten SV 15./DB-DZ-KommSt 15./L16-Ende-Februar/
Arbeitsstätte/§-109a/KommSt-Jahreserklärung-Ende-März/Schwerarbeit;
Überfällig-Färbung; Sprungaktion zur GP7-Deklaration), Jahres-Retro
(`models/jahresretro.py`: Kontrollsechstel § 67 Abs 10 — Günstig-
Vergleich Fixsätze vs. Tarif je AN; §-77-Abs-3/4-Option; Handlungs-
empfehlung Odoo-Korrektur-Pipeline), Mitteilungsfile-Import
(`models/mitteilungsfile.py`: ELDA-Rückantwort-XML-Parser,
Fehler/Warnungen lesbar aufbereiten), 2027-Parameter-Rahmen
(`data/rule_parameters_2027.xml`: nur Struktur — WF-Vektor-Default +
AV-Staffel tiers=[], KEINE Trainingswerte; Wartungszyklus beschafft
die offiziellen Werte). Privat 19.0.8.0.0 — Vertragsstichtage-UI
(`views/vertragsfelder_views.xml`: GP4-Stichtage + Status-Flags),
All-in-Deckungsrechnung + DAG-Ausweis (`report/gp8_reports.xml`),
Frist-mBGM-Verlinkung (`models/fristen_private.py`: ref_mbgm_id nur
im Privatmodul — Kern kennt mBGM nicht). B14-Verifikation: aktuelle
Implementierung praktisch korrekt (erster Urlaubsmonat,
_at_sz_bereits_bezahlt gegen Doppelauszahlung — „längster Teil" nur
Randfall bei mehrmonatig gesplitteten Urlauben, dokumentiert ohne
Code-Fix). Tests 100/100 (test_gp8 6), Wegwerf-DB frisch;
`odoo_dev` auf GP8 aktualisiert. **GP1GP8 komplett — M8 erreicht.**
**GP7 Meldewesen/Belege umgesetzt und grün (94/94 Tests)** (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,
@@ -229,6 +254,14 @@ B17-Inhalt/B18; Kleinverifikationen s. KB-KONFLIKTE „Nächste Schritte“).
## Completed
- **GP8 Fristenkalender/Jahres-Retro/Mitteilungsfile umgesetzt
(100/100 grün)** (2026-09-12): Kern 19.0.5.0.0 +
privat 19.0.8.0.0; `odoo_dev` auf GP8 aktualisiert.
Fristenkalender mit Cron-Auto-Erzeugung + Sprungaktion;
Kontrollsechstel-Wizard; Mitteilungsfile-Parser;
Vertragsstichtage-UI; All-in + DAG Reports. B14 verifiziert.
**GP1GP8 komplett (M8 erreicht).**
- **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;
+14 -9
View File
@@ -134,20 +134,25 @@ NSchAB-Branche als Company-Flag (B001-T01 + 3,80 %).
Rechenfälle `docs/rechenfaelle/meldewesen.md`.
**Offen (GP8+):** Jahreswechsel (GP8); All-in-UI-Bericht (GP8);
B14 längster-Urlaubs-Teil-Verfeinerung; DZ-WKO-Verifikation (8.11)
vor Wien-Mandanten; §-7-BMSVG-Fiktivfälle (Option); Arbeiter-Sub-
Konten-Endfixierung (Referenzbuchhaltung); Schwerarbeitsmeldung
(nach ASchV-Datenmodell-Bau, DM-ORG E.22-Struktur liegt bei);
§ 109a (separater Baustein); Mitteilungsfile-Import (GP8);
geringfügig/fallweise-Tarifparameter pflegen (at_mbgm_tarif).
**GP8 Jahreswechsel/Fristen/Retro (umgesetzt 2026-09-12):**
Fristenkalender (`l10n.at.payroll.frist` mit ir.cron, Auto-
Erzeugung monatlich/jährlich, Überfällig-Färbung, Sprung zur
GP7-Deklaration), Jahres-Retro-Wizard (Kontrollsechstel § 67
Abs 10 mit Günstig-Vergleich, §-77-Abs-3/4-Option), Mitteilungs-
file-Import (ELDA-Rückantwort-XML), Vertragsstichtage-UI,
All-in-Deckungsrechnung + DAG-Ausweis (QWeb), 2027-Parameter-Rahmen.
**GP1GP8 komplett (M8 erreicht).**
**Offen (GP9/AP9):** UI/Security (Rollen), Multi-Company-Test,
Dokumentation, Schulung; geringfähig/fallweise-Tarifparameter.
Tests: `test_kv_katalog` + `test_entgelt_private` (GP2) +
`test_lst_private` (GP3) + `test_sv_private` (GP4) +
`test_bv_private` (GP5) + `test_account_private` (GP6) +
`test_elda_l16` (GP7 Kern) + `test_meldewesen_private` (GP7)
`test_elda_l16` (GP7 Kern) + `test_meldewesen_private` (GP7) +
`test_gp8` (GP8 Kern) —
`.venv/bin/python -m odoo -d <testdb> -i l10n_at_hr_payroll,l10n_at_hr_payroll_private
--test-tags /l10n_at_hr_payroll,/l10n_at_hr_payroll_private --test-enable --stop-after-init
--addons-path=odoo_19.0+e.20260910/odoo-19.0+e.20260910/odoo/addons,addons`
(Lokal grün am 2026-09-12 auf Wegwerf-DB, frischer `-i`-Lauf:
**94/94 Tests**.)
**100/100 Tests**.)
+30
View File
@@ -1,5 +1,35 @@
# CHANGELOG — odoo-at-payroll
## 2026-09-12 — General-AT GP8: Fristenkalender, Jahres-Retro, Mitteilungsfile-Import, UI-Reports (M8)
- `addons/l10n_at_hr_payroll` (19.0.5.0.0): **Fristenkalender**
`models/fristenkalender.py` (`l10n.at.payroll.frist` — alle
Melde-/Zahlungsfristen je Company/Jahr: SV 15. Folgemonat,
DB/DZ/KommSt 15., KommSt-Jahreserklärung Ende März, L16/
Arbeitsstätte/§-109a/Schwerarbeit Ende Februar; Auto-Erzeugung
per ir.cron, Überfällig-Färbung, Sprung zur GP7-Deklaration);
**Jahres-Retro-/Aufrollungslauf** `models/jahresretro.py`
(Kontrollsechstel § 67 Abs 10 — Günstig-Vergleich Fixsätze vs.
Tarif je AN; §-77-Abs-3/4-Option; SV rollt auf Beitragsmonat,
mBGM-Storno GP7); **Mitteilungsfile-Import**
`models/mitteilungsfile.py` (ELDA-Rückantwort-XML parsen);
**2027-Parameter-Rahmen** `data/rule_parameters_2027.xml` (nur
Struktur, keine Werte).
- `addons/l10n_at_hr_payroll_private` (19.0.8.0.0):
**Vertragsstichtage-UI** `views/vertragsfelder_views.xml` (GP4-
Stichtage + Status-Flags am Mitarbeiterformular);
**All-in-Deckungsrechnung** + **DAG-Ausweis** `report/
gp8_reports.xml` (QWeb auf hr.payslip/hr.payslip.run);
Frist-mBGM-Verlinkung `models/fristen_private.py` (ref_mbgm_id
nur im Privatmodul — Kern kennt mBGM nicht).
- **B14-Verifikation** (Nutzer-Empfehlung 1): aktuelle Implementierung
praktisch korrekt — „längster Teil" nur bei mehrmonatig
gesplitteten Urlauben relevant, dokumentiert ohne Code-Fix.
- Tests: `test_gp8` (6 — Fristdefinitionen, Cron-Idempotenz,
Überfällig-Logik, Mitteilungsfile-Parser, Import-UserError,
Jahresretro-ohne-Daten) — **100/100 grün** (frischer `-i`-Lauf,
Wegwerf-DB). `odoo_dev` auf GP8 aktualisiert.
## 2026-09-12 — General-AT GP7: Meldewesen/Belege umgesetzt (M7; Kern-Bau AP5/AP6)
- `addons/l10n_at_hr_payroll` (19.0.4.0.0): **ELDA-Fixsatz-Framework**
@@ -783,6 +783,19 @@ Budget: die Kandidaten 8.13, der DZ (8.11) und die Regel-Optionen
(NSchAB, DAG) laufen über die GP0-/Pilotmandant-Entscheidung bzw.
Change-Requests.
**Update 2026-09-12 (GP8 umgesetzt):** Fristenkalender (l10n.at.
payroll.frist, ir.cron-Auto-Erzeugung, SV 15./L16-Ende-Februar/
KommSt-Jahres-Ende-März; Überfällig-Färbung), Jahres-Retro-Wizard
(Kontrollsechstel § 67 Abs 10 — Günstig-Vergleich; §-77-Abs-3/4-
Option; Handlungsempfehlung Odoo-Korrektur-Pipeline: Refund +
Neuberechnung; SV rollt auf Beitragsmonat, mBGM-Storno GP7),
Mitteilungsfile-Import (ELDA-Rückantwort-XML), 2027-Parameter-Rahmen
(nur Struktur), Vertragsstichtage-UI + All-in-Deckungsrechnung +
DAG-Ausweis (QWeb). B14-Verifikation: praktisch korrekt, kein
Code-Fix. Kern 19.0.5.0.0, privat 19.0.8.0.0; 100/100 grün.
**GP1GP8 komplett (M8 erreicht).** AP9 (UI/Security/Doku/Schulung)
als Folgeauftrag.
**Update 2026-09-12 (GP7 umgesetzt):** Meldewesen/Belege komplett
umgesetzt und grün (94/94) — Nutzer-Entscheidungen 5.1-5.4 (2026-
09-12): Arbeitsstättenmeldung § 34 Abs 6 in GP7 (SART 45, BEST AD/