[IMP] l10n_at_hr_payroll: TASY-Tarifsystem-Katalog, AGRD-Auswahl, DG-Kosten-/Lohnkonten-Reports, Wr.-DAG-Grundlagen (AP0-AP3)

AP0 Variante b — TASY-Tarifsystem-Katalog:
- Neue Katalogmodelle (BSGR/ERGB/Dienstgebergruppen/Tarifgruppen/
  Tarifsets/Tarife/Zuordnungen/Zu-Abschläge inkl. Steuerung),
  models/tasy_katalog.py — Auflösung Tarifgruppe (BSGR+ERGB+DGG)
  -> Sätze je Verrechnungsbasis
- Import-Wizard l10n.at.payroll.tasy.katalog.wizard (alle Träger,
  sektionsscharf, idempotent), Views/Menüs, Security
- Realexport-Test gegen TASY-LSWH-Export (B001/B002 = 39,05/37,55 %)

AP1 — eSV-Abmeldegründe (DM-ORG D.22):
- l10n_at_agrd Char -> vollständige Selection (33 Codes),
  Seed der Standard-Abgangsursachen (noupdate, hr-Defaults vorverbunden),
  Form-/Listen-Erbe

AP2a-c — Auswertungen:
- Monatsjournal: eigener Dienstgeberanteile-Block (ATP_DG vorher
  still ausgefiltert); Fix: models/monatsreports.py war nie in
  models/__init__.py importiert (GP7-Reports waren toter Code)
- Neuer Report Dienstgeber-Gesamtkosten (Brutto + LNK aufgeschlüsselt/
  kumuliert je AN + Laufsummen, Spalten FLAF/KommSt/DZ/BV/Wr. DAG)
- Jahreslohnkonto je DN + Betriebsjahreslohnkonto (Jahresbericht-
  Wizard, Monatsmatrix je Lohnart), report/jahresreports.xml

AP3 — Wr. Dienstgeberabgabe (RIS LrW GesNr 20000133 verifiziert):
- Company-Flag l10n_at_wien_dag (Kern), Fristenarten wien_dag/
  wien_dag_jahres (cron-geflaggt, 15./31. 3.), Company-View-Feld,
  Wr.-DAG-Spalte im DG-Kosten-Report
This commit is contained in:
2026-09-12 23:17:00 +02:00
parent 3c5cc3aded
commit 3c85cc6790
16 changed files with 1999 additions and 35 deletions
@@ -28,6 +28,7 @@
<field name="l10n_at_bundesland"/>
<field name="l10n_at_wk_mitglied"/>
<field name="l10n_at_wf_wien"/>
<field name="l10n_at_wien_dag"/>
</group>
</group>
</page>
@@ -124,4 +124,26 @@
</notebook>
</field>
</record>
<!-- AGRD-Mapping an der Abgangsursache (AP1) -->
<record id="hr_departure_reason_view_form_agrd" model="ir.ui.view">
<field name="name">hr.departure.reason.form.l10n_at_agrd</field>
<field name="model">hr.departure.reason</field>
<field name="inherit_id" ref="hr.hr_departure_reason_view_form"/>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="l10n_at_agrd"/>
</field>
</field>
</record>
<record id="hr_departure_reason_view_list_agrd" model="ir.ui.view">
<field name="name">hr.departure.reason.list.l10n_at_agrd</field>
<field name="model">hr.departure.reason</field>
<field name="inherit_id" ref="hr.hr_departure_reason_view_list"/>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="l10n_at_agrd" optional="show"/>
</field>
</field>
</record>
</odoo>
@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ============================================================ -->
<!-- AP0 (Variante b): SV-Tarifsystem-Katalog — BSGR/ERGB/DGG/ -->
<!-- Tarifgruppen/Tarifsets/Zu-/Abschläge aus dem TASY-Import. -->
<!-- ============================================================ -->
<record id="tasy_tarifgruppe_list_view" model="ir.ui.view">
<field name="name">l10n.at.payroll.tasy.tarifgruppe.list</field>
<field name="model">l10n.at.payroll.tasy.tarifgruppe</field>
<field name="arch" type="xml">
<list string="Tarifgruppen">
<field name="code"/>
<field name="bezeichnung"/>
<field name="bsgr_ids" widget="many2many_tags"/>
<field name="ergaenzung_ids" widget="many2many_tags"/>
<field name="dienstgebergruppe_ids" widget="many2many_tags"/>
<field name="von_datum" optional="show"/>
<field name="bis_datum" optional="show"/>
<field name="fallweise_zulaessig" optional="hide"/>
<field name="bv_zulaessig" optional="hide"/>
</list>
</field>
</record>
<record id="tasy_tarifgruppe_form_view" model="ir.ui.view">
<field name="name">l10n.at.payroll.tasy.tarifgruppe.form</field>
<field name="model">l10n.at.payroll.tasy.tarifgruppe</field>
<field name="arch" type="xml">
<form string="Tarifgruppe">
<sheet>
<group>
<group>
<field name="code"/>
<field name="bezeichnung"/>
<field name="traegergruppe"/>
<field name="von_datum"/>
<field name="bis_datum"/>
</group>
<group>
<field name="bsgr_ids" widget="many2many_tags"/>
<field name="ergaenzung_ids"
widget="many2many_tags"/>
<field name="dienstgebergruppe_ids"
widget="many2many_tags"/>
<field name="fallweise_zulaessig"/>
<field name="bv_zulaessig"/>
</group>
</group>
<notebook>
<page string="Tarifset-Zuordnungen"
name="zuordnungen">
<field name="zuord_ids" readonly="1">
<list>
<field name="basis_typ"/>
<field name="pos_typ"/>
<field name="tarifset_id"/>
<field name="von_datum"/>
<field name="bis_datum"/>
</list>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="action_tasy_tarifgruppe" model="ir.actions.act_window">
<field name="name">Tarifgruppen (SV-Tarifsystem)</field>
<field name="res_model">l10n.at.payroll.tasy.tarifgruppe</field>
<field name="view_mode">list,form</field>
</record>
<record id="tasy_bsgr_list_view" model="ir.ui.view">
<field name="name">l10n.at.payroll.tasy.bsgr.list</field>
<field name="model">l10n.at.payroll.tasy.bsgr</field>
<field name="arch" type="xml">
<list string="Beschäftigtengruppen">
<field name="code"/>
<field name="kurzbezeichnung"/>
<field name="bezeichnung"/>
<field name="traegergruppe"/>
<field name="von_datum" optional="show"/>
<field name="bis_datum" optional="hide"/>
</list>
</field>
</record>
<record id="action_tasy_bsgr" model="ir.actions.act_window">
<field name="name">Beschäftigtengruppen (BSGR)</field>
<field name="res_model">l10n.at.payroll.tasy.bsgr</field>
<field name="view_mode">list</field>
</record>
<record id="tasy_ergaenzung_list_view" model="ir.ui.view">
<field name="name">l10n.at.payroll.tasy.ergaenzung.list</field>
<field name="model">l10n.at.payroll.tasy.ergaenzung</field>
<field name="arch" type="xml">
<list string="Ergänzungen">
<field name="code"/>
<field name="kurzbezeichnung"/>
<field name="bezeichnung"/>
<field name="traegergruppe"/>
<field name="von_datum" optional="show"/>
<field name="bis_datum" optional="hide"/>
</list>
</field>
</record>
<record id="action_tasy_ergaenzung" model="ir.actions.act_window">
<field name="name">Ergänzungen (ERGB)</field>
<field name="res_model">l10n.at.payroll.tasy.ergaenzung</field>
<field name="view_mode">list</field>
</record>
<record id="tasy_zuabschlag_list_view" model="ir.ui.view">
<field name="name">l10n.at.payroll.tasy.zuabschlag.list</field>
<field name="model">l10n.at.payroll.tasy.zuabschlag</field>
<field name="arch" type="xml">
<list string="Zu-/Abschläge">
<field name="code"/>
<field name="kurzbezeichnung"/>
<field name="bezeichnung"/>
<field name="zuabschlagkz" optional="show"/>
<field name="versicherungsrelevant" optional="show"/>
<field name="von_datum" optional="show"/>
<field name="bis_datum" optional="hide"/>
</list>
</field>
</record>
<record id="action_tasy_zuabschlag" model="ir.actions.act_window">
<field name="name">Zu-/Abschläge</field>
<field name="res_model">l10n.at.payroll.tasy.zuabschlag</field>
<field name="view_mode">list</field>
</record>
<!-- Katalog-Import-Wizard -->
<record id="tasy_katalog_wizard_form_view" model="ir.ui.view">
<field name="name">l10n.at.payroll.tasy.katalog.wizard.form</field>
<field name="model">l10n.at.payroll.tasy.katalog.wizard</field>
<field name="arch" type="xml">
<form string="SV-Tarifsystem-Katalog importieren">
<group>
<field name="file" filename="filename"/>
<field name="filename" invisible="1"/>
<field name="stichtag" readonly="1"/>
</group>
<group string="Protokoll">
<field name="protocol" readonly="1"/>
</group>
<footer>
<button string="Katalog importieren"
name="action_import" type="object"
class="btn-primary"/>
<button string="Abbrechen" class="btn-secondary"
special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_tasy_katalog_wizard" model="ir.actions.act_window">
<field name="name">Tarifsystem-Katalog importieren (TASY)</field>
<field name="res_model">l10n.at.payroll.tasy.katalog.wizard</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem id="menu_l10n_at_payroll_tasy_tarifgruppen"
name="Tarifsystem: Tarifgruppen"
parent="menu_l10n_at_payroll_root"
action="action_tasy_tarifgruppe" sequence="30"/>
<menuitem id="menu_l10n_at_payroll_tasy_bsgr"
name="Tarifsystem: Beschäftigtengruppen"
parent="menu_l10n_at_payroll_root"
action="action_tasy_bsgr" sequence="40"/>
<menuitem id="menu_l10n_at_payroll_tasy_ergaenzung"
name="Tarifsystem: Ergänzungen"
parent="menu_l10n_at_payroll_root"
action="action_tasy_ergaenzung" sequence="50"/>
<menuitem id="menu_l10n_at_payroll_tasy_zuabschlaege"
name="Tarifsystem: Zu-/Abschläge"
parent="menu_l10n_at_payroll_root"
action="action_tasy_zuabschlag" sequence="60"/>
<menuitem id="menu_l10n_at_payroll_tasy_katalog_import"
name="Tarifsystem-Katalog importieren"
parent="menu_l10n_at_payroll_root"
action="action_tasy_katalog_wizard" sequence="70"/>
</odoo>