mirror of
http://100.103.83.12:3003/fegger/odoo-at-payroll.git
synced 2026-09-17 08:52:45 +00:00
[IMP] l10n_at_hr_payroll_private: GP5 Abfertigung Neu (BVG-Regel, eigene BV-Grundlage, Anwartschaft/Report/Wizard)
Laufender Beitrag (§ 6 BMSVG): Regel BVG (Kategorie ATP_DG, ohne Nettoeffekt) auf EIGENER, ungecappter BV-Grundlage — §-49-bereinigt, ohne HBG-/Jahresdeckel (§ 6 Abs 5 iVm § 49 ASVG) und ohne §-67-Abs-3/6-Zeilen (§ 49 Abs 3 Z 7 ASVG); bewusst kein Rückgriff auf die SV-SZ-Basis des Kerns (Nutzer-Entscheidung eigene BV-Grundlage; deren Z-7-Ausschluss fehlt — GP4-Beobachtung bleibt offen dokumentiert). Beitragsfreier erster Monat taggenau: Fenster [Eintritt, Eintritt + 1 Monat), Beitragspflicht ab Monatsjubiläum (15. 06. → 15. 07.; KB-Beispiel lb-vor-03: 4.500/30 × 17 = 2.550 — die ab-Folgetag-Lesart war ein Off-by-one und wurde verworfen); 30-Tage-Aliquotierung über die Lohnsteuertage (Teilmonate ohne Doppelabzug); Monatsende-Klippe (Eintritt 31. 01.): Fenster bis Monatsultimo, Pflicht ab Folgemonatserstem (ABGB-Fristrechnung); AV ≤ 1 Monat zur Gänze beitragsfrei. Wiederzulassung binnen 12 Monaten → Beitragspflicht ab dem 1. Tag; Vor-AV beliebiger Dauer (auch < 1 Monat, Nutzer-Klarstellung) und schlägt auch die Kurz-AV-Freiheit des laufenden AV (OGH 9 ObA 30/16a; Suche über frühere hr.version mit contract_date_end im 12-Monats-Fenster). Sonderzahlungen werden nicht um das Fenster gekürzt, bleiben frei nur bei Beitragsmonat (voller Datumstag, taggenau) im Fenster. Geringfügig Beschäftigte und Lehrlinge sind erfasst — BVG läuft auch im §-53a-Fall. Anwartschaft (§ 15: gutgebrachte Beiträge + Erträge, keine Monatsentgelt-Staffel) on-the-fly aus validierten Läufen; Anwartschaftsreport (QWeb auf hr.employee) und Endabrechnungs-Wizard (§§ 14-17: §-14-Abs-2-Verfügungsmatrix, < 36 Beitragsmonate sperrt immer, §-16-Fälligkeit am Ende des zweitfolgenden Monats, 6-Monats-Erklärungsfrist, 5 Verfügungsoptionen) — die Auszahlung erfolgt durch die MV-Kasse, nicht über den Payslip. Stammdaten: Vertrags-Flag l10n_at_abfertigung_neu (§ 46) + Modell l10n.at.bv.kasse (Leitzahl für eSV/mBGM; Seed der 7 Kassen-Namen noupdate, lb-gsv-11 — Leitzahlen aus Mandats-Unterlagen) + Mitarbeiter-Felder l10n_at_bv_ertraege/l10n_at_bv_monate_extern (Kassen-Auszug). Bewusst nicht: §-7-BMSVG-Fiktivfälle (dokumentierte Option), Geringfügigen-Jahreszahlung + 2,5 % (GP7), BV-Provider (Option). Tests: test_bv_private (10 Fälle, RF-BV1-10); gesamt 84/84 grün (frischer -i-Lauf auf Wegwerf-DB). Rechenfälle docs/rechenfaelle/abfertigung.md. 19.0.5.0.0.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Seed der am Markt bestehenden Mitarbeitervorsorgekassen — -->
|
||||
<!-- NUR Namen (lb-gsv-11, Stand 2026-07: „derzeit sieben BV- -->
|
||||
<!-- Kassen (Allianz, APK, BONUS, BUAK, NÖ, Valida Plus, VBV)"). -->
|
||||
<!-- Leitzahlen und Kassen-Details bewusst NICHT gesetzt: aus den -->
|
||||
<!-- Kassen-Unterlagen des Mandanten übernehmen (eSV/mBGM, GP7) — -->
|
||||
<!-- niemals geraten (Verify-before-assume). noupdate, damit -->
|
||||
<!-- Mandats-Pflege (Leitzahl) bei Modul-Updates erhalten bleibt. -->
|
||||
<data noupdate="1">
|
||||
<record id="bv_kasse_allianz" model="l10n.at.bv.kasse">
|
||||
<field name="name">Allianz</field>
|
||||
</record>
|
||||
<record id="bv_kasse_apk" model="l10n.at.bv.kasse">
|
||||
<field name="name">APK</field>
|
||||
</record>
|
||||
<record id="bv_kasse_bonus" model="l10n.at.bv.kasse">
|
||||
<field name="name">BONUS</field>
|
||||
</record>
|
||||
<record id="bv_kasse_buak" model="l10n.at.bv.kasse">
|
||||
<field name="name">BUAK</field>
|
||||
</record>
|
||||
<record id="bv_kasse_noe" model="l10n.at.bv.kasse">
|
||||
<field name="name">NÖ</field>
|
||||
</record>
|
||||
<record id="bv_kasse_valida" model="l10n.at.bv.kasse">
|
||||
<field name="name">Valida Plus</field>
|
||||
</record>
|
||||
<record id="bv_kasse_vbv" model="l10n.at.bv.kasse">
|
||||
<field name="name">VBV</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- ============================================================ -->
|
||||
<!-- GP5: Abfertigung Neu (BMSVG) — dünne BVG-Regel für die -->
|
||||
<!-- privatwirtschaftliche Structure. Logik/Werte im Kern -->
|
||||
<!-- (Parameter at_sv_bv_dg, 1,53 %) und im Privatmodul -->
|
||||
<!-- (models/abfertigung_private.py: eigene, ungecappte BV- -->
|
||||
<!-- Grundlage § 6 Abs 5 iVm § 49 ASVG, beitragsfreier erster -->
|
||||
<!-- Monat taggenau, Wiederzulassung, SZ ohne Fenster-Kürzung); -->
|
||||
<!-- hier nur die 1-Zeilen-Bindung (kein Wertefork). -->
|
||||
<!-- Kategorie ATP_DG: reine Dienstgeberkosten ohne Nettoeffekt; -->
|
||||
<!-- läuft bewusst auch für geringfügig Beschäftigte und -->
|
||||
<!-- Lehrlinge (§ 46 BMSVG). -->
|
||||
<!-- ============================================================ -->
|
||||
<record id="rule_bvg" model="hr.salary.rule">
|
||||
<field name="name">BV-Beitrag Abfertigung Neu (§ 6 BMSVG; DG)</field>
|
||||
<field name="code">BVG</field>
|
||||
<field name="sequence" eval="95"/>
|
||||
<field name="category_id" ref="l10n_at_hr_payroll_private.category_atp_dg"/>
|
||||
<field name="struct_id" ref="l10n_at_hr_payroll_private.structure_at_privat"/>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = payslip._at_bv_beitrag(result_rules) > 0</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="l10n_at_bemessung">neutral</field>
|
||||
<field name="amount_python_compute"><![CDATA[
|
||||
result = payslip._at_bv_beitrag(result_rules)
|
||||
]]></field>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user