Files
odoo-at-payroll/addons/l10n_at_gemeinde_payroll/data/tasy_mapping.xml
T
fegger 42bb759fd1 [IMP] l10n_at_gemeinde_payroll: implement SV value layer (AP4) from OEGK TASY
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.
2026-09-09 12:47:10 +02:00

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>