42bb759fd1
SV-Werte-Implementierung nach dem freigegebenen TASY-Plan (PLAN-TASY-SV-Import):
- hr.rule.parameter-Seed 2026 (20 Parameter, generator-erzeugt aus dem
ÖGK TASY-LSWH-Export, Stichtag 2026-07-01): Geringfügigkeit 551,10 EUR
(GFGBTG, ab 2025 — Aufwertungsaussetzung korrekt abgebildet), HBG
monatlich 6.930 EUR (HBGALLG tgl. x 30), HBG SZ 13.860 EUR, KV
3,87/3,78, PV 10,25/12,55, AV 2,95/2,95, UV 0/1,10, IESG 0/0,10,
BV 1,53, AK/WF geführt, § 2a AMPFG-Staffel aus dem SV-Werte-Report.
Generator mit Herkunftsnachweis + Erwartungswert-Ankern
(personalverrechnung/tools/gen_sv_parameters_2026.py, Exit 1 bei
Abweichung von den offiziellen Ankern).
- TASY-Quelldatei committet (personalverrechnung/quellen/, 5 MB —
öffentliches Tarifdatenmaterial ohne Personendaten) für Seed- und
Testreproduzierbarkeit.
- Deklarative TASY-Mapping-Tabelle (gemeinde.payroll.tasy.mapping,
data XML): bbb-Codes (Cent, Faktor z. B. x 30) und Tarifzweige
(_dn/_dg-Suffix-Konvention) — keine festen Werte im Code.
- Import-Wizard (TransientModel, lxml safe parsing):
Beschaeftigtengruppe B002 ("Angestellte") -> Tarifgruppe ->
tarifgruppeSetZuord -> Tarifset -> Tarif; bei Varianten gewinnt die
Split-Variante (DN>0 und DG>0), dann die einseitige DG-Variante (UV/BV);
freie-DN-Varianten verlieren. Preview mit Delta, Sprungwarnung > 10 %,
Warnzeilen werden nie automatisch übernommen; Schreiben versionierter
hr.rule.parameter.value-Sätze erst nach expliziter Bestätigung.
- Tests (4 Suiten): Seed-Werte am Stichtag, Fixture-Parser
(Split-Präferenz, Cent-Rechnung), Versionsverhalten (Update statt
Duplikat), Echtdaten-Test gegen den 5-MB-Export (Auflösung == Seed,
keine Warnzeilen).
- Security/Views/Menüs für Mapping + Wizard; Modul-Version 19.0.1.2.0.
Statische Validierung grün (py_compile, XML, Manifest); Runtime-Testlauf
auf dem Dev-Host ausständig.
67 lines
2.9 KiB
XML
67 lines
2.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- Beitragsbemessungsbeträge (Cent-Werte, TASY-LSWH) -->
|
|
<record id="tasy_mapping_gfg" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">bbb</field>
|
|
<field name="tasy_code">GFGBTG</field>
|
|
<field name="parameter_code">at_sv_gfg_monatlich</field>
|
|
<field name="cent_werte" eval="True"/>
|
|
<field name="faktor">1.0</field>
|
|
</record>
|
|
<record id="tasy_mapping_hbg_mon" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">bbb</field>
|
|
<field name="tasy_code">HBGALLG</field>
|
|
<field name="parameter_code">at_sv_hbg_monatlich</field>
|
|
<field name="cent_werte" eval="True"/>
|
|
<field name="faktor">30</field>
|
|
</record>
|
|
<record id="tasy_mapping_hbg_sz" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">bbb</field>
|
|
<field name="tasy_code">HBGSZ</field>
|
|
<field name="parameter_code">at_sv_hbg_sz_jaehrlich</field>
|
|
<field name="cent_werte" eval="True"/>
|
|
<field name="faktor">1.0</field>
|
|
</record>
|
|
|
|
<!-- Tarifzweige (Beitragssätze; _dn/_dg wird angehängt) -->
|
|
<record id="tasy_mapping_kv" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">zweig</field>
|
|
<field name="tasy_code">KV</field>
|
|
<field name="parameter_code">at_sv_kv</field>
|
|
</record>
|
|
<record id="tasy_mapping_pv" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">zweig</field>
|
|
<field name="tasy_code">PV</field>
|
|
<field name="parameter_code">at_sv_pv</field>
|
|
</record>
|
|
<record id="tasy_mapping_av" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">zweig</field>
|
|
<field name="tasy_code">AV</field>
|
|
<field name="parameter_code">at_sv_av</field>
|
|
</record>
|
|
<record id="tasy_mapping_uv" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">zweig</field>
|
|
<field name="tasy_code">UV</field>
|
|
<field name="parameter_code">at_sv_uv</field>
|
|
</record>
|
|
<record id="tasy_mapping_iesg" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">zweig</field>
|
|
<field name="tasy_code">IE</field>
|
|
<field name="parameter_code">at_sv_iesg</field>
|
|
</record>
|
|
<record id="tasy_mapping_bv" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">zweig</field>
|
|
<field name="tasy_code">BV</field>
|
|
<field name="parameter_code">at_sv_bv</field>
|
|
</record>
|
|
<record id="tasy_mapping_ak" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">zweig</field>
|
|
<field name="tasy_code">AK</field>
|
|
<field name="parameter_code">at_sv_ak</field>
|
|
</record>
|
|
<record id="tasy_mapping_wf" model="gemeinde.payroll.tasy.mapping">
|
|
<field name="tasy_art">zweig</field>
|
|
<field name="tasy_code">WF</field>
|
|
<field name="parameter_code">at_sv_wf</field>
|
|
</record>
|
|
</odoo> |