fegger 34e6750fe3 [IMP] l10n_at_hr_payroll_private: mBGM liest TASY-Katalog (BSGR/ERGB), AT-Abwesenheiten mit hr_holidays (AP0+AP1+AP5)
AP0 — mBGM-Tarifierung aus dem TASY-Katalog:
- Katalog vor Hand-Parameter at_mbgm_tarif (quelle katalog/parameter);
  Company-Feld l10n_at_dienstgebergruppe (Default NBALG),
  Vertrags-m2m l10n_at_ergaenzung_ids; ERGB wird im T1 real belegt
- BSGR-Korrektur nach TASY-Bezeichnern: Lehrlinge Arbeiter->B045 /
  Angestellte->B044 (invertiert bisher), geringfuegig/fallweise
  B010/B030 je Personalgruppe
- NSchAB-Feld: Falschbezeichnung Schlechtwetter -> Nachtschwerarbeit
  (3,80 % = NB-Zweig DG ab 2020); Flag nur noch Parameter-Fallback
- Tests: Katalog schlaegt manipulierten Parameter, ERGB-Emission,
  BSGR-Mapping

AP1 — M4-Test auf explizit ungemappte Abgangsursache (AGRD 00-Fallback)

AP5 — hr_holidays/hr_work_entry_holidays als Pflicht-Dependence:
- AT-WETs ATP_URLAUB/ATP_KRANK/ATP_KARENZ (is_leave) + AT-Urlaubsarten
  (UrlG, Krankenstand mit Krankmeldungspflicht, unbezahlte Karenz)
  nach Odoo-Lokalisierungsmuster; ATP_AU (Arbeitsunfall) folgt mit AP4
- Test: validierter Krankenstand erzeugt Work Entries mit AT-WET
2026-09-12 23:17:38 +02:00

odoo-at-payroll

Österreichische Personalverrechnung auf Odoo 19 Enterprise. Eigenes Repo seit 2026-09-09 — Überführung aus gem360-git per History-Import; siehe personalverrechnung/PLAN-repo-split.md.

Module

Modul Zweck
l10n_at_hr_payroll Bundes-Kern (sektor-neutral): SV-Werte 2026 als hr.rule.parameter-Seed, TASY-Import-Wizard; folgen: Lohnsteuer (AP3), Meldewesen L16/eSV (AP5), Belege (AP6)
l10n_at_gemeinde_payroll Bgld. GemBG 2014: Katalogmodell (AP1), Entgelt-Engine (AP2); AP3+ gemäß personalverrechnung/IMPLEMENTIERUNGSPLAN-Bgld.md
l10n_at_hr_payroll_private General-AT (KV-basierte Privatwirtschaft) — Gerüst; Implementierungsplan freigegeben (IMPLEMENTIERUNGSPLAN-Privat.md), Umsetzung ab M1 (GP0)

VRV-Buchung für Gemeinden (Anlage 3b, Ansatz/MVAG, EHH/FHH) läuft über die Brücke l10n_at_gemeinde_payroll_vrv im gem360-Repo (AP7). Abhängigkeitsrichtung: gem360 → dieses Repo, nie umgekehrt.

Entwicklung

  • Odoo 19: Quellen-Referenz ist odoo_19.0+e.20260910/odoo-19.0+e.20260910/ (lokal, unversioniert, in .gitignore) — gemergter Baum (Community und Enterprise in einem Addons-Verzeichnis, 1.481 Addons, u. a. hr_payroll*, l10n_be_hr_payroll, l10n_ch_hr_payroll; Version 19.0+e.20260910, Paketname odoo, startbar via python -m odoo). Die früheren Checkouts odoo/ + odoo_enterprise/ (19.0.0) sind am 2026-09-11 entfernt worden; D4-Spot-Checks aus den Plänen wurden gegen 19.0.0 gemacht — gleiche relative Pfade, aber Neuzugänge wie immer zu Baubeginn gegen diesen Baum verifizieren (D4). Pin bei Odoo-Upgraden gegen den gem360-Entwicklungsstand validieren.
  • Runtime: Python 3.14 venv im Repo (.venv/, in .gitignore; editable install des gemergten Baums) + PostgreSQL (Arch: postgresql-Paket, Cluster unter /var/lib/postgres/data, systemctl start postgresql). Dev-DB: odoo_dev. Rollen-/DB-Anlage einmalig: sudo -u postgres createuser -s <user> und createdb odoo_dev.
  • Planung/Rechtsquellen: personalverrechnung/ (PLAN, RECHTSQUELLEN, IMPLEMENTIERUNGSPLAN, Angebotskalkulation).
  • Rechts-Rohquellen: .firecrawl/lokal, unversioniert; falls fehlend, neu von RIS/sozialversicherung.at beschaffen (siehe payroll-Skill), niemals aus Trainingswerten arbeiten.

Tests

Wegwerf-DB verwenden (nie gem360_dev):

createdb <testdb>
.venv/bin/python -m odoo -d <testdb> \
  -i l10n_at_hr_payroll,l10n_at_gemeinde_payroll \
  --test-tags /l10n_at_hr_payroll,/l10n_at_gemeinde_payroll \
  --test-enable --stop-after-init \
  --addons-path=odoo_19.0+e.20260910/odoo-19.0+e.20260910/odoo/addons,addons

Der gemergte Baum enthält Community- und Enterprise-Addons in einem Verzeichnis; kein separates odoo-bin mehr — Aufruf über .venv/bin/python -m odoo. Dazu je Änderung: py_compile über alle Python-Dateien und XML-Well-formedness-Check (Konvention wie im gem360/vrv2015-Workflow).

S
Description
No description provided
Readme 54 MiB
Languages
Python 99.7%
Shell 0.3%