Files
odoo-at-payroll/addons/l10n_at_hr_payroll_private
fegger 04099fef39 [IMP] l10n_at_hr_payroll_private: GP4 SV/DB-Anbindung (SVDN_SZ-Nachtrag, DG-Regelblock, FLAF/KommSt/DZ)
Anbindung der privatwirtschaftlichen Structure an den GP4-Kern nach
dem bewährten GP3-Muster (dünne 1-Zeilen-Regeln; Logik und Werte
verbleiben im Kern — hr.salary.rule.struct_id ist required, geteilte
Kern-Regeln sind mechanisch unmöglich).

SVDN_SZ-Nachtrag (§ 67 Abs 12): Die SV-DN auf sonstigen Bezügen war in
GP3 nur als Bemessungsbestandteil der §-67-Lohnsteuer wirksam, fehlte
aber als eigene Abzugszeile — das Netto in §-67-Monaten war um den
SV-DN(SZ) zu hoch (RF-L1: 290,79 € nach §-2a-Korrektur). Die Erwartungen
in test_01/test_20 wurden entsprechend korrigiert.

DG-Block (Kategorie ATP_DG, ohne Nettoeffekt): SVDG_KV/PV/AV/UV/WF/IESG
laufend, SVDG_SZ_* auf Sonderzahlungen, SVDG_UV_GFG (§-53a-Pauschale
geringfügig Beschäftigter) sowie die Lohnnebenkosten FLAFDB (§ 41
FLAG), KOMMST (§ 9 KommStG) und DZ (§§ 122/126 WKG, nur bei Company-
Flag l10n_at_wk_mitglied; Satz je Betriebsstätten-Bundesland).

Gemeinsame LNK-Basis in payslip_private.py (_at_lnk_basis): monatlich
gezahlte Arbeitslöhne nach Zufluss, ohne §-67-Abs-3/6-Bezüge (Kern-Flag
l10n_at_s67_abs), lit-f-Befreiung nur für FLAF und DZ (KommSt ohne),
Freibetragsstaffel 1.095/1.460 €.

Rechenfälle docs/rechenfaelle/sozialversicherung.md (RF-SV-1 bis -7)
und §-2a-Korrekturvermerk in lohnsteuer.md. Tests: test_sv_private
(8 Fälle); gesamt 74/74 grün auf odoo_dev.
2026-09-11 23:22:13 +02:00
..

l10n_at_hr_payroll_private (General-AT)

General-AT-Payroll (KV-basierte Privatwirtschaft: KV-Gehaltskataloge, AZG/UrlG-Arbeitszeit, 13./14. Bezüge, Abfertigung Neu) für Odoo 19.

Implementierungsplan (freigegeben, M0): personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md · verbindliche Rechtslage: personalverrechnung/RECHTSQUELLEN-Privat.md

GP1 umgesetzt (KV-Framework):

  • l10n.at.payroll.kv — KV-Stammdaten mit Trace-Link zur KV-Library (library_variant_idpersonalverrechnung/quellen/kv/kv-catalog.json) und Quellen-URL der Arbeitgeberkammer;
  • l10n.at.payroll.kv.wert — versionierte KV-Eckwerte (Muster hr.rule.parameter.value, KV-Scope): Regelkonsum über employee.kv_id._wert('code', payslip.date_to);
  • l10n.at.payroll.kv.gruppe / .stufe — Verwendungs-/Lohngruppen mit Erfahrungsstufen, Jahrestabellen je gueltig_ab (unique(Gruppe, Stufe, Stichtag));
  • Vertragsfelder auf hr.version (durchgereicht auf hr.employee): kv_id, kv_gruppe_id, erfahrungsstufe, ueberzahlung;
  • Import-Wizard „KV-Katalog importieren": Tabellenpaste/CSV (Gruppe;Stufe;Gehalt[;Bezeichnung]) mit Vorschau, Sprungwarnung

    10 % (Warnzeilen werden nie automatisch übernommen) und Versionierung über gueltig_ab — historische Werte bleiben unangetastet.

Seed D2 (Referenz-KVs R1): SI-2203 „Handwerk und Gewerbe" + SI-2748 „Metallgewerbe", Gehaltstabellen ab 1. 1. 2026 kuratiert aus den KV-Library-Volltexten (quellen/kv/oegb/texts/). Besonderheiten im Seed:

  • SI-2203: VG I ist ab 1. 1. 2026 aufgelassen (Vorrückung nach § 17 Abs 6); Meistergruppen M IM III als eigene Gruppen (M II ohne/mit Fachschule);
  • SI-2748: eigene Vorrückungsverläufe als eigene Gruppen (IV-M = Meister in VG IV bis „nach 17 VWGJ", V-OM = Obermeister bis „nach 12 VWGJ"); Nacht-Sondervergütung 2,71 € (2026) bzw. 2,76 € (2027) als Jahresversionen.

Kern-Vorfinanzierung (D3): Lohnsteuer (AP3) und SV/DB-Regeln (AP4) werden im Kern-Modul l10n_at_hr_payroll gebaut und von beiden Produkten konsumiert; bei Bgld.-Auftragserteilung Anrechnung per Change-Request.

GP2 Entgelt-Engine (umgesetzt 2026-09-11): Structure „AT Privatwirtschaft (KV)", AZG-Fenster-WETs, Regelinventar KVGEO/NACHT_SV/UE_/MEHR_/URL_UE/B13/B14/B14_RUECK/NETTO — vollständig kv.wert-getrieben (Rechenfälle docs/rechenfaelle/).

GP3 Lohnsteuer (umgesetzt 2026-09-11): dünne Regeln SVDN_KV/PV/AV/AK/WF + LST_LFD/LST_SZ auf dem AP3-Kern (§ 66 kumulativ mit Rollung, § 67 Sechstel/Fixsätze mit Günstig- Aufrollung, § 68-Steuerfreiheiten; Rechenfälle docs/rechenfaelle/ lohnsteuer.md).

GP4 SV/DB (umgesetzt 2026-09-11): SVDN_SZ-Nachtrag (§ 67 Abs 12 — Netto-Korrektur in §-67-Monaten), DG-Block SVDG_KV/PV/AV/UV/WF/IESG + SVDG_SZ_* + §-53a-UV Geringfügiger (Kategorie ATP_DG, ohne Nettoeffekt; ÖGK 2026: DG 20,98 % / Wien 21,23 %), Lohnnebenkosten FLAFDB (§ 41 FLAG), KOMMST (§ 9 KommStG) und DZ (§§ 122/126 WKG, company-flag-gated) mit Freibetragsstaffel 1.095/1.460 € — Logik/Werte im Bundes-Kern (models/sozialversicherung.py, D3-Vorfinanzierung): §-2a-ALV-DN-Staffel, Geringfügigkeit (§ 5 Abs 2 iVm § 810 Abs 3 ASVG), beitragsfreie Bezüge § 49 Abs 3 mit Jahres-Kumulativen, altersabhängige Satzausschaltungen (§ 1 Abs 2 lit e AlVG, § 51 Abs 6/7 ASVG, § 12 IESG), WF-Satzvektor Wien, Beitragsmonats- Allokation (Anspruchsprinzip) und DAG-Bewertung (§ 1 DAG). Rechenfälle docs/rechenfaelle/sozialversicherung.md.

Offen (GP5+): Abfertigung Neu (BMSVG), Meldewesen/Belege, FI-Buchung UGB; All-in-UI-Bericht (GP8); B14 längster-Urlaubs-Teil- Verfeinerung; DZ-WKO-Verifikation (8.11) vor Wien-Mandanten.

Tests: test_kv_katalog + test_entgelt_private (GP2) + test_lst_private (GP3) + test_sv_private (GP4) — .venv/bin/python -m odoo -d <testdb> -u 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-11: 74/74 Tests.)