Files
odoo-at-payroll/addons/l10n_at_hr_payroll/__manifest__.py
T
fegger 9add58fe83 [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)
2026-09-15 11:01:55 +02:00

90 lines
4.4 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 - Personalverrechnung Kern (AT Payroll Core)',
'version': '19.0.9.0.0',
'author': 'Florian Egger',
'website': 'https://gem360.at',
'category': 'Human Resources/Payroll',
'description': """
Österreichischer Personalverrechnungs-Kern
==========================================
Sektor-neutraler Bundes-Kern der österreichischen Personalverrechnung
auf der Odoo-19 ``hr_payroll``-Engine. Wird konsumiert von
``l10n_at_gemeinde_payroll`` (Bgld. GemBG) und vom General-AT-
Produkt (``l10n_at_hr_payroll_private``). Grundlagen: ``personalverrechnung/``
(PLAN-payroll-bgld.md, RECHTSQUELLEN-Bgld.md, PLAN-repo-split.md).
- SV-Werte 2026 als ``hr.rule.parameter``-Seed (aus ÖGK TASY-LSWH-Export
generiert und gegen den offiziellen SV-Werte-Report gespiegelt):
KV/PV/UV/AV/AK/WF/BV/IESG-Beitragssätze, Geringfügigkeitsgrenze,
Höchstbeitragsgrundlagen (monatlich/SZ), AV-Staffel § 2a AMPFG;
- **Lohnsteuer (AP3, GP3)**: ``models/lohnsteuer.py`` (§ 66 kumulativ mit
Rollung, § 67 Sechstel/Fixsätze, § 68-Steuerfreiheiten),
``rule_parameters_lst_2026.xml``;
- **SV/DB (AP4, GP4)**: ``models/sozialversicherung.py`` — DG-Beiträge
(SVDG, ÖGK 2026: 20,98 %), Geringfügigkeit (§ 5 Abs 2 iVm § 810 Abs 3
ASVG) + § 53a-UV, beitragsfreie Bezüge § 49 Abs 3 mit Jahres-
Kumulativen, altersabhängige Satzausschaltungen (AlVG § 1 Abs 2 lit e,
ASVG § 51 Abs 6/7, IESG § 12), WF-Satzvektor Bundesland × Jahr
(Wien 1,5 % ab 2026), ALV-DN-Staffel § 2a AMPFG, Beitragsmonats-
Allokation (Anspruchsprinzip), DAG-Bewertung § 1 DAG —
``rule_parameters_sv_2026.xml``; BV-Beitrag Abfertigung Neu
(BMSVG § 6 Abs 1, ``at_sv_bv_dg``) als Parameter für das
General-AT-Modul (GP5);
- **Meldewesen/Belege (AP5/AP6, GP7):** ELDA-Fixsatz-Framework
(``models/elda.py`` — Vorlauf/Schluss, SANR/SANZ, Cent-Formatter,
ISO-8859-15), **Lohnzettel Finanz L16 + Arbeitsstättenmeldung**
(``models/lohnzettel_l16.py`` — I1/L1 nach DM-ORG 42.7.0,
Lohnzettelversion 28, KZ-245-Formel-Prüfung, BEST LF/94 bzw. AD/ST),
Kind-Datenmodell für die FB+-Wartung (``models/kind.py``),
Meldewesen-Stammdaten (BKNR/Lohnsteuernummer, GKZ am Partner,
VSNR-Formatprüfung, eSV-Abmeldegrund-Mapping,
``models/meldewesen.py``), Belege Lohnzettel AT/Monatsdienstliste/
Monatsjournal (QWeb, ``models/monatsreports.py``);
- **GP8:** Fristenkalender (``models/fristenkalender.py`` — Cron,
Auto-Erzeugung, Sprung zur GP7-Deklaration), Jahres-Retro-/
Aufrollungslauf (``models/jahresretro.py`` — Kontrollsechstel
§ 67 Abs 10, §-77-Abs-3/4-Option), Mitteilungsfile-Import
(``models/mitteilungsfile.py`` — ELDA-Rückantwort-XML),
2027-Parameter-Struktur (nur Rahmen);
- deklarative TASY-Mapping-Tabelle und Import-Wizard (Preview,
Sprungwarnung > 10 %, explizite Bestätigung, versionierte Werte);
- **Meldewesen/Belege (AP5/AP6, GP7):** ELDA-Fixsatz-Framework
(``models/elda.py``), Lohnzettel Finanz L16 + Arbeitsstättenmeldung
(``models/lohnzettel_l16.py``, DM-ORG 42.7.0, PDF-verifizierte
Satzstrukturen), Kind-Datenmodell für die FB+-Wartung
(``models/kind.py`` — Nutzer-Entscheidung: FB+ rechnet NICHT im
Lohnsteuerkern, Arbeitnehmerveranlagung), Meldewesen-Stammdaten
(BKNR/Lohnsteuernummer, GKZ am Partner, VSNR-Formatprüfung, eSV-
Abmeldegrund-Mapping), Belege Lohnzettel AT/Monatsdienstliste/
Monatsjournal als QWeb (``report/belege_reports.xml``);
- folgen nach Freigabe der Bgld.-APs: Meldewesen (L16/FinanzOnline,
eSV/ELDA, AP5), Belege (AP6).
Kein VRV-Bezug: die Gemeinde-Buchhaltung (Anlage 3b, Ansatz/MVAG) läuft
über die Brücke ``l10n_at_gemeinde_payroll_vrv`` im gem360-Repo (AP7).
""",
'depends': ['hr_payroll'],
'data': [
'security/ir.model.access.csv',
'security/security_rules.xml',
'data/rule_parameters_2026.xml',
'data/rule_parameters_lst_2026.xml',
'data/rule_parameters_sv_2026.xml',
'data/rule_parameters_2027.xml',
'data/tasy_mapping.xml',
'data/hr_departure_reason_seed.xml',
'views/tasy_views.xml',
'views/tasy_katalog_views.xml',
'views/company_views.xml',
'views/meldewesen_views.xml',
'views/fristen_views.xml',
'report/belege_reports.xml',
'report/jahresreports.xml',
],
'countries': ['at'],
'license': 'LGPL-3',
'installable': True,
'auto_install': False,
}