Files
odoo-at-payroll/personalverrechnung/PLAN-payroll-bgld.md
T
fegger 7e19fadcfd [IMP] personalverrechnung: move plan document into project folder
60-PLAN-payroll-bgld.md liegt nun als personalverrechnung/PLAN-payroll-bgld.md
neben RECHTSQUELLEN-Bgld.md und der Angebotskalkulation; Dokumentverweise in
beiden Projekt-Dokumenten mitgeändert (Rename, Inhalt unverändert).
2026-09-09 11:00:57 +02:00

9.5 KiB
Raw Blame History

PLAN — Personalverrechnung Burgenland (gem360 / Odoo 19)

Status: Research/Planning — Schätzung und Beschaffungsliste. Keine Freigabe zur Implementierung; vor Baubeginn ist der Umsetzungsplan einzelnt zur Freigabe vorzulegen (AGENTS.md-Workflow).

  • Datum: 2026-09-09
  • Branch: dev-payroll (angelegt von origin/dev @ 975277a, lokal, nicht gepusht, noch nicht ausgecheckt)
  • Recherche-Quellen: Odoo-19-Enterprise-Source (odoo/addons/), 50-SCOPE-module.md, addons/l10n_at_vrv2015/docs/GAP_ANALYSIS.md
  • Strategie: Burgenland zuerst; Folgebundesländer als marginales Add-on auf wiederverwendbarem Bundes-Kern.

1. Ziel

Einschätzung und Vorbereitung einer Personalverrechnung für österreichische Gemeinden in Odoo 19, pilotiert für Burgenland (Pilotgemeinde: Unterwart). Zwei Varianten:

  • Variante A — volle Personalverrechnung in Odoo (Engine in Odoo).
  • Variante B — externe Lohnverrechnung bleibt; Odoo importiert Monats-Lohnjournal + SV/DB-Summen und bucht auf VRV (deckungsgleich mit der aktuellen Projektentscheidung, s. Abschnitt 7.1).

2. Ausgangslage (verifiziert am Odoo-19-Source)

  • hr_payroll-Engine vorhanden und solide: Structures, Salary Rules (Python-Code pro Regel), Payslips, Runs, Work Entries, Rule Parameters (~12.000 LOC Python, 66 Dateien).
  • hr_payroll_account bucht Payslips auf die FI; hr_payroll_account_iso20022 (SEPA-Auszahlung), hr_payroll_holidays/_attendance vorhanden.
  • Keine österreichische Payroll-Lokalisierung: l10n_at_hr_payroll existiert nicht. AT-Module: nur l10n_at, l10n_at_reports, l10n_at_intrastat, l10n_at_pos, l10n_at_saft.
  • Kalibrierung: ausgereifte Landes-Lokalisierungen (l10n_be_hr_payroll, l10n_ch_hr_payroll) ≈ je 15.000 LOC Python + 15.00018.000 LOC XML.
  • Kein Abfertigungs-/Provisionskern in hr_payroll (Referenz für EOSB: l10n_ae_hr_payroll).
  • VRV-Integration vorhanden: l10n_at_vrv2015 mit budget_position_id auf account.move.line, Ansatz-/MVAG-/EHH-FHH-Infrastruktur; Nachweis-Engine (account.report.custom.handler).

3. Scope Burgenland

Baustein Gesetzlichkeit Burgenland-Effekt
Lohnsteuer (§ 33 EStG, § 68-Pauschalbeträge), Geringfügigkeit, Abfertigung Neu Bund einmalig, für alle Länder
SV-Sätze, DB/Zuschlag, FLAF-DB, Krankengeldumlage Bund einmalig
Meldewesen L16/L17 (FinanzOnline), eSV/JASV (ELDA-XML) Bund einmalig
VRV-Buchung (Anlage 3b, Ansatz, MVAG, EHH/FHH, Rückstellungen) Bund einmalig (l10n_at_vrv2015)
Vertragsbedienstete (VBDG) Bund einmalig
Gemeinde-Angestellte/Arbeiter KV + Landes-Gemeinderecht Bgld. KV-Gehaltskatalog, Erfahrungsstufen
Gemeindebeamte (Landesbeamtenrecht, je Bundesland eigenes Gesetz — Bgld. LGBG, in Research-Phase konsolidiert verifizieren) Land nur eine Rechtsquelle statt neun
Versorgung/Leistungsabgang → speist VRV Anlage 6s Pensionsnachweis (GAP_ANALYSIS Item 13) Land nur Bgld.

4. Schätzung

Alle Werte Expertenschätzungen in Personentagen (PT), ±; 1 PT ≈ 8 h. Schärfung auf ±20 % nach Materialsammlung (Abschnitt 6) möglich.

Variante A — voll in Odoo, Burgenland, alle Mitarbeitergruppen

Revision 2026-09-09 (nach Rechtsrecherche, s. personalverrechnung/RECHTSQUELLEN-Bgld.md): ~180290 PT — das Beamten-Doppelregime entfällt (§ 1 Abs 3 GemBG: keine neuen öffentlich- rechtlichen Dienstverhältnisse), es gibt kein KV-Katalog-Handling, und das Kinderbetreuungspersonal ist im GemBG integriert. Ursprüngliche Schätzung (davon abgelöst):

Phase Umfang Aufwand (PT)
Research/Planning Bgld. Quellensichtung (KV(s), LGBG, VBDG, ELDA/FinOnl-Specs, VRV-Buchungsmatrix), Architekturentscheid, Scope-Abgrenzung mit Pilotgemeinde 1220
Modulentwicklung (a) Bundes-Kern: Structures/Regeln (LSt, SV/DB, Abfertigung Neu, Entlohnung, Jahreswechsel, Meldewesen, Belege, VRV-Buchung): 135230; (b) Bgld. Beamte (LGBG, Katalog, Versorgung, Ablösung/Leistungsabgang): 4070; (c) Mehr-Bundesland-Architektur von Anfang an (Regel-/Katalogdaten je Bundesland trennen): +1015 185315
Testing Regel-Unit-Tests, Golden-Master + 23 Monate Parallellauf gegen die bestehende externe Lohnverrechnung (Pilot Unterwart), ELDA/FinOnl-Testübermittlungen, VRV-Verprobung, Beamten-Eckfälle 5085
Gesamt (alt) ~250420 PT ≈ 1220 Monate (12 Dev + Domänen-Experte)

Releases: R1 KV-Gruppen (Angestellte, Arbeiter, VBDG) ~58 Monate bis produktiv; R2 Bgld. Beamte +23 Monate. Laufend: Wartung 1525 PT/Jahr (KV-Abschluss, LSt-/SV-Jahreswerte, Meldewesen-Änderungen).

Marginal je Folgebundesland (nur wenn (c) eingehalten): 3060 PT (Beamtenrechts-Regeln, KV-/Gehaltskatalog-Daten, Versorgungssätze, Tests). Bundes-Kern bleibt unverändert. Bei Hardkodierung: >100 PT je Bundesland.

Variante B — Import-Schnittstelle (mit Projekt-Constraint konsistent)

Phase Aufwand (PT)
Research/Planning (Formatdefinition mit Lohnbüro, Buchungsmatrix) 36
Modul (Importmodell Monats-Lohnjournal, Buchungsautomatik EHH/FHH + Ansatz + MVAG, Stellenplan/Anlage-4/6f-Datenmodelle — GAP_ANALYSIS Items 1012) 1525
Testing (Import-Validierung, Verprobung Anlage 1a/2a, zwei Mandate) 510
Gesamt ~2540 PT

5. Architektur-Vorgaben (für den späteren Umsetzungsplan)

  1. Auf hr_payroll-Engine aufbauen — keine parallele Engine (odoo19-Development-Skill, Framework-first).
  2. Structures je Mitarbeitergruppe; Regelparameter (hr.rule.parameter) für jährlich wechselnde Werte (LSt-Sätze, SV-Werte, Geringfügigkeitsgrenze, KV-Katalogwerte).
  3. Landes-/Gruppenspezifika als Daten (Kataloge, Zulagensätze) je Bundesland trennen — kein Hardkodieren burgenländischer Werte in Regeln.
  4. VRV-Buchung über hr_payroll_accountaccount.move mit budget_position_id aus l10n_at_vrv2015; EHH/FHH-Split im Lohnlauf.
  5. Rückstellungen (Abfertigung, ggf. Versorgung) mit VRV-Anlage-3b-Konten verdrahten; Abstimmung zu Anlage 1a/2a/2b als Testanker.
  6. Meldewesen: ELDA-eSV-XML und FinOnl L16/L17 als dateibasierte Exports zuerst; Übertragung/Zertifikat-Betrieb separat entscheiden.

6. Research-Checkliste (beschaffen, vor Schätzungsschärfung)

→ Erledigt/aktualisiert 2026-09-09: Die Rechtsquellen-Recherche ist abgeschlossen — Ergebnisse und verifizierte Quellen: personalverrechnung/RECHTSQUELLEN-Bgld.md.** Kernbefund: Burgenland regelt über das Bgld. GemBG 2014 das gesamte Dienst- und Besoldungsrecht aller Gemeindebediensteten (privatrechtlich, keine neuen Beamten, kein KV, quartalsweise Sonderzahlung, Urlaub 28/33 Arbeitstage); Werte aus jährlichen Landes-Bezügeanpassungs-Anlagen. Damit entfällt ein Großteil der ursprünglich angenommenen Bgld.-Beschaffungen:

  • Bgld. Gemeinde-KV(s) + Gehaltskatalogkein KV-Regime; Entlohnung aus GemBG IVa + Bezügeanpassungs-Anlagen.
  • Bgld. LGBG → existiert so nicht; richtig ist das Bgld. GemBG 2014 (LGBl. 42/2014) + GemBÜG 2014 (LGBl. 44/2014).
  • VBDG für Gemeindebedienstete → irrelevant; GemBG regelt das privatrechtliche Dienstverhältnis selbst.
  • KBBG/KV Kinderbetreuung → Hauptstück VIIa GemBG integriert die Kinderbetreuungspersonal-Sonderregeln.
  • ASVG-Beitragssätze/HBG/Geringfügigkeit 2026 verifiziert (sozialversicherung.at-Werte-Tabellen).
  • Lohnsteuertarif 2026 (usp.gv.at), L16-Fristen, LStR-Referenz verifiziert; Überstunden-Freibetrag 2026 (170 €) identifiziert.
  • Bezügeanpassung 2026, Anlagen 1+2 (€-Tabellen Entlohnungsstufen): RV 0715/XXIII. GP bzw. LGBl. 50/2026 → beschaffen.
  • ELDA-eSV-XML-Spezifikation + FinanzOnline L16- Verfahrensbeschreibung → beschaffen.
  • 12 Referenz-Lohnläufe der Pilotgemeinde (Golden-Master) inkl. Bestandsaufnahme (Lehrlinge? Organe-Bezüge? Altpensionen?).
  • VRV-Buchungsmatrix Personal (Kontenklassen 4/5/6 je Ansatz/MVAG inkl. Rückstellungskonten) — Abstimmung mit l10n_at_vrv2015.
  • Offene RIS-Verifikationen: ASVG § 49a Abs 8/9 (öffentlicher FLAF-DB), KommStG § 6, IESG-Basissatz, Krankengeldumlage § 62, Personalvertretungsumlage, SV-Trägerbestätigung (ÖGK Bgld.).

7. Offene Punkte / Entscheidungen

  1. Scope-Konflikt Variante A: 50-SCOPE-module.md enthält die harte Ausnahme „KEINE Lohnverrechnung in Odoo" (läuft extern). Variante A erfordert eine explizite, dokumentierte Scope-Änderung; Variante B bleibt innerhalb des bestehenden Constraints.
  2. Kindergartenpersonal (KBBG): in scope? (+2040 PT)
  3. Statutarstadt Rust: Magistratsbeamte unter anderemem Recht — für „Gemeinden" vermutlich out of scope, im Produktfahrplan festhalten.
  4. Meldewesen-Betrieb: eigen (Zertifikate, FinOnl/ELDA-Anmeldung, Jahres-Deadlines) vs. Rückschaltung an Steuerberatung/externes Lohnbüro.
  5. Pilotdatengrundlage: Unterwart-Referenzläufe verfügbar und nutzbar (DSGVO)?

8. Nächste Schritte

  1. Materialsammlung gem. Abschnitt 6 (Gemeinde/KV/Land → Nutzer).
  2. Schätzung auf ±20 % schärfen; Variante A vs. B zur Entscheidung vorlegen.
  3. Bei Variante A: detaillierter Umsetzungsplan (Mitarbeitergruppen-R1-Scope, Structure-/Regelinventar, Datenmodell Kataloge, Meldewesen-Exports, Testkonzept Golden-Master) — zur Freigabe vorlegen, dann erst bauen.
  4. dev-payroll auschecken, sobald der va_module-Workingtree clean ist (derzeit uncommittete Anlage-7-Arbeit).