fegger 472b19a4b2 [IMP] l10n_at_hr_payroll_private: add settlement payments under § 67 Abs 8 lit a (AP15-C)
Complete the termination sequence with the settlement-sum path: comparison sums from court or out-of-court settlements, judgment/decision arrears and dismissal-objection payments are split between the statutory-severance and voluntary-severance rules and the settlement remainder. The remainder (VERGLEICH, bemessung neutral, sv_art laufend) reuses the lit-a/b fifth rule: after deducting the § 62 employee-rate contributions, one fifth stays tax-free capped at one fifth of nine times the monthly HBG (12 474 EUR 2026), and the remaining four fifths run with the payment-month tariff without touching the annual sixth. A new rule flag l10n_at_vergleich_bv marks the part paid for periods with a BV-Kasse entitlement: up to the parameterised cap at_lst_67_abs8_vergleich_bv (7 500 EUR 2026; § 67 Abs 8 is § 33a/§ 124b indexed) it is taxed at the flat 6 % rate with the contributions allocated pro rata (LStR Rz 1102b), while the excess falls back into the fifth rule. Both settlement rules stay payroll-levy liable (§ 41 Abs 4 lit b FLAG exempts only § 67 Abs 3 and 6) and SV-liable in the payment month, with per-Beitragsmonat roll-forward and insurance-period extension remaining documented manual options (lb-end-22, E-MVB 011-02-00-001). Identifiable severance components keep running through the existing statutory and voluntary severance machinery; a settlement expressly agreed as statutory severance is taxed in full under § 67 Abs 3 (VwGH 2013/13/0001 = ARD 6490/20/2016), and pension buy-outs (lit e) and social-plan payments (lit f) are out of scope. The wizard section requires confirmation of the settlement's itemisation and contested-claim status plus the BV entitlement, enforces the BV cap with the excess captured as remainder, and previews the free fifth, tariff basis and 6 % tax; the settlement memo lands on the payslip for the separate Lohnzettel workflow (LStR Rz 911a). The account matrix posts both settlement rules to the provisional 6200/6000 (workers 6000) and the new tax rule to 3540. Verified against the original statute text in .ris/ (EStG § 67 Abs 8 lit a) and the knowledge-base sources lb-end-21/22; KZ positioning of the lit-a tariff parts and their § 291d pot allocation remain documented verification points against LStR Rz 1087 ff.

Version 19.0.15.0.0 (private)
2026-09-15 12:38:19 +02:00

odoo-at-payroll

Österreichische Personalverrechnung auf Odoo 19 Enterprise. Eigenes Repo seit 2026-09-09 — Überführung aus gem360-git per History-Import; siehe personalverrechnung/PLAN-repo-split.md.

Module

Modul Zweck
l10n_at_hr_payroll Bundes-Kern (sektor-neutral): SV-Werte 2026 als hr.rule.parameter-Seed, TASY-Import-Wizard; folgen: Lohnsteuer (AP3), Meldewesen L16/eSV (AP5), Belege (AP6)
l10n_at_gemeinde_payroll Bgld. GemBG 2014: Katalogmodell (AP1), Entgelt-Engine (AP2); AP3+ gemäß personalverrechnung/IMPLEMENTIERUNGSPLAN-Bgld.md
l10n_at_hr_payroll_private General-AT (KV-basierte Privatwirtschaft) — Gerüst; Implementierungsplan freigegeben (IMPLEMENTIERUNGSPLAN-Privat.md), Umsetzung ab M1 (GP0)

VRV-Buchung für Gemeinden (Anlage 3b, Ansatz/MVAG, EHH/FHH) läuft über die Brücke l10n_at_gemeinde_payroll_vrv im gem360-Repo (AP7). Abhängigkeitsrichtung: gem360 → dieses Repo, nie umgekehrt.

Entwicklung

  • Odoo 19: Quellen-Referenz ist odoo_19.0+e.20260910/odoo-19.0+e.20260910/ (lokal, unversioniert, in .gitignore) — gemergter Baum (Community und Enterprise in einem Addons-Verzeichnis, 1.481 Addons, u. a. hr_payroll*, l10n_be_hr_payroll, l10n_ch_hr_payroll; Version 19.0+e.20260910, Paketname odoo, startbar via python -m odoo). Die früheren Checkouts odoo/ + odoo_enterprise/ (19.0.0) sind am 2026-09-11 entfernt worden; D4-Spot-Checks aus den Plänen wurden gegen 19.0.0 gemacht — gleiche relative Pfade, aber Neuzugänge wie immer zu Baubeginn gegen diesen Baum verifizieren (D4). Pin bei Odoo-Upgraden gegen den gem360-Entwicklungsstand validieren.
  • Runtime: Python 3.14 venv im Repo (.venv/, in .gitignore; editable install des gemergten Baums) + PostgreSQL (Arch: postgresql-Paket, Cluster unter /var/lib/postgres/data, systemctl start postgresql). Dev-DB: odoo_dev. Rollen-/DB-Anlage einmalig: sudo -u postgres createuser -s <user> und createdb odoo_dev.
  • Planung/Rechtsquellen: personalverrechnung/ (PLAN, RECHTSQUELLEN, IMPLEMENTIERUNGSPLAN, Angebotskalkulation).
  • Rechts-Rohquellen: .firecrawl/lokal, unversioniert; falls fehlend, neu von RIS/sozialversicherung.at beschaffen (siehe payroll-Skill), niemals aus Trainingswerten arbeiten.

Tests

Wegwerf-DB verwenden (nie gem360_dev):

createdb <testdb>
.venv/bin/python -m odoo -d <testdb> \
  -i l10n_at_hr_payroll,l10n_at_gemeinde_payroll \
  --test-tags /l10n_at_hr_payroll,/l10n_at_gemeinde_payroll \
  --test-enable --stop-after-init \
  --addons-path=odoo_19.0+e.20260910/odoo-19.0+e.20260910/odoo/addons,addons

Der gemergte Baum enthält Community- und Enterprise-Addons in einem Verzeichnis; kein separates odoo-bin mehr — Aufruf über .venv/bin/python -m odoo. Dazu je Änderung: py_compile über alle Python-Dateien und XML-Well-formedness-Check (Konvention wie im gem360/vrv2015-Workflow).

S
Description
No description provided
Readme 54 MiB
Languages
Python 99.7%
Shell 0.3%