Files
odoo-at-payroll/docs/CHANGELOG.md
T
fegger 63913a04ba [IMP] odoo-at-payroll: GP5-Bau und Nutzer-Rechtsklarstellungen dokumentiert
CHANGELOG-GP5-Eintrag; Plan-Abschnitt-10-Update (Fensterkonvention mit Monatsjubiläum statt Folgetag, Wiederzulassung auch bei kurzem Vor-AV, eigene BV-Grundlage, bewusste Nicht-Ziele); MEMORY-Handoff (84/84 auf Wegwerf-DB, GP6/GP7/GP8-Anschlüsse, GP4-Beobachtung SV-SZ/§-49-Abs-3-Z-7 offen, D4-Fund zur hr.version-date_version-Synchronisation).
2026-09-12 08:22:17 +02:00

266 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CHANGELOG — odoo-at-payroll
## 2026-09-11 — General-AT GP5: Abfertigung Neu (BMSVG) umgesetzt (M6, Teil 1)
- `addons/l10n_at_hr_payroll` (19.0.3.1.0): Kern-Parameter
`at_sv_bv_dg` = 1,53 % (§ 6 Abs 1 BMSVG, ab 2003-01-01) in
`rule_parameters_sv_2026.xml`.
- `addons/l10n_at_hr_payroll_private` (19.0.5.0.0): **GP5 Abfertigung
Neu** — Regel `BVG` (ATP_DG, ohne Nettoeffekt) auf **EIGENER,
ungecappter BV-Grundlage** (§ 6 Abs 5 iVm § 49 ASVG: kein HBG-/
Jahresdeckel; ohne §-67-Abs-3/6-Zeilen — § 49 Abs 3 Z 7 ASVG;
Nutzer-Entscheidung: kein Rückgriff auf die SV-SZ-Basis des Kerns,
deren Z-7-Ausschluss fehlt → GP4-Beobachtung bleibt offen
dokumentiert); `models/abfertigung_private.py`:
- **Beitragsfreier erster Monat taggenau** (§ 6 Abs 1): Fenster
[Eintritt, Eintritt + 1 Monat), Pflicht ab Monatsjubiläum
(15. 06. → 15. 07. — KB-Beispiel 4.500/30 × 17 = 2.550,
30-Tage-Aliquotierung via Lohnsteuertage); **Monatsende-Klippe**
(Eintritt 31. 01.) → frei bis Monatsultimo, Pflicht ab
Folgemonatserstem (ABGB-Fristrechnung); **AV ≤ 1 Monat zur
Gänze beitragsfrei**;
- **Wiederzulassung binnen 12 Monaten → Beitragspflicht ab dem
1. Tag** (OGH 9 ObA 30/16a) — Vor-AV **beliebiger Dauer** (auch
< 1 Monat) und schlägt auch die Kurz-AV-Freiheit
(Nutzer-Klarstellung 2026-09-11); Suche über frühere
`hr.version`-Verträge;
- **SZ ohne Fenster-Kürzung**, frei nur bei Beitragsmonat im
Fenster (**taggenau**: Fälligkeit 20. 07. bei Fensterende 15. 07.
pflichtig); läuft **auch für geringfügig Beschäftigte und
Lehrlinge** (§ 46, § 1 Abs 2 Z 1);
- Vertragsfelder `l10n_at_abfertigung_neu` (§ 46-Flag) +
`l10n_at_bv_kasse_id` (neues Modell `l10n.at.bv.kasse` mit
Leitzahl für eSV/mBGM; Seed der 7 Kassen-Namen, lb-gsv-11,
noupdate); Mitarbeiter-Felder `l10n_at_bv_ertraege`/
`l10n_at_bv_monate_extern` (Kassen-Auszug);
- **Anwartschaft** (§ 15: gutgebrachte Beiträge + Erträge, KEINE
Monatsentgelt-Staffel) on-the-fly aus validierten Läufen
(`_at_bv_anwartschaft`); **Anwartschaftsreport** (QWeb auf
`hr.employee`, AbstractModel `bv_report.py`) + **Endabrechnungs-
Wizard** `l10n.at.bv.endabrechnung.wizard` (§§ 14-17: §-14-Abs-2-
Verfügungsmatrix, 36-Beitragsmonate-IMMER-Sperre mit Vor-Monaten,
§-16-Fälligkeit Ende des zweitfolgenden Monats, 6-Monats-
Erklärungsfrist, 5 §-17-Optionen) — Auszahlung durch die MV-Kasse,
kein Payslip-Bestandteil.
- **Bewusst nicht in GP5:** §-7-BMSVG-Fiktivfälle (Präsenz-/Kranken-/
Wochengeld — setzt fehlende Entgeltersatzleistungs-Modellierung
voraus; dokumentierte Option), Geringfügigen-Jahreszahlung +
2,5 % (Zahlungsmodus GP7), BV-Provider (Option).
- Tests: `test_bv_private` (10) neu; **84/84 grün** auf Wegwerf-DB
`gp5_test` (frischer `-i`-Lauf; Aufruf s. README). Rechenfälle
`docs/rechenfaelle/abfertigung.md`.
## 2026-09-11 — General-AT GP4: SV/DB komplett im Kern umgesetzt (M5)
- `addons/l10n_at_hr_payroll` (19.0.3.0.0): `models/sozialversicherung.py`
— DG-Beiträge (ÖGK 2026: DG 20,98 %, Wien 21,23 %), §-54-SZ-Beiträge
DG 20,48 % (KV/PV/AV/UV/IESG), Geringfügigkeit § 5 Abs 2 iVm
**§ 810 Abs 3 ASVG** (GFG 2026 = 551,10 €, Aufwertung ausgesetzt —
A7-Rest gelöst) mit Hochrechnung bei untermonatiger Beschäftigung,
§-53a-Abs-1-UV 6,50 €/Monat, beitragsfreie Bezüge § 49 Abs 3 mit
Jahres-Kumulativen je DN (8 €/AT, 1.000/365/186/300/2.000 €/J,
Homeoffice 3 €/Tag × 100), altersabhängige Satzausschaltungen als
Stichtags-Datumfelder am Vertrag (AlVG § 1 Abs 2 lit e — AV DN+DG
+IESG; § 51 Abs 6 — UV ab 60/Lehrlinge; § 51 Abs 7 — PV hälftig
DG+DN; § 41 Abs 4 lit f FLAG), **ALV-DN-Staffel § 2a AMPFG
(DN-seitig; 0/1/2 % bis 2.225/2.427/2.630 €; auch für SZ; ab 2027
aufgehoben)**, WF-Satzvektor Bundesland × Jahr (Wien 0,75/0,75 ab
1. 1. 2026), Beitragsmonats-Allokation (Anspruchsprinzip, historische
Sätze/HBG je Beitragsmonatsgruppe, 2025-HBG 6.450 €), DAG-Bewertung
§ 1 DAG (19,4 %, Schwelle 1,5 × GFG = 826,65 €, ≥ 2 Geringfügige,
Lohnsumme ohne SZ). Parameter: `rule_parameters_sv_2026.xml` +
AV-Staffel-Umbau (2025/2026/2027-Zeilen) in `rule_parameters_2026.xml`.
- `addons/l10n_at_hr_payroll_private` (19.0.4.0.0):
`salary_rules_sv_private.xml`**SVDN_SZ-Nachtrag** (§ 67 Abs 12
als eigene Abzugszeile; GP3-Lücke: Netto in §-67-Monaten um den
SV-DN(SZ) zu hoch), DG-Block SVDG_*/SVDG_SZ_*/SVDG_UV_GFG (ATP_DG,
ohne Nettoeffekt), FLAFDB (§ 41 FLAG 3,7 %), KOMMST (§ 9 KommStG
3 %), DZ (§§ 122/126 WKG, WKO-flag-gated, Satzvektor je BL ⚠ WKO
8.11) mit gemeinsamer LNK-Basis (Zufluss, ohne §-67-Abs-3/6, lit f
nur FLAF/DZ, Freibetragsstaffel 1.095/1.460 €).
- **Rechtskorrektur § 2a AMPFG:** DN-SV auf laufenden Bezügen und SZ
bei BG ≤ 2.225 € sinkt von pauschal 18,07 % auf 15,12 % (ALV-DN
0 %) — GP3-Rechenfälle RF-L1/L3/L5 und die betroffenen Tests
nachgezogen (Engine war zuvor ohne Staffel); §-19a-Selbstversicherung
2026 = **83,49 €/Monat** (statt ≈ 77,80 € — TASY KVPVBTG19A), Zahlung
direkt an den Träger (kein Lohnabzug).
- Tests: Kern `test_sozialversicherung` (14) + privat `test_sv_private`
(8) neu; GP3-Suiten §-2a-korrigiert — **74/74 grün** auf `odoo_dev`
(Aufruf s. README). Rechenfälle `docs/rechenfaelle/sozialversicherung.md`;
RQ-Privat Abschnitt 4 und KB-KONFLIKTE A7 aufgelöst (§ 810 Abs 3 /
§ 1 DAG / 83,49/826,65); Plan § 10 GP4-Update.
## 2026-09-10 — General-AT: Beschaffungsliste abgearbeitet (Primärquellen lokal)
- **19 RIS-Gesetzestexte** (konsolidiert, Fassung vom 10. 09. 2026;
UrlG 09. 09. 2026) via firecrawl nach `.firecrawl/ris/` beschafft:
AZG, AngG, ArbVG, ASVG, EStG 1988, AVRAG, BAO, AÜG, UrlG, BMSVG,
IESG, Lohnkontenverordnung 2006, MSchG, MSchV, VKG, KBGG, APSG,
FamZeitbG, KommStG. Gesetzesnummern per RIS-Titelsuche ermittelt
(Kurztitel-Fallen: AVRAG „-Anpassungsgesetz", BMSVG „Mitarbeiter-
und Selbständigenvorsorgegesetz", IESG „-Entgeltsicherungsgesetz",
APSG „Arbeitsplatz-Sicherungsgesetz"). Verzeichnis:
`.firecrawl/ris/_README.md`.
- **LStR 2002** als findok-Gesamtdokument XML (Stand 04. 09. 2026,
alle Rz; GP3-kritische 766b/911a/1050/1052/1103/1106/1116a/
11411163 verifiziert) — `.firecrawl/ris/findok/`.
- **ELDA/eSV-Meldewesen** (Stand 07/2026): **DM-ORG 42.7.0**
„Datenaustausch mit Dienstgebern" (Datensatzbeschreibung SV-
Meldungen mBGM/An-Ab-Änderung/JASV **und** Lohnzettel-Finanz) +
Änderungsprotokoll + **Prüfkataloge** L16 (ab 1. 1. 2026, Stand
12/2025)/L17/§ 109a/§ 109b + Mitteilungsfiles-XSDs —
`.firecrawl/ris/elda/`. **SV-Werte 2026** (beitrags- + leistungs-
rechtlich) von sozialversicherung.at — HBGL 6.930 €/GFG 551,10 €
gegen Kern-Parametersatz verifiziert (inkl. GFG-Aufwertungs-
aussetzung 2026 gem. § 810 Abs 3 ASVG).
- **„Krankengeldumlage § 62 ASVG" als Falsch-Prämisse aufgelöst**:
RIS-Gesamtabfrage „Krankengeldumlage" = 0 Treffer; § 62 ASVG =
„Mitteilung über Beitragsrückstände, Beitragsabrechnung"
(konsolidierter Text). Kein GP4-Baustein, kein Kern-Parameter.
Korrigiert in `RECHTSQUELLEN-Privat.md` (Abschn. 4/11/13) und
`IMPLEMENTIERUNGSPLAN-Privat.md` (2.1/4.6/4.7/8.10); Herkunft
vermutlich deutsches U1-Umlageverfahren (EFZG). **Hinweis:**
`RECHTSQUELLEN-Bgld.md` Abschn. 9 und `PLAN-payroll-bgld.md`
führen denselben Prüfpunkt — gegen denselben Befund zu
verifizieren (dort: öffentliche DG).
- `RECHTSQUELLEN-Privat.md` Abschnitt 11 auf Beschaffungsstände
umgestellt ([x] = lokal beschafft, §-Verifikation bleibt GP-Aufgabe);
offen bleiben Pilotmandant, D3, UGB-Buchungsmatrix, Referenz-KV-
Kuratierung (GP1), Bgld-AP0-Abstimmung + ELDA-/FinOnl-Anmeldungen
(Nutzerseite). `RUNBOOK.md`: neue Sektion „Primärquellen-Downloads"
(RIS-Titelsuche-Konventionen, Kurztitel-Fallen, Verifikations-
befund-Disziplin).
## 2026-09-10 — General-AT: KB-Rechtsquellen-Abgleich in RECHTSQUELLEN dokumentiert
- Systematischer Abgleich aller in der Wissensbasis referenzierten
Rechtsquellen (571 Einträge, 2.767 `legal_bases`-Zitate, ~130
Normwerke) gegen `personalverrechnung/RECHTSQUELLEN-Privat.md`:
15 Gesetze auf Gesetzesebene enthalten (mit §-Ebenen-Lücken), ~85
bewusst außerhalb des R1-Scopes, 12 echte Lücken identifiziert
(weder RQ noch Beschaffungsliste noch Plan erfasst).
- `RECHTSQUELLEN-Privat.md`: neuer **Abschnitt 13** (Abgleichs-
methodik + Matrix „enthalten mit §-Lücken", Zuordnung bekannt
offen/Plan-erfasst/echte Lücken, Outside-Scope-Abgrenzung mit
Compliance-Randnotizen) + Beschaffungslisten-Erweiterung in
Abschnitt 11: AVRAG § 2g/§ 11a Abs 4; ASVG-Beitrags-/Melde-Rechts-
block (§§ 11/33/34/41/471a/49 Abs 2/3/44 Abs 7/51/53b/60/143);
EStG §§ 3/63/67a/69/109a/124b Z 478 lit f; KommStG § 10 +
BAO §§ 4/29/30 (Betriebsstätte); AÜG (Überlasser-Betriebsstätte);
UrlG §§ 7/10a; BMSVG §§ 7/912/27a/47; IESG § 12; Lohnkonten-
verordnung 2006; Mutterschutz-/Karenz-Block (MSchG/MSchV, VKG,
KBGG, APSG, FamZeitbG) als Scope-Entscheidung.
- `IMPLEMENTIERUNGSPLAN-Privat.md`: 4.2 um AVRAG-§-2g-Feinmechanik
(All-in/ÜStd-Pauschale: Grundlohn-Ausweis, Deckungsrechnung,
§ 7-UrlG-Ablöseverbot) erweitert; 8.13 um den Mutterschutz-/
Karenz-Block (Wochengeld = DG-Payroll-Berechnung) ergänzt;
Abschnitt 10 dokumentiert den Nachtrag. Keine Änderung an D1D4,
Scope R1, Meilensteinen, Budget.
## 2026-09-10 — General-AT: Implementierungsplan um Wissensbasis-Anbindung aktualisiert
- `personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md`: neuer Abschnitt
**2.1 Wissensbasis-Anbindung** — Verbindlichkeits-Regime
(RECHTSQUELLEN-Privat bleibt verbindlich, KB = kuratierte
Sekundärquelle mit ID + Stand) und Cluster-Anker je GP
(571 Einträge/67 Cluster, Batches 19).
- 4.24.7, 5, 6: kuratierte KB-Belege nachgetragen — GP2-Feinmechanik
(Mehrarbeit § 19d AZG vs. ÜStd, zwei Nachtfenster 225/197,
Feiertagsarbeitsentgelt ab 2026 wieder § 68-begünstigt, SZ-Basis je
KV-Begriff), GP3 (Sechstelformel, Nachzahlungsmodi, Aufrollung
§ 77 Abs 3/4/4a), GP4 (beitragsfreie Bezugsbestandteile § 49 Abs 3
als Jahreskumulative, AK-Umlage/WF als DN-Lohnabzüge,
altersabhängige Satzausschaltungen, AV-Staffel 2026), GP5
(freier BV-Monat taggenau, § 7-BMSVG-Fiktionen), GP7 (L16-KZ-
Struktur, mBGM-Fristen, Schwerarbeitsmeldung, § 109a), GP8
(Jahres-Retro-/Aufrollungslauf, Fristenkalender).
- Neue Offenpunkte: **8.11** Zuschlag zum DG-Beitrag DZ (§§ 122/126
WKG, 0,12 % Bundes- + 0,310,40 % Landeskammeranteil 2026) —
Inventarlücke, Grundsatzentscheidung vor GP4; **8.12** KB-Konflikt-
familien (AK-Umlage-Tragung, WBF-Wien 1,5 %, §-124b-Zitierung,
Beispiel-DN-SV 18,07 % vs. 17,57 %, NSchAB/DAG-Belege) — RIS-Klärung
vor GP3/GP4; **8.13** KB-Scope-Kandidaten (Lohnpfändung, Kranken-
stand-EFZ/Krankenentgelt, Urlaubsersatzleistung, NSchAB, fallweise
Beschäftigung, Sachbezüge, Prämien/Provisionen, Reisekosten/
Pendler) — Entscheidung über Pilotmandant/GP0, keine stillschweigende
Scope-Erweiterung. Keine Änderung an D1D4, Scope R1, Meilensteinen,
Budget.
## 2026-09-09 — General-AT GP1: KV-Framework umgesetzt (M2)
- `addons/l10n_at_hr_payroll_private` (19.0.1.0.0) von Gerüst auf
GP1-Stand: `l10n.at.payroll.kv` (Trace-Link zur KV-Library),
`kv.wert` (versionierte Eckwerte, Muster `hr.rule.parameter.value`),
`kv.gruppe`/`.stufe` (Erfahrungsstufen-Jahrestabellen), Vertragsfelder
auf `hr.version`/`hr.employee` (`kv_id`, `kv_gruppe_id`,
`erfahrungsstufe`, `ueberzahlung`), Import-Wizard (Tabellenpaste,
Sprungwarnung > 10 %, neue `gueltig_ab`-Versionen) samt
Views/Menus/Security.
- Seed D2 (SI-2203 Handwerk und Gewerbe + SI-2748 Metallgewerbe):
Gehaltstabellen ab 1. 1. 2026 aus den KV-Library-Volltexten kuratiert
(18 Gruppen, 131 Stufenwerte, 27 Eckwerte; inkl. Sonder-
Vorrückungsverläufe IV-M/V-OM und aufgelassener VG I).
- Test-Suite `test_kv_katalog` (8 Fälle); statisch validiert (py_compile,
XML-Well-formedness, CSV-Konsistenz, Wizard-Logiksimulation) —
Runtime-Abnahme auf dem Dev-Host ausständig (PostgreSQL).
## 2026-09-09 — General-AT GP0: Rechtsquellen verifiziert (M1)
- `personalverrechnung/RECHTSQUELLEN-Privat.md` angelegt (GP0-Aufgabe 1):
verbindliches Rechtsinventar für `l10n_at_hr_payroll_private`.
- An Primärquellen (RIS, jusline-RIS-Spiegel) verifiziert: FLAF-DB
§ 41 FLAG **3,7 % 2026** (2,7 % ab 2028; GesNr 10008220); KommStG
**3 %** (GesNr 10004841); BMSVG 1,53 % auf Entgelt + SZ ohne
HBG-Cap, § 15 Anwartschaft (keine Monatsentgelt-Staffel), § 14 Abs 2
Verfügungsausschluss; UrlG 30/36 Werktage, § 6-Urlaubsentgelt;
EStG 1988 § 67 sonstige Bezüge (0/6/27/35,75 % im Jahressechstel,
Freigrenze 2.615 €, Kontrollsechstel § 77 Abs 4a) und § 68 Zulagen/
Zuschläge (2026-ÜStd-Maßnahme 15 Überstunden/170 €).
- Plan-Korrekturen `IMPLEMENTIERUNGSPLAN-Privat.md`: Urlaubsentgelt
**§ 6 UrlG** statt § 9 (seit 2001 aufgehoben); 13./14.-Begünstigung
über **§ 67 EStG** statt „§ 68 Abs 5/6" (klärt auch die Rechtsbasis
des Bgld-Offenpunkts P9); EOSB-Anwartschaftsmodell bestätigt;
payroll-Skill-Zitat korrigiert.
- Offen in GP0: Pilotmandant, Referenz-KV-Kuratierung (D2-KVs),
ELDA-/FinOnl-Spezifikationen, AZG/AngG/ArbVG-Volltexte, LStR 2002,
UGB-Buchungsmatrix.
## 2026-09-09 — General-AT-Implementierungsplan freigegeben (M0)
- `personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md` für
`l10n_at_hr_payroll_private` (General-AT, KV-basierte Privatwirtschaft)
erstellt und freigegeben: GP0GP10; nächster Schritt **M1 (GP0)**
(`RECHTSQUELLEN-Privat.md` anlegen, RIS-/findok-Verifikationen,
Odoo-API-Neuverifikation, Pilotmandant-Definition, UGB-Buchungsmatrix).
- Freigabe-Entscheidungen: **D1** Plan unter obigem Pfad geführt; **D2**
Referenz-KVs R1 = SI-2203 Handwerk und Gewerbe + SI-2748 Metallgewerbe
(RUNBOOK-Rechenfallset; Feinjustierung je Pilotmandant in GP0); **D3**
**Kern-Vorfinanzierung durch General-AT** — AP3 (Lohnsteuer) und AP4
(SV/DB-Regeln) werden im Kern `l10n_at_hr_payroll` auf General-AT-Kosten
gebaut (Spiegelung der Bgld-Entscheidung „AP3 im Kern"; die GemBG-Structure
erbt sie). Meldewesen/Belege (AP5/AP6) analog, falls der Bgld.-Auftrag bis
M7 nicht erteilt ist; bei Auftragserteilung Anrechnung/Umlegung per
Change-Request. **D4** Odoo-19-Source steht kurzfristig als
Geschwister-Checkout bereit (API-Neuverifikation erste Aufgabe in M1).
- Budgettransparenz: General-AT-spezifischer Anteil ≈ 120172 PT (Rahmen
`personalverrechnung/PLAN-repo-split.md`: ~125175 PT), inkl.
D3-Vorfinanzierung ≈ 180258 PT.
- Housekeeping: README-Modultabelle und Gerüst-README
`l10n_at_hr_payroll_private` auf Planstand aktualisiert;
`.agents/MEMORY.md` fortgeschrieben.
## 2026-09-09 — Repo-Split aus gem360 (Migration)
- History-Import der Payroll-Commits aus `gem360-git` (Branch
`dev-payroll`, pfad-gefiltert via `git filter-repo`; siehe
`personalverrechnung/PLAN-repo-split.md`). Branch heißt hier `main`.
- `l10n_at_hr_payroll` (19.0.1.0.0) ausgegründet: SV-Werte 2026 als
`hr.rule.parameter`-Seed, TASY-Mapping + Import-Wizard; Modelle
umbenannt `gemeinde.payroll.tasy.*``l10n.at.payroll.tasy.*`.
- `l10n_at_gemeinde_payroll` → 19.0.1.4.0: hängt nun an
`l10n_at_hr_payroll` statt `l10n_at_vrv2015` (VRV-Verbleib: Brücke
`l10n_at_gemeinde_payroll_vrv` im gem360-Repo, AP7); Beschreibung auf
AP1+AP2-Stand korrigiert.
- Bootstrap: `AGENTS.md`, Skills (payroll, odoo19-development,
agent-memory), README, CHANGELOG; `l10n_at_hr_payroll_private` als
Gerüst (README only).