4b86bcb790
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)
153 lines
7.6 KiB
Python
153 lines
7.6 KiB
Python
# 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 20–6/22–6, 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,
|
||
} |