Files
odoo-at-payroll/addons/l10n_at_hr_payroll_private/__manifest__.py
T
fegger 4b86bcb790 [IMP] l10n_at_hr_payroll_private: add voluntary severance under § 67 Abs 6 (AP15-B)
Split the voluntary severance into its privileged part and a tariff remainder on the exit run: the privileged part combines the quarter rule (1/4 of the last twelve months' running pay, capped at nine times the monthly HBG) with the twelfth rule (2/12 to 12/12 by proven service, capped at n × 3 × HBG), reduced per Z 3 by severance already received and the statutory claim due at this termination, all taxed at the flat 6 % rate. The excess runs as its own rule flagged l10n_at_s67_abs6_ueberhang: taxed with the running tariff of the payment month but excluded from the annual sixth, since Z 5 exempts only the Z 1/Z 2 amounts and the excess is a special payment, not running pay. The twelve-month basis aggregates validated prior runs plus own lines, excluding the flagged excess and § 26 Z 4 travel overhang via a dedicated rule flag. Free of SV (§ 49 Abs 3 Z 7 ASVG), payroll levies regardless of the 6 %/tarif split (§ 41 Abs 4 lit b FLAG, § 122 Abs 8 WKG, § 5 Abs 2 lit b KommStG) and BV contributions; the former BV-Anwartschaft exclusion Z 7 is repealed (BGBl I 118/2015). The wizard proposes the rolling basis and the statutory claim, previews Z 1/Z 2/reduction/privileged/excess/tax and requires explicit confirmation against claim-conversion risk. The § 291d EO termination pot nets both severance wage-tax rules; key 260 now includes LST_ABF_FREI. Verified against the original statute text in .ris/ (EStG § 67 Abs 6) and the knowledge-base sources lb-end-12/13/15; KZ positioning of Abs-6 amounts and the excess's § 291d pot allocation remain documented verification points against LStR Rz 1087 ff.

Version 19.0.14.0.0 (private), 19.0.10.0.0 (core)
2026-09-15 11:34:09 +02:00

153 lines
7.6 KiB
Python
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.
# Part of the odoo-at-payroll project. License: LGPL-3.
{
'name': 'Österreich - Privatwirtschaft Personalverrechnung (General-AT)',
'version': '19.0.14.0.0',
'author': 'Florian Egger',
'website': 'https://gem360.at',
'category': 'Human Resources/Payroll',
'description': """
General-AT-Personalverrechnung (KV-basierte Privatwirtschaft)
==============================================================
Monatsverrechnung für Beschäftigte der österreichischen Privatwirtschaft
nach dem **KV-Regime** auf der Odoo-19 ``hr_payroll``-Engine. Fachliche
Grundlagen: ``personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md`` und
``personalverrechnung/RECHTSQUELLEN-Privat.md`` (GP0-Verifikationen).
- **GP1 KV-Framework (dieser Stand):** Kollektivvertrags-Stammdaten
(``l10n.at.payroll.kv``) mit Trace-Link zur KV-Library, versionierte
KV-Eckwerte (``kv.wert`` — Muster ``hr.rule.parameter.value``,
Konsum über ``employee.kv_id._wert(code, datum)``), Verwendungs-/
Lohngruppen mit Erfahrungsstufen (``kv.gruppe`` / ``kv.gruppe.stufe``,
Jahrestabellen je ``gueltig_ab``), KV-Einstufung am Vertrag
(``hr.version``: KV, Gruppe, Erfahrungsstufe, Überzahlung) sowie
ein Import-Wizard für KV-Aufnahme und Jahresupdate (Vorschau,
Sprungwarnung > 10 %, versionierte Werte — TASY-Muster).
- **GP2 Entgelt-Engine (dieser Stand):** Structure „AT Privatwirtschaft
(KV)" + Kategorien ATP_*, Work-Entry-Types für die AZG-Fenster-Matrix
(ÜStd Tag/Nacht 206/226, So/Fei, Mehrarbeit § 4a-Band und § 19d
Teilzeit), Regelinventar KVGEO/NACHT_SV/UE_*/MEHR_*/URL_UE/B13/B14/
B14_RUECK/NETTO — vollständig datengetrieben über ``kv.wert``
(Vorlauf 2026-09-11 verifiziert; Rechenfälle unter ``docs/rechenfaelle/``).
All-in-Vertragsmodell (§ 2g AVRAG): Pauschale/Grundlohn-Ausweis am
Vertrag + Deckungsrechnung.
- **GP3 Lohnsteuer (umgesetzt):** dünne Regeln SVDN_KV/PV/AV/AK/WF +
LST_LFD/LST_SZ auf dem AP3-Kern (§ 66 kumulativ, § 67 Sechstel/
Fixsätze, § 68-Steuerfreiheiten).
- **GP4 SV/DB (umgesetzt):** 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 (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 (D3-Vorfinanzierung).
- **GP5 Abfertigung Neu (umgesetzt):** BMSVG-Regel ``BVG``
(§ 6: 1,53 % DG auf Entgelt und SZ, Kern-Parameter
``at_sv_bv_dg``) auf EIGENER, ungecappter BV-Grundlage (§ 6 Abs 5
iVm § 49 ASVG — kein HBG-Cap, ohne §-67-Abs-3/6-Zeilen),
beitragsfreier erster Monat taggenau (30-Tage-Aliquotierung;
Monatsende-Klippe), Wiederzulassung binnen 12 Monaten ab Tag 1
(Vor-AV beliebiger Dauer), läuft auch für Geringfügige und
Lehrlinge; Vertragsfeld Abfertigung-Neu/BV-Kasse + Erträge/Vor-
Monate am Mitarbeiter; Anwartschaftsreport (QWeb) + Endabrechnungs-
Wizard (§§ 14-17: Verfügungsausschluss-Matrix, 36-Beitragsmonate,
§-16-Fälligkeit, §-17-Optionen).
- **GP6 FI-Buchung UGB (dieser Stand):** Buchungsmatrix nach dem
Österreichischen Einheitskontenrahmen (KFS/BW 6): Hook
``_configure_payroll_account_at`` (Chart-Load + ``<function>``-
Datendatei, idempotent) zuordnet Regelkonten, Journal SLR und das
NET-Konto ``3850 Verbindlichkeiten aus Lohn und Gehalt`` (wird
angelegt, reconcile); **EKR-Debit-Split Arbeiter/Angestellte**
über ``l10n_at_personalgruppe`` am Vertrag + Override-Feld
``l10n_at_account_debit_arbeiter`` je Regel (Option A minimal:
Grundentgelt 6000, Sozialaufwand 6500, Abgaben 6600/6601/6602);
Netto-Regel auf Odoo-Konvention ``NET`` umbenannt
(Zahlungsregistrierung/SEPA via ``hr_payroll_account_iso20022``).
Auszahlung über ``hr_payroll_account_iso20022``; kein VRV/MVAG
(gem360-Brücke).
- **GP7 Meldewesen (dieser Stand):** mBGM/JASV (BEST MB, DM-ORG
42.7.0: Paket/mBGM/Tarifblock/Verrechnungsbasis/-position mit
GESAMT-Prozentsatz je BSGR aus ``at_mbgm_tarif``, Abschläge
A01/A02/A03 §-2a-AMPFG, A09 UV-60, A10 AV+IE-Entfall, A15 PV-
Halbierung; BV-Basis + V01 aus GP5; Storno-R-Sätze; Fehlanzeige)
+ Versichertenmeldung (BEST VR: M3/M4 mit deklarativer Event-
Erkennung über die Meldungs-Registry, AGRD-Mapping am
Abgangsgrund, VWAZ, BBER, GERF; fallweise Anmeldung BEST MA
SART 32) — auf dem GP7-Kern-Framework
(l10n_at_hr_payroll/models/elda.py; L16 + Arbeitsstättenmeldung
+ Belege siehe Kern-Modul). NSchAB-Branche als Company-Flag
(B001-T01 + 3,80 %).
- **Seed D2 (Referenz-KVs R1):** SI-2203 „Handwerk und Gewerbe" +
SI-2748 „Metallgewerbe" (Gehaltstabellen ab 1. 1. 2026, kuratiert aus
den KV-Library-Volltexten).
- **Folgen (GP7+):** Meldewesen/Belege (GP7), Jahreswechsel (GP8);
All-in-UI-Bericht (GP8); B14 längster-Urlaubs-Teil-Verfeinerung;
DZ-WKO-Verifikation (8.11) vor Wien-Mandanten; §-7-BMSVG-
Fiktivfälle (Präsenzdienst/Kranken-/Wochengeld) als dokumentierte
Option; Referenzbuchhaltungs-Fixierung der Arbeiter-Sub-Konten
(Option A-Rest).
Kein VRV-Bezug (Gemeinde-Schiene bleibt ``l10n_at_gemeinde_payroll`` +
gem360-Brücke).
""",
'depends': ['l10n_at_hr_payroll', 'hr_payroll_account',
'hr_payroll_expense', 'l10n_at', 'hr_payroll_account_iso20022',
'hr_holidays', 'hr_work_entry_holidays'],
'data': [
'security/ir.model.access.csv',
'security/security_rules.xml',
'data/kv_seed.xml',
'data/l10n.at.payroll.kv.gruppe.csv',
'data/l10n.at.payroll.kv.gruppe.stufe.csv',
'data/l10n.at.payroll.kv.wert.csv',
'data/structure_private.xml',
'data/work_entry_types_private.xml',
'data/absence_private.xml',
'data/input_types_private.xml',
'data/input_types_endabrechnung_private.xml',
'data/salary_rules_private.xml',
'data/salary_rules_lst_private.xml',
'data/salary_rules_efzg_private.xml',
'data/salary_rules_msch_private.xml',
'data/salary_rules_pfaendung_private.xml',
'data/salary_rules_sb_private.xml',
'data/salary_rules_sb2_private.xml',
'data/salary_rules_reisekosten_private.xml',
'data/salary_rules_endabrechnung_private.xml',
'data/salary_rules_sv_private.xml',
'data/salary_rules_bvg_private.xml',
'data/hr_payroll_account_private.xml',
'data/rule_parameters_mbgm_private.xml',
'data/rule_parameters_wien_private.xml',
'data/rule_parameters_efzg_private.xml',
'data/rule_parameters_msch_private.xml',
'data/rule_parameters_pfaendung_private.xml',
'data/rule_parameters_sb_private.xml',
'data/rule_parameters_sb2_private.xml',
'data/rule_parameters_reisekosten_private.xml',
'data/rule_parameters_pendler_private.xml',
'data/rule_parameters_endabrechnung_private.xml',
'data/bv_kasse_seed.xml',
'views/kv_views.xml',
'views/bv_views.xml',
'views/meldewesen_views.xml',
'views/vertragsfelder_views.xml',
'views/mitarbeiter_views.xml',
'views/aeb_views.xml',
'views/pfaendung_views.xml',
'views/sachbezuege_views.xml',
'views/reisekosten_views.xml',
'views/pendler_views.xml',
'views/endabrechnung_views.xml',
'report/gp8_reports.xml',
'report/buchungsbeleg_report.xml',
'report/bv_report.xml',
'report/pfaendung_dse_report.xml',
],
'demo': ['data/demo.xml'],
'countries': ['at'],
'license': 'LGPL-3',
'installable': True,
'auto_install': False,
}