diff --git a/.agents/MEMORY.md b/.agents/MEMORY.md index 4ab981a..282d0fa 100644 --- a/.agents/MEMORY.md +++ b/.agents/MEMORY.md @@ -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 GP1–GP8 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. **GP1–GP8 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. + **GP1–GP8 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; diff --git a/addons/l10n_at_hr_payroll_private/README.md b/addons/l10n_at_hr_payroll_private/README.md index 3fe442b..3a7f909 100644 --- a/addons/l10n_at_hr_payroll_private/README.md +++ b/addons/l10n_at_hr_payroll_private/README.md @@ -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. +**GP1–GP8 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 -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**.) \ No newline at end of file +**100/100 Tests**.) \ No newline at end of file diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index a010d82..553c55d 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -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** diff --git a/personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md b/personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md index 7854818..60504c0 100644 --- a/personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md +++ b/personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md @@ -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. +**GP1–GP8 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/