Files
odoo-at-payroll/docs/CHANGELOG.md
T
fegger 529ac30cdb [IMP] odoo-at-payroll: GP6-Bau, KFS/BW-6-Abgleich und Odoo-19-Mechanik-Funde dokumentiert
CHANGELOG-GP6-Eintrag; Plan-Abschnitt-10-Update (Buchungsmatrix nach KFS/BW 6, Nutzer-Klaerungen 5.1-5.3 inkl. aufgeklaerter Vertauschung Loehne/Gehaelter, Option-A-minimal-Split, NET-Umbenennung mit Default-Regel-Kopie-Fund); MEMORY-Handoff (88/88 auf Wegwerf-DB, GP7 als naechster Bauabschnitt, offene Referenzbuchhaltungs-Reste, Odoo-19-Mechanik-Funde: function-Record-ID-Semantik, Journal-Default-Constraint, Scaffold-Konto-Falle).
2026-09-12 12:59:00 +02:00

322 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CHANGELOG — odoo-at-payroll
## 2026-09-12 — General-AT GP6: FI-Buchung UGB nach KFS/BW 6 umgesetzt (M6)
- `addons/l10n_at_hr_payroll_private` (19.0.6.0.0): **GP6 FI-Buchung
UGB** auf dem Österreichischen Einheitskontenrahmen (KFS/BW 6,
Nutzer-Referenz-Exemplar `.additional_docs/KFSBW6_13072017_RF.pdf`):
- `models/account_chart_private.py`: Buchungsmatrix + Hook
`_configure_payroll_account_at` (BE-Muster `l10n_be_hr_payroll_
account`): Chart-Load (`_post_load_data`) **und** `<function>`-
Datendatei für Bestands-Companies (erster `<value>` = Record-IDs,
convert.py-Semantik), idempotent. Konto-Suche **exakt zuerst**,
Präfix-Fallback nur bis eine Stelle länger — blockiert Odoo-
Scaffold-Konten chartloser Firmen (6000 darf nicht 600000
„Expenses" matchen). NET-Konto **3850 „Verbindlichkeiten aus
Lohn und Gehalt"** (Nutzer-Entscheidung 5.1) wird angelegt und
auf reconcile gesetzt (l10n_at-Standardchart hat es nicht);
Journal **SLR** mit Default = Gehälterkonto 6200 (BE-Muster; Odoo-
Constraint verbietet Receivable/Payable als Journal-Default).
- **EKR-Debit-Split Arbeiter/Angestellte** (Nutzer-Klärung: 600619
Löhne, 620639 Gehälter — die Angabe „6000 Gehälter/6200 Löhne"
war gegenüber der eigenen KFS/BW-6-Referenz vertauscht):
`l10n_at_personalgruppe` am Vertrag +
`l10n_at_account_debit_arbeiter` je Regel; **Option A minimal**
(Nutzer-Entscheidung 5.2): Overrides nur Grundentgelt 6000,
Sozialaufwand 6500, Abgaben 6600/6601/6602 — Zuschläge (6225),
ÜStd (6310), Prämien (6230), SZ (6240), BV (6440, EKR 644 ohne
Split) buchen für Arbeiter bis zur Referenzbuchhaltungs-
Fixierung auf die Angestellten-Konten (fehlende Konten → Warnung,
keine Erfindung). `models/account_posting_private.py`:
Gesamtüberschreibung von `_prepare_slip_lines` (Odoo bietet
keinen Override-Punkt; Upstream-Kopie Odoo-Pin 19.0+e.20260910
mit einzeiliger Kontosubstitution, testgepinnt).
- **NET-Umbenennung** (NETTO → NET, Odoo-Konvention):
Zahlungsregistrierung (`action_register_payment`), net_wage und
Negativ-Netto-Erkennung filtern `code == 'NET'`. **Odoo-19-Fund:**
das Anlegen einer Structure kopiert die Regeln des
`hr_payroll.default_structure` (BASIC/GROSS/NET/…) via Feld-Default
in `rule_ids` — die kopierte Default-NET-Regel kollidiert im
`result_rules`-Dict (Netto fiel auf 0). Fix: `<function>` in
`salary_rules_private.xml` archiviert die Kopie (`active=False`;
One2many blendet Archivierte aus; KEIN Unlink — historische
Lohnkontolinien behalten die Regel-Referenz; `struct_id` ist
NOT NULL).
- Matrix: KVGEO/URL_UE 6200/6000 · Zuschläge 6225 · ÜStd 6310 ·
Prämien 6230 · B13/B14 6240 · DN-SV/LSt auf 3600/3540 · NET 3850 ·
SVDG-Block 6560/6500 auf 3600 · **BVG 6440 (EKR 644) mit Fallback
6400** auf Credit **3600** (Abfuhr via KV-Träger; 5.3) · FLAFDB
6661/6601 auf 3541 · KOMMST 6660/6600 auf 3550 · DZ 6662/6602
auf 3542. depends: + `l10n_at`, `hr_payroll_account_iso20022`
(SEPA-Auszahlung, Plan 4.5).
- Tests: `test_account_private` (4: RF-BUCH-1..4 — Kontenplan-Mock
ohne Chart-Install; Move-Balance, Kontenzeilen, Arbeiter-Split,
Fallback/Warnung; NET-Rundungscents als Odoo-„Adjustment Entry"
auf Journal-Default mit delta=0.02 toleriert). NETTO→NET in 4
Bestands-Suiten nachgezogen. **88/88 grün** (frischer `-i`-Lauf,
Wegwerf-DB). Rechenfälle `docs/rechenfaelle/buchhaltung.md`.
## 2026-09-11 — General-AT GP5: Abfertigung Neu (BMSVG) umgesetzt (M6, Teil 1)
- `addons/l10n_at_hr_payroll` (19.0.3.1.0): Kern-Parameter
`at_sv_bv_dg` = 1,53 % (§ 6 Abs 1 BMSVG, ab 2003-01-01) in
`rule_parameters_sv_2026.xml`.
- `addons/l10n_at_hr_payroll_private` (19.0.5.0.0): **GP5 Abfertigung
Neu** — Regel `BVG` (ATP_DG, ohne Nettoeffekt) auf **EIGENER,
ungecappter BV-Grundlage** (§ 6 Abs 5 iVm § 49 ASVG: kein HBG-/
Jahresdeckel; ohne §-67-Abs-3/6-Zeilen — § 49 Abs 3 Z 7 ASVG;
Nutzer-Entscheidung: kein Rückgriff auf die SV-SZ-Basis des Kerns,
deren Z-7-Ausschluss fehlt → GP4-Beobachtung bleibt offen
dokumentiert); `models/abfertigung_private.py`:
- **Beitragsfreier erster Monat taggenau** (§ 6 Abs 1): Fenster
[Eintritt, Eintritt + 1 Monat), Pflicht ab Monatsjubiläum
(15. 06. → 15. 07. — KB-Beispiel 4.500/30 × 17 = 2.550,
30-Tage-Aliquotierung via Lohnsteuertage); **Monatsende-Klippe**
(Eintritt 31. 01.) → frei bis Monatsultimo, Pflicht ab
Folgemonatserstem (ABGB-Fristrechnung); **AV ≤ 1 Monat zur
Gänze beitragsfrei**;
- **Wiederzulassung binnen 12 Monaten → Beitragspflicht ab dem
1. Tag** (OGH 9 ObA 30/16a) — Vor-AV **beliebiger Dauer** (auch
< 1 Monat) und schlägt auch die Kurz-AV-Freiheit
(Nutzer-Klarstellung 2026-09-11); Suche über frühere
`hr.version`-Verträge;
- **SZ ohne Fenster-Kürzung**, frei nur bei Beitragsmonat im
Fenster (**taggenau**: Fälligkeit 20. 07. bei Fensterende 15. 07.
pflichtig); läuft **auch für geringfügig Beschäftigte und
Lehrlinge** (§ 46, § 1 Abs 2 Z 1);
- Vertragsfelder `l10n_at_abfertigung_neu` (§ 46-Flag) +
`l10n_at_bv_kasse_id` (neues Modell `l10n.at.bv.kasse` mit
Leitzahl für eSV/mBGM; Seed der 7 Kassen-Namen, lb-gsv-11,
noupdate); Mitarbeiter-Felder `l10n_at_bv_ertraege`/
`l10n_at_bv_monate_extern` (Kassen-Auszug);
- **Anwartschaft** (§ 15: gutgebrachte Beiträge + Erträge, KEINE
Monatsentgelt-Staffel) on-the-fly aus validierten Läufen
(`_at_bv_anwartschaft`); **Anwartschaftsreport** (QWeb auf
`hr.employee`, AbstractModel `bv_report.py`) + **Endabrechnungs-
Wizard** `l10n.at.bv.endabrechnung.wizard` (§§ 14-17: §-14-Abs-2-
Verfügungsmatrix, 36-Beitragsmonate-IMMER-Sperre mit Vor-Monaten,
§-16-Fälligkeit Ende des zweitfolgenden Monats, 6-Monats-
Erklärungsfrist, 5 §-17-Optionen) — Auszahlung durch die MV-Kasse,
kein Payslip-Bestandteil.
- **Bewusst nicht in GP5:** §-7-BMSVG-Fiktivfälle (Präsenz-/Kranken-/
Wochengeld — setzt fehlende Entgeltersatzleistungs-Modellierung
voraus; dokumentierte Option), Geringfügigen-Jahreszahlung +
2,5 % (Zahlungsmodus GP7), BV-Provider (Option).
- Tests: `test_bv_private` (10) neu; **84/84 grün** auf Wegwerf-DB
`gp5_test` (frischer `-i`-Lauf; Aufruf s. README). Rechenfälle
`docs/rechenfaelle/abfertigung.md`.
## 2026-09-11 — General-AT GP4: SV/DB komplett im Kern umgesetzt (M5)
- `addons/l10n_at_hr_payroll` (19.0.3.0.0): `models/sozialversicherung.py`
— DG-Beiträge (ÖGK 2026: DG 20,98 %, Wien 21,23 %), §-54-SZ-Beiträge
DG 20,48 % (KV/PV/AV/UV/IESG), Geringfügigkeit § 5 Abs 2 iVm
**§ 810 Abs 3 ASVG** (GFG 2026 = 551,10 €, Aufwertung ausgesetzt —
A7-Rest gelöst) mit Hochrechnung bei untermonatiger Beschäftigung,
§-53a-Abs-1-UV 6,50 €/Monat, beitragsfreie Bezüge § 49 Abs 3 mit
Jahres-Kumulativen je DN (8 €/AT, 1.000/365/186/300/2.000 €/J,
Homeoffice 3 €/Tag × 100), altersabhängige Satzausschaltungen als
Stichtags-Datumfelder am Vertrag (AlVG § 1 Abs 2 lit e — AV DN+DG
+IESG; § 51 Abs 6 — UV ab 60/Lehrlinge; § 51 Abs 7 — PV hälftig
DG+DN; § 41 Abs 4 lit f FLAG), **ALV-DN-Staffel § 2a AMPFG
(DN-seitig; 0/1/2 % bis 2.225/2.427/2.630 €; auch für SZ; ab 2027
aufgehoben)**, WF-Satzvektor Bundesland × Jahr (Wien 0,75/0,75 ab
1. 1. 2026), Beitragsmonats-Allokation (Anspruchsprinzip, historische
Sätze/HBG je Beitragsmonatsgruppe, 2025-HBG 6.450 €), DAG-Bewertung
§ 1 DAG (19,4 %, Schwelle 1,5 × GFG = 826,65 €, ≥ 2 Geringfügige,
Lohnsumme ohne SZ). Parameter: `rule_parameters_sv_2026.xml` +
AV-Staffel-Umbau (2025/2026/2027-Zeilen) in `rule_parameters_2026.xml`.
- `addons/l10n_at_hr_payroll_private` (19.0.4.0.0):
`salary_rules_sv_private.xml`**SVDN_SZ-Nachtrag** (§ 67 Abs 12
als eigene Abzugszeile; GP3-Lücke: Netto in §-67-Monaten um den
SV-DN(SZ) zu hoch), DG-Block SVDG_*/SVDG_SZ_*/SVDG_UV_GFG (ATP_DG,
ohne Nettoeffekt), FLAFDB (§ 41 FLAG 3,7 %), KOMMST (§ 9 KommStG
3 %), DZ (§§ 122/126 WKG, WKO-flag-gated, Satzvektor je BL ⚠ WKO
8.11) mit gemeinsamer LNK-Basis (Zufluss, ohne §-67-Abs-3/6, lit f
nur FLAF/DZ, Freibetragsstaffel 1.095/1.460 €).
- **Rechtskorrektur § 2a AMPFG:** DN-SV auf laufenden Bezügen und SZ
bei BG ≤ 2.225 € sinkt von pauschal 18,07 % auf 15,12 % (ALV-DN
0 %) — GP3-Rechenfälle RF-L1/L3/L5 und die betroffenen Tests
nachgezogen (Engine war zuvor ohne Staffel); §-19a-Selbstversicherung
2026 = **83,49 €/Monat** (statt ≈ 77,80 € — TASY KVPVBTG19A), Zahlung
direkt an den Träger (kein Lohnabzug).
- Tests: Kern `test_sozialversicherung` (14) + privat `test_sv_private`
(8) neu; GP3-Suiten §-2a-korrigiert — **74/74 grün** auf `odoo_dev`
(Aufruf s. README). Rechenfälle `docs/rechenfaelle/sozialversicherung.md`;
RQ-Privat Abschnitt 4 und KB-KONFLIKTE A7 aufgelöst (§ 810 Abs 3 /
§ 1 DAG / 83,49/826,65); Plan § 10 GP4-Update.
## 2026-09-10 — General-AT: Beschaffungsliste abgearbeitet (Primärquellen lokal)
- **19 RIS-Gesetzestexte** (konsolidiert, Fassung vom 10. 09. 2026;
UrlG 09. 09. 2026) via firecrawl nach `.firecrawl/ris/` beschafft:
AZG, AngG, ArbVG, ASVG, EStG 1988, AVRAG, BAO, AÜG, UrlG, BMSVG,
IESG, Lohnkontenverordnung 2006, MSchG, MSchV, VKG, KBGG, APSG,
FamZeitbG, KommStG. Gesetzesnummern per RIS-Titelsuche ermittelt
(Kurztitel-Fallen: AVRAG „-Anpassungsgesetz", BMSVG „Mitarbeiter-
und Selbständigenvorsorgegesetz", IESG „-Entgeltsicherungsgesetz",
APSG „Arbeitsplatz-Sicherungsgesetz"). Verzeichnis:
`.firecrawl/ris/_README.md`.
- **LStR 2002** als findok-Gesamtdokument XML (Stand 04. 09. 2026,
alle Rz; GP3-kritische 766b/911a/1050/1052/1103/1106/1116a/
11411163 verifiziert) — `.firecrawl/ris/findok/`.
- **ELDA/eSV-Meldewesen** (Stand 07/2026): **DM-ORG 42.7.0**
„Datenaustausch mit Dienstgebern" (Datensatzbeschreibung SV-
Meldungen mBGM/An-Ab-Änderung/JASV **und** Lohnzettel-Finanz) +
Änderungsprotokoll + **Prüfkataloge** L16 (ab 1. 1. 2026, Stand
12/2025)/L17/§ 109a/§ 109b + Mitteilungsfiles-XSDs —
`.firecrawl/ris/elda/`. **SV-Werte 2026** (beitrags- + leistungs-
rechtlich) von sozialversicherung.at — HBGL 6.930 €/GFG 551,10 €
gegen Kern-Parametersatz verifiziert (inkl. GFG-Aufwertungs-
aussetzung 2026 gem. § 810 Abs 3 ASVG).
- **„Krankengeldumlage § 62 ASVG" als Falsch-Prämisse aufgelöst**:
RIS-Gesamtabfrage „Krankengeldumlage" = 0 Treffer; § 62 ASVG =
„Mitteilung über Beitragsrückstände, Beitragsabrechnung"
(konsolidierter Text). Kein GP4-Baustein, kein Kern-Parameter.
Korrigiert in `RECHTSQUELLEN-Privat.md` (Abschn. 4/11/13) und
`IMPLEMENTIERUNGSPLAN-Privat.md` (2.1/4.6/4.7/8.10); Herkunft
vermutlich deutsches U1-Umlageverfahren (EFZG). **Hinweis:**
`RECHTSQUELLEN-Bgld.md` Abschn. 9 und `PLAN-payroll-bgld.md`
führen denselben Prüfpunkt — gegen denselben Befund zu
verifizieren (dort: öffentliche DG).
- `RECHTSQUELLEN-Privat.md` Abschnitt 11 auf Beschaffungsstände
umgestellt ([x] = lokal beschafft, §-Verifikation bleibt GP-Aufgabe);
offen bleiben Pilotmandant, D3, UGB-Buchungsmatrix, Referenz-KV-
Kuratierung (GP1), Bgld-AP0-Abstimmung + ELDA-/FinOnl-Anmeldungen
(Nutzerseite). `RUNBOOK.md`: neue Sektion „Primärquellen-Downloads"
(RIS-Titelsuche-Konventionen, Kurztitel-Fallen, Verifikations-
befund-Disziplin).
## 2026-09-10 — General-AT: KB-Rechtsquellen-Abgleich in RECHTSQUELLEN dokumentiert
- Systematischer Abgleich aller in der Wissensbasis referenzierten
Rechtsquellen (571 Einträge, 2.767 `legal_bases`-Zitate, ~130
Normwerke) gegen `personalverrechnung/RECHTSQUELLEN-Privat.md`:
15 Gesetze auf Gesetzesebene enthalten (mit §-Ebenen-Lücken), ~85
bewusst außerhalb des R1-Scopes, 12 echte Lücken identifiziert
(weder RQ noch Beschaffungsliste noch Plan erfasst).
- `RECHTSQUELLEN-Privat.md`: neuer **Abschnitt 13** (Abgleichs-
methodik + Matrix „enthalten mit §-Lücken", Zuordnung bekannt
offen/Plan-erfasst/echte Lücken, Outside-Scope-Abgrenzung mit
Compliance-Randnotizen) + Beschaffungslisten-Erweiterung in
Abschnitt 11: AVRAG § 2g/§ 11a Abs 4; ASVG-Beitrags-/Melde-Rechts-
block (§§ 11/33/34/41/471a/49 Abs 2/3/44 Abs 7/51/53b/60/143);
EStG §§ 3/63/67a/69/109a/124b Z 478 lit f; KommStG § 10 +
BAO §§ 4/29/30 (Betriebsstätte); AÜG (Überlasser-Betriebsstätte);
UrlG §§ 7/10a; BMSVG §§ 7/912/27a/47; IESG § 12; Lohnkonten-
verordnung 2006; Mutterschutz-/Karenz-Block (MSchG/MSchV, VKG,
KBGG, APSG, FamZeitbG) als Scope-Entscheidung.
- `IMPLEMENTIERUNGSPLAN-Privat.md`: 4.2 um AVRAG-§-2g-Feinmechanik
(All-in/ÜStd-Pauschale: Grundlohn-Ausweis, Deckungsrechnung,
§ 7-UrlG-Ablöseverbot) erweitert; 8.13 um den Mutterschutz-/
Karenz-Block (Wochengeld = DG-Payroll-Berechnung) ergänzt;
Abschnitt 10 dokumentiert den Nachtrag. Keine Änderung an D1D4,
Scope R1, Meilensteinen, Budget.
## 2026-09-10 — General-AT: Implementierungsplan um Wissensbasis-Anbindung aktualisiert
- `personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md`: neuer Abschnitt
**2.1 Wissensbasis-Anbindung** — Verbindlichkeits-Regime
(RECHTSQUELLEN-Privat bleibt verbindlich, KB = kuratierte
Sekundärquelle mit ID + Stand) und Cluster-Anker je GP
(571 Einträge/67 Cluster, Batches 19).
- 4.24.7, 5, 6: kuratierte KB-Belege nachgetragen — GP2-Feinmechanik
(Mehrarbeit § 19d AZG vs. ÜStd, zwei Nachtfenster 225/197,
Feiertagsarbeitsentgelt ab 2026 wieder § 68-begünstigt, SZ-Basis je
KV-Begriff), GP3 (Sechstelformel, Nachzahlungsmodi, Aufrollung
§ 77 Abs 3/4/4a), GP4 (beitragsfreie Bezugsbestandteile § 49 Abs 3
als Jahreskumulative, AK-Umlage/WF als DN-Lohnabzüge,
altersabhängige Satzausschaltungen, AV-Staffel 2026), GP5
(freier BV-Monat taggenau, § 7-BMSVG-Fiktionen), GP7 (L16-KZ-
Struktur, mBGM-Fristen, Schwerarbeitsmeldung, § 109a), GP8
(Jahres-Retro-/Aufrollungslauf, Fristenkalender).
- Neue Offenpunkte: **8.11** Zuschlag zum DG-Beitrag DZ (§§ 122/126
WKG, 0,12 % Bundes- + 0,310,40 % Landeskammeranteil 2026) —
Inventarlücke, Grundsatzentscheidung vor GP4; **8.12** KB-Konflikt-
familien (AK-Umlage-Tragung, WBF-Wien 1,5 %, §-124b-Zitierung,
Beispiel-DN-SV 18,07 % vs. 17,57 %, NSchAB/DAG-Belege) — RIS-Klärung
vor GP3/GP4; **8.13** KB-Scope-Kandidaten (Lohnpfändung, Kranken-
stand-EFZ/Krankenentgelt, Urlaubsersatzleistung, NSchAB, fallweise
Beschäftigung, Sachbezüge, Prämien/Provisionen, Reisekosten/
Pendler) — Entscheidung über Pilotmandant/GP0, keine stillschweigende
Scope-Erweiterung. Keine Änderung an D1D4, Scope R1, Meilensteinen,
Budget.
## 2026-09-09 — General-AT GP1: KV-Framework umgesetzt (M2)
- `addons/l10n_at_hr_payroll_private` (19.0.1.0.0) von Gerüst auf
GP1-Stand: `l10n.at.payroll.kv` (Trace-Link zur KV-Library),
`kv.wert` (versionierte Eckwerte, Muster `hr.rule.parameter.value`),
`kv.gruppe`/`.stufe` (Erfahrungsstufen-Jahrestabellen), Vertragsfelder
auf `hr.version`/`hr.employee` (`kv_id`, `kv_gruppe_id`,
`erfahrungsstufe`, `ueberzahlung`), Import-Wizard (Tabellenpaste,
Sprungwarnung > 10 %, neue `gueltig_ab`-Versionen) samt
Views/Menus/Security.
- Seed D2 (SI-2203 Handwerk und Gewerbe + SI-2748 Metallgewerbe):
Gehaltstabellen ab 1. 1. 2026 aus den KV-Library-Volltexten kuratiert
(18 Gruppen, 131 Stufenwerte, 27 Eckwerte; inkl. Sonder-
Vorrückungsverläufe IV-M/V-OM und aufgelassener VG I).
- Test-Suite `test_kv_katalog` (8 Fälle); statisch validiert (py_compile,
XML-Well-formedness, CSV-Konsistenz, Wizard-Logiksimulation) —
Runtime-Abnahme auf dem Dev-Host ausständig (PostgreSQL).
## 2026-09-09 — General-AT GP0: Rechtsquellen verifiziert (M1)
- `personalverrechnung/RECHTSQUELLEN-Privat.md` angelegt (GP0-Aufgabe 1):
verbindliches Rechtsinventar für `l10n_at_hr_payroll_private`.
- An Primärquellen (RIS, jusline-RIS-Spiegel) verifiziert: FLAF-DB
§ 41 FLAG **3,7 % 2026** (2,7 % ab 2028; GesNr 10008220); KommStG
**3 %** (GesNr 10004841); BMSVG 1,53 % auf Entgelt + SZ ohne
HBG-Cap, § 15 Anwartschaft (keine Monatsentgelt-Staffel), § 14 Abs 2
Verfügungsausschluss; UrlG 30/36 Werktage, § 6-Urlaubsentgelt;
EStG 1988 § 67 sonstige Bezüge (0/6/27/35,75 % im Jahressechstel,
Freigrenze 2.615 €, Kontrollsechstel § 77 Abs 4a) und § 68 Zulagen/
Zuschläge (2026-ÜStd-Maßnahme 15 Überstunden/170 €).
- Plan-Korrekturen `IMPLEMENTIERUNGSPLAN-Privat.md`: Urlaubsentgelt
**§ 6 UrlG** statt § 9 (seit 2001 aufgehoben); 13./14.-Begünstigung
über **§ 67 EStG** statt „§ 68 Abs 5/6" (klärt auch die Rechtsbasis
des Bgld-Offenpunkts P9); EOSB-Anwartschaftsmodell bestätigt;
payroll-Skill-Zitat korrigiert.
- Offen in GP0: Pilotmandant, Referenz-KV-Kuratierung (D2-KVs),
ELDA-/FinOnl-Spezifikationen, AZG/AngG/ArbVG-Volltexte, LStR 2002,
UGB-Buchungsmatrix.
## 2026-09-09 — General-AT-Implementierungsplan freigegeben (M0)
- `personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md` für
`l10n_at_hr_payroll_private` (General-AT, KV-basierte Privatwirtschaft)
erstellt und freigegeben: GP0GP10; nächster Schritt **M1 (GP0)**
(`RECHTSQUELLEN-Privat.md` anlegen, RIS-/findok-Verifikationen,
Odoo-API-Neuverifikation, Pilotmandant-Definition, UGB-Buchungsmatrix).
- Freigabe-Entscheidungen: **D1** Plan unter obigem Pfad geführt; **D2**
Referenz-KVs R1 = SI-2203 Handwerk und Gewerbe + SI-2748 Metallgewerbe
(RUNBOOK-Rechenfallset; Feinjustierung je Pilotmandant in GP0); **D3**
**Kern-Vorfinanzierung durch General-AT** — AP3 (Lohnsteuer) und AP4
(SV/DB-Regeln) werden im Kern `l10n_at_hr_payroll` auf General-AT-Kosten
gebaut (Spiegelung der Bgld-Entscheidung „AP3 im Kern"; die GemBG-Structure
erbt sie). Meldewesen/Belege (AP5/AP6) analog, falls der Bgld.-Auftrag bis
M7 nicht erteilt ist; bei Auftragserteilung Anrechnung/Umlegung per
Change-Request. **D4** Odoo-19-Source steht kurzfristig als
Geschwister-Checkout bereit (API-Neuverifikation erste Aufgabe in M1).
- Budgettransparenz: General-AT-spezifischer Anteil ≈ 120172 PT (Rahmen
`personalverrechnung/PLAN-repo-split.md`: ~125175 PT), inkl.
D3-Vorfinanzierung ≈ 180258 PT.
- Housekeeping: README-Modultabelle und Gerüst-README
`l10n_at_hr_payroll_private` auf Planstand aktualisiert;
`.agents/MEMORY.md` fortgeschrieben.
## 2026-09-09 — Repo-Split aus gem360 (Migration)
- History-Import der Payroll-Commits aus `gem360-git` (Branch
`dev-payroll`, pfad-gefiltert via `git filter-repo`; siehe
`personalverrechnung/PLAN-repo-split.md`). Branch heißt hier `main`.
- `l10n_at_hr_payroll` (19.0.1.0.0) ausgegründet: SV-Werte 2026 als
`hr.rule.parameter`-Seed, TASY-Mapping + Import-Wizard; Modelle
umbenannt `gemeinde.payroll.tasy.*``l10n.at.payroll.tasy.*`.
- `l10n_at_gemeinde_payroll` → 19.0.1.4.0: hängt nun an
`l10n_at_hr_payroll` statt `l10n_at_vrv2015` (VRV-Verbleib: Brücke
`l10n_at_gemeinde_payroll_vrv` im gem360-Repo, AP7); Beschreibung auf
AP1+AP2-Stand korrigiert.
- Bootstrap: `AGENTS.md`, Skills (payroll, odoo19-development,
agent-memory), README, CHANGELOG; `l10n_at_hr_payroll_private` als
Gerüst (README only).