[ADD] l10n_at_hr_payroll_private: KV framework (GP1)

GP1 of the approved General-AT implementation plan: the KV
framework for the Austrian private economy on the Odoo 19
hr_payroll engine.

- l10n.at.payroll.kv: collective agreement master data with chamber,
  union, validity date and a trace link to the KV library
  (personalverrechnung/quellen/kv/)
- l10n.at.payroll.kv.wert: versioned KV parameters following the
  hr.rule.parameter.value pattern (Python literal, unique per
  KV/code/date); consumed via employee.kv_id._wert(code, date)
- l10n.at.payroll.kv.gruppe / .stufe: Verwendungsgruppen with
  Erfahrungsstufen year tables, unique(gruppe, stufe, gueltig_ab),
  Stichtag lookup
- hr.version / hr.employee contract fields: kv_id, kv_gruppe_id,
  erfahrungsstufe, ueberzahlung
- import wizard for KV intake and yearly updates: table paste
  (Gruppe;Stufe;Gehalt[;Bezeichnung]), preview, >10% jump warning
  (warn lines never applied automatically), new gueltig_ab versions,
  historical values untouched
- seed D2 (SI-2203 Handwerk und Gewerbe, SI-2748 Metallgewerbe):
  wage tables from 1. 1. 2026 curated from the KV library texts -
  18 groups, 131 stage values, 27 parameters, including the special
  progression groups IV-M / V-OM (SI-2748) and the discontinued
  VG I (SI-2203)
- tests: test_kv_katalog (seed lookups, Stichtag behaviour,
  versioning, parameters, wizard, contract fields)

Statically validated (py_compile, XML well-formedness, CSV
consistency, wizard logic simulation); runtime acceptance pending
PostgreSQL on the dev host.
This commit is contained in:
2026-09-09 22:10:26 +02:00
parent 6e444b088a
commit 67374611c6
16 changed files with 1274 additions and 12 deletions
@@ -0,0 +1,49 @@
# Part of the odoo-at-payroll project. License: LGPL-3.
{
'name': 'Österreich - Privatwirtschaft Personalverrechnung (General-AT)',
'version': '19.0.1.0.0',
'author': 'ixsol / gem360',
'website': 'https://gem360.at',
'category': 'Human Resources/Payroll',
'description': """
General-AT-Personalverrechnung (KV-basierte Privatwirtschaft)
==============================================================
Monatsverrechnung für Beschäftigte der österreichischen Privatwirtschaft
nach dem **KV-Regime** auf der Odoo-19 ``hr_payroll``-Engine. Fachliche
Grundlagen: ``personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md`` und
``personalverrechnung/RECHTSQUELLEN-Privat.md`` (GP0-Verifikationen).
- **GP1 KV-Framework (dieser Stand):** Kollektivvertrags-Stammdaten
(``l10n.at.payroll.kv``) mit Trace-Link zur KV-Library, versionierte
KV-Eckwerte (``kv.wert`` — Muster ``hr.rule.parameter.value``,
Konsum über ``employee.kv_id._wert(code, datum)``), Verwendungs-/
Lohngruppen mit Erfahrungsstufen (``kv.gruppe`` / ``kv.gruppe.stufe``,
Jahrestabellen je ``gueltig_ab``), KV-Einstufung am Vertrag
(``hr.version``: KV, Gruppe, Erfahrungsstufe, Überzahlung) sowie
ein Import-Wizard für KV-Aufnahme und Jahresupdate (Vorschau,
Sprungwarnung > 10 %, versionierte Werte — TASY-Muster).
- **Seed D2 (Referenz-KVs R1):** SI-2203 „Handwerk und Gewerbe" +
SI-2748 „Metallgewerbe" (Gehaltstabellen ab 1. 1. 2026, kuratiert aus
den KV-Library-Volltexten).
- **Folgen (GP2+):** Entgelt-Engine (KVGEO, AZG-Zuschläge, 13./14.
Bezüge), Lohnsteuer/SV im Bundes-Kern (D3-Vorfinanzierung),
Abfertigung Neu, Meldewesen/Belege, FI-Buchung UGB.
Kein VRV-Bezug (Gemeinde-Schiene bleibt ``l10n_at_gemeinde_payroll`` +
gem360-Brücke).
""",
'depends': ['l10n_at_hr_payroll', 'hr_payroll_account'],
'data': [
'security/ir.model.access.csv',
'data/kv_seed.xml',
'data/l10n.at.payroll.kv.gruppe.csv',
'data/l10n.at.payroll.kv.gruppe.stufe.csv',
'data/l10n.at.payroll.kv.wert.csv',
'views/kv_views.xml',
],
'countries': ['at'],
'license': 'LGPL-3',
'installable': True,
'auto_install': False,
}