fegger
0abc1383d1
[FIX] l10n_at_gemeinde_payroll: Modul erstmals installierbar — 9 Odoo-19-Latenzfehler; BDA-Vordienstzeiten-Vorschlag (AP10+AP9)
...
AP10 — Latenzfehler des nie installierten Vorlaufs:
- regular_pay auf hr.payroll.structure entfernt (Feld existiert nicht)
- is_paid/round_days/round_days_type von WET-Records entfernt
- Falscher XML-ID-Praefix payroll_structure_bgld. -> Modul-Referenzen
- amount_select 'python' -> 'code' (Selection)
- import in Regelcode entfernt (safe_eval verbietet IMPORT_NAME)
- rules['ME'].total -> result_rules['ME']['total'] (Odoo 19 befuellt
rules nie; SZQ-Sonderzahlung rechnete gegen Null)
- categories.X -> categories['X'] (NETTO-Regel)
- work_time_rate /100 entfernt (Odoo 19 speichert Bruchteil 0..1)
- nie gelaufene Tests: Payslip-name-Pflichtfeld, Stichtag vor
Katalog-Gueltigkeit (Wizard-Skip korrekt), date_start ist Compute
aus contract_date_start
AP9 — BDA-Vordienstzeiten (GemBG S 67 Abs 1-3, RIS LrB GesNr
20001002 verifiziert): Feld vordienstzeiten_monate (Help dokumentiert
Anrechnungskatalog inkl. Obergrenzen), Compute bda_vorschlag
(Vertragsbeginn - Monate), Uebernahme-Button als Verwaltungsakt,
View-Erweiterung
2026-09-12 23:18:07 +02:00
fegger
85b9536d1a
[MOV] l10n_at_gemeinde_payroll: extract SV/TASY core into l10n_at_hr_payroll
2026-09-09 13:42:58 +02:00
fegger
a7959c1259
[IMP] l10n_at_gemeinde_payroll: implement AP2 pay computation engine (GemBG Bgld.)
...
Entgelt-Engine nach Implementierungsplan AP2 (freigegeben 2026-09-09):
- Structure Type "Bgld. GemBG 2014" + Structure "Gemeindebedienstete"
mit 4 Kategorien (GEMBG_BRUTTO, GEMBG_ABZUG, GEMBG_NETTO, GEMBG_DG).
- Work-Entry-Types: Überstunden Tag/Nacht (§ 76), Mehrdienstleistung,
Journaldienst (§ 79), Bereitschaft (§ 80), Sonn-/Feiertag (§ 78).
- Input-Types: Erschwerniszulage (§ 83), Fahrtkostenzuschuss (§ 88),
Jubiläumszuwendung (§ 89).
- Entgelt-Regeln (13 Rules):
* ME — Monatsentgelt: Katalog-Lookup (Gruppe+Stufe+Stichtag),
Ausbildungsphase 5 % Abzug (§ 133h), Teilzeit via work_time_rate.
* KIZU — Kinderzulage: kinder_anzahl × 15,60 EUR (§ 61 GemBG),
bei Teilzeit UNGEKÜRZT (§ 59 Abs 2).
* FUZU — Funktionszulage: hr.version-Feld × work_time_rate (§ 62).
* UEZ_TAG/UEZ_NACHT — Überstundenvergütung (§ 76):
Grund = ME / (4,33 × Wochenstunden); Zuschlag 50 % Tag / 100 % Nacht.
* JZU — Journaldienstzulage (§ 79): Work-Entry × Parametersatz.
* SFZU — Sonn-/Feiertagszulage (§ 78): Stunden × Grundvergütung × %.
* BERB — Bereitschaftsentschädigung (§ 80): Stunden × Parametersatz.
* ERZU/FKZ/JUB — Input-basierte Bezüge (§§ 83/88/89).
* SZQ — Sonderzahlung QUARTALSWEISE (§ 133n): in Quartalsendmonaten
(März, Juni, September, Dezember) 50 % × (ME + KIZU).
* NETTO — Kategoriensumme (wird mit AP3/AP4 erweitert).
- hr.version-Felder: kinder_anzahl, funktionszulage, ausbildungsphase
(§ 61/§ 62/§ 133h) mit Employee-Spiegel nach Engine-Muster.
- Rule-Parameter: Kinderzulage 15,60 EUR, Journaldienstzulage,
Sonn-/Feiertags-%, Bereitschaftsstunde (letzte 3 als AP0-Platzhalter
mit 0.0 — Werte aus der Bezügeanpassung nach Beschaffung).
- Tests (8 Rechenfälle): Vollzeit av1 Stufe 1, Kinderzulage 2 Kinder
= 31,20 EUR, Funktionszulage, Ausbildungsphase 5 % Abzug,
SZ Quartalsende + Nicht-Quartalsende, Netto=Brutto (AP3/AP4 offen),
Stufe 12 Max.
- Employee-Form um Zulagen-Gruppe erweitert.
Modul-Version 19.0.1.3.0. Statische Validierung grün; Runtime-Testlauf
auf dem Dev-Host ausständig.
2026-09-09 13:01:00 +02:00
fegger
42bb759fd1
[IMP] l10n_at_gemeinde_payroll: implement SV value layer (AP4) from OEGK TASY
...
SV-Werte-Implementierung nach dem freigegebenen TASY-Plan (PLAN-TASY-SV-Import):
- hr.rule.parameter-Seed 2026 (20 Parameter, generator-erzeugt aus dem
ÖGK TASY-LSWH-Export, Stichtag 2026-07-01): Geringfügigkeit 551,10 EUR
(GFGBTG, ab 2025 — Aufwertungsaussetzung korrekt abgebildet), HBG
monatlich 6.930 EUR (HBGALLG tgl. x 30), HBG SZ 13.860 EUR, KV
3,87/3,78, PV 10,25/12,55, AV 2,95/2,95, UV 0/1,10, IESG 0/0,10,
BV 1,53, AK/WF geführt, § 2a AMPFG-Staffel aus dem SV-Werte-Report.
Generator mit Herkunftsnachweis + Erwartungswert-Ankern
(personalverrechnung/tools/gen_sv_parameters_2026.py, Exit 1 bei
Abweichung von den offiziellen Ankern).
- TASY-Quelldatei committet (personalverrechnung/quellen/, 5 MB —
öffentliches Tarifdatenmaterial ohne Personendaten) für Seed- und
Testreproduzierbarkeit.
- Deklarative TASY-Mapping-Tabelle (gemeinde.payroll.tasy.mapping,
data XML): bbb-Codes (Cent, Faktor z. B. x 30) und Tarifzweige
(_dn/_dg-Suffix-Konvention) — keine festen Werte im Code.
- Import-Wizard (TransientModel, lxml safe parsing):
Beschaeftigtengruppe B002 ("Angestellte") -> Tarifgruppe ->
tarifgruppeSetZuord -> Tarifset -> Tarif; bei Varianten gewinnt die
Split-Variante (DN>0 und DG>0), dann die einseitige DG-Variante (UV/BV);
freie-DN-Varianten verlieren. Preview mit Delta, Sprungwarnung > 10 %,
Warnzeilen werden nie automatisch übernommen; Schreiben versionierter
hr.rule.parameter.value-Sätze erst nach expliziter Bestätigung.
- Tests (4 Suiten): Seed-Werte am Stichtag, Fixture-Parser
(Split-Präferenz, Cent-Rechnung), Versionsverhalten (Update statt
Duplikat), Echtdaten-Test gegen den 5-MB-Export (Auflösung == Seed,
keine Warnzeilen).
- Security/Views/Menüs für Mapping + Wizard; Modul-Version 19.0.1.2.0.
Statische Validierung grün (py_compile, XML, Manifest); Runtime-Testlauf
auf dem Dev-Host ausständig.
2026-09-09 12:47:10 +02:00
fegger
30270f9877
[IMP] l10n_at_gemeinde_payroll: implement AP1 pay scale model (GemBG Bgld.)
...
Katalogmodell nach Implementierungsplan AP1 (freigegeben 2026-09-09):
- ``gemeinde.payroll.entlohnungsgruppe`` (Code, Schema, §, Bundesland,
Vorrückungszeitraum je Gruppe; § 66 Abs 2 GemBG: 4 Jahre, abweichend
2 Jahre für Betreuungspersonen-/Sondergruppen) und
``gemeinde.payroll.entlohnungsstufe`` (Stufe, Monatsentgelt, Stichtag,
unique je Gruppe/Stufe/Stichtag) mit Stichtags-Lookup-Helfern.
- Seed 2026: 35 Entlohnungsgruppen, 433 Werte (Schemata I/gv, II/gh,
Ia/bv, IIa/bh, kb, av sowie §-Gruppen 150c/151/151c), Werte aus der
konsolidierten GemBG-Fassung 09.09.2026 (Wert 1.7.2026 gemäß Artikel 4
RV 0715/XXIII. GP; 2025er-Stichtagsannahme für nicht 2026 angepasste
Tabellen als AP0-Verifikationspunkt dokumentiert). Generator mit
Herkunftsnachweis: personalverrechnung/tools/extract_gembg_katalog.py.
- GemBG-Felder auf der Payroll-Version (hr.version) plus Employee-Spiegel
nach dem Engine-Muster (related/inherited): Entlohnungsgruppe, Stufe,
Besoldungsdienstalter, Vorrückungstermin — berechnet nach § 66 Abs 2
(erster Tag des Monats nach Vollendung weiterer n Jahre BDA), manuell
überschreibbar für Überleitungsfälle (§§ 157a ff).
- Vorrückungs-Wizard (§ 66 Abs 2): fällige Versionen zum Stichtag,
Stufenerhöhung mit Höchststufen-Schutz und Ergebnis-Notification —
bewusst kein stilles Mutieren im Lohnlauf (Dokumentationspflicht).
- Views/Menüs (Personalverrechnung Bgld. unter Payroll), Security auf
hr_payroll-Gruppen, Employee-Form-Anbindung in payroll_group.
- Tests (Rechenfälle AP1): Seed-Werte inkl. Quellenanomalie kb1a/6,
Stichtags-Lookup, Jahresversionierung, Vorrückungstermin (BDA 15.03.2020
-> 1.4.2028), Wizard-Anwendung mit Höchststufen-Skip.
Statische Validierung grün (py_compile, XML, Manifest, CSV-Integrität);
Runtime-Testlauf auf dem Dev-Host (gem360_dev) ausständig, wie im
Implementierungsplan M2 vorgesehen.
2026-09-09 11:55:15 +02:00