[IMP] l10n_at_hr_payroll_private: add statutory old-system severance (AP15-A)
Pay the pre-2003 AngG severance from the end-of-employment run as its own neutral benefit line: free of SV (§ 49 Abs 3 Z 7 ASVG) and payroll levies, outside the annual sixth, and collected into the § 291d EO termination pot net of its own wage tax. Taxation follows the binding better-of rule of § 67 Abs 3 EStG: multiple-of-method (tariff wage tax on the running monthly wage × the statutory multiple of the payout) versus the flat 6 % rate, applied mandatorily in favour of the employee. The tariff wage tax is captured as a separately confirmed value instead of deriving it from gross pay through the § 62 engine. The wizard enforces § 23a Abs 3 AngG (parental exit needs five uninterrupted years), blocks BMSVG-new contracts except frozen claims and validates AGRD 02/06 against the claim type. The LNK basis subtracts § 67 Abs 3/6 rules only when they actually run in the tax base, the L16 generator reports LST_ABF in key 260 outside 210/220, and result_rules access in the garnishment paths avoids DefaultDictPayroll materialisation. Verified against the original statute texts in .ris/ (AngG §§ 23/23a, EStG § 67 Abs 3). Version 19.0.13.0.0 (private), 19.0.9.0.0 (core)
This commit is contained in:
+43
-1
@@ -2,8 +2,50 @@
|
||||
|
||||
## Current focus
|
||||
|
||||
**AP15-A gesetzliche Abfertigung Alt umgesetzt — Privat 141/141, Kern 54/54 Tests grün**
|
||||
(2026-09-15, uncommittet bis Nutzerfreigabe; Privat **19.0.13.0.0**, Kern **19.0.9.0.0**):
|
||||
|
||||
- **Recht am Originalwortlaut verifiziert (.ris/):** § 23a Abs 3 AngG
|
||||
verlangt für den Elternaustritt ein **ununterbrochen fünfjähriges**
|
||||
DV (Hälfte des §-23-Betrags, Deckel 3 Monatsentgelte) — Vorschlag
|
||||
bei < 60 Monaten korrigiert (0-Faktor + Wizard-UserError). § 67
|
||||
Abs 3 EStG (RIS-Wortlaut): Tarif-LSt **auf den laufenden
|
||||
Arbeitslohn** × Mehrfaches, zwingend günstiger als 6 %. Neu:
|
||||
getrenntes, bestätigtes Feld `abf_alt_monatslohnsteuer`/
|
||||
`l10n_at_abf_alt_monatslohnsteuer` (Tarif-LSt des laufenden
|
||||
Monats nach persönlichen Verhältnissen) — Bruttolohn wird NICHT
|
||||
über die §-62-Engine tarifiert. Rechenfall lb-end-01 exakt:
|
||||
101,96 × 10,5 = 1.070,58 (< 1.134 = 6 %).
|
||||
- **Privat:** `models/endabrechnung.py` ABF_ALT-Helfer (Staffel,
|
||||
Mehrfach-Vorschlag eltern/tod, 6 %, Vervielfachung, günstige LSt),
|
||||
Regel `ABF_ALT` (neutral/keine/abs3/pfandung_beendigung),
|
||||
`LST_ABF` seq 72, `PFAENDUNG_END` seq 77 (Beendigungstopf −
|
||||
LST_ABF, Gesamttopf + beendigung), LNK-Fix in beiden Kopien
|
||||
(`_at_lnk_basis` zieht Abs-3/6-Regeln nur mit bemessung
|
||||
laufend/sonstig ab), Wizard-Felder + Validierungen (BMSVG-Neu-
|
||||
Sperre außer eingefroren, AGRD 02/06-Regeln, Eltern < 5 J),
|
||||
Payslip-Tab, Konten `rule_abf_alt` 6200/6000 (vorläufig),
|
||||
`rule_lst_abf` → 3540. `.get()`-Zugriffe auf `result_rules` in
|
||||
`models/pfaendung.py` durch Membership-Prüfung ersetzt.
|
||||
- **Kern:** LST_ABF in KZ-260-Salden (Lohnsteuer), außerhalb
|
||||
KZ 210/220 (test_01b). Kern-Hilfer `_l10n_at_monatslohnsteuer`
|
||||
des Subagenten wieder ENTFERNT (ungenutzt, semantisch
|
||||
irreführend) samt test_02b.
|
||||
- **Tests:** endabrechnung 13 (inkl. Arbeitnehmerkündigung-
|
||||
UserError, Eltern < 5 J, Wizard-E2E, Pfändungsbasis), pfändung
|
||||
12 (test_09b Beendigungstopf), Privat-Suite 141/141 (`ap13a_test`),
|
||||
Kern-Suite 54/54 (auf `ap13a_test` mit Privatmodul — **Achtung:
|
||||
L16-Tests referenzieren `l10n_at_hr_payroll_private.`
|
||||
`structure_at_privat`, Kern-Rein-DB scheitert an setUp, ist
|
||||
Bestandsverhalten**). Python/XML/`git diff --check` grün.
|
||||
- **Offen:** AP15-B (freiwillige Abfertigung § 67 Abs 6, 6 %-Bänder
|
||||
+ rollierende 12-Monats-Basis), AP15-C (§ 67 Abs 8 lit a
|
||||
Vergleichssummen). Wizard-Transient NOT-NULL-Warnung für
|
||||
`departure_reason_id` ist kosmetisch (Alt-Zeilen). Nicht
|
||||
committen ohne Nutzeranforderung.
|
||||
|
||||
**AP14-A Endabrechnungs-Zyklus umgesetzt — 133 Tests grün**
|
||||
(2026-09-14, uncommittet bis Nutzerfreigabe):
|
||||
(2026-09-14, Commit **`ee94f46`** nach Nutzerfreigabe):
|
||||
|
||||
- **Rechtskorrektur gegen Originalwortlaut (.ris/, RIS-Gate erledigt):**
|
||||
§ 67 Abs 6 (freiwillige Abfertigung/Abfindung) = 6 %-Bänder
|
||||
|
||||
Reference in New Issue
Block a user