[IMP] odoo-at-payroll: GP7-Bau, DM-ORG-42.7.0-Verifikationen und Nutzer-Entscheidungen 5.1-5.4 dokumentiert

CHANGELOG-GP7-Eintrag; Plan-Abschnitt-10-Update (ELDA-Fixsatz-Konventionen, KZ-210-§-25-Gesamtbrutto-Fund, mBGM-Abschläge je Basis, Nutzer-Entscheidungen: Arbeitsstätte in GP7, Mitteilungsfile-Import GP8, FB+ nicht im Lohnsteuerkern/ANV + Kind-Modell für FABO+-Wartung); MEMORY-Handoff (94/94, Wegwerf-DB, GP8 als nächster Bauabschnitt, offene Reste: odoo_dev-Update, geringfügig-mBGM-Parametrisierung, CRLF/ELDA-Kanal-Verifikation, Referenzbuchhaltungs-Endfixierung, Schwerarbeit nach ASchV-Datenmodell-Bau).
This commit is contained in:
2026-09-12 17:31:21 +02:00
parent 14940ac31a
commit ea14c48cca
3 changed files with 152 additions and 7 deletions
+57
View File
@@ -1,5 +1,62 @@
# CHANGELOG — odoo-at-payroll
## 2026-09-12 — General-AT GP7: Meldewesen/Belege umgesetzt (M7; Kern-Bau AP5/AP6)
- `addons/l10n_at_hr_payroll` (19.0.4.0.0): **ELDA-Fixsatz-Framework**
`models/elda.py` (DM-ORG 42.7.0: Fixlängen ohne Trennzeichen, a/n
linksbündig-blank / n rechtsbündig-0, Cent ohne Interpunktion,
Prozente ×1000, ISO-8859-15, Dateiheader optional, Vorlauf SART 00/
Schluss SART 99 mit SANR-Kette ab 1 und SANZ inkl. Rahmen;
**CRLF als Satztrenner = Praxis-Annahme** — DM-ORG normiert keines).
**Lohnzettel Finanz L16 + Arbeitsstättenmeldung § 34 Abs 6 ASVG**
`models/lohnzettel_l16.py`: I1 (1.100) + L1 (**3.500**,
Lohnzettelversion 28, BEST LF/VSTR 94) inkl. Kinderblock 15×123
ab Pos. 1501 — PDF-verifizierte Positions-Ketten; **KZ 210 =
Bruttobezüge gem. § 25 gesamt** (KZ 245 = 210215220230243 =
laufende Steuerbemessung, konsistent mit der GP3-§-66-Kette per
Konstruktion; Ableitung aus l10n_at_bemessung/steuerbefreiung_68/
s67_abs, KEIN paralleles KZ-Feld). Arbeitsstätte: SART 45 (300,
BEST AD/VSTR ST) je AN am 31. 12. aus dem Dienstort-Partner
(GKZ manuell, Warnung wenn fehlt).
**Kind-Datenmodell** `models/kind.py` (Nutzer-Entscheidung: FB+
rechnet NICHT im Lohnsteuerkern — Steuer < 0 → Arbeitnehmer-
veranlagung; Modell dient der FABO+-Wartung: Monate voll/halb,
Alterstaffel, L16-Kinderblock). **Stammdaten** `models/meldewesen.py`:
BKNR + Lohnsteuernummer (Company), GKZ (res.partner), VSNR-Format-
prüfung LLLPTTMMJJ auf hr.version.ssnid (Prüfziffer = Rest, SVS-
Quelle), eSV-AGRD-Mapping auf hr.departure.reason. **Belege**
(AP6): Lohnzettel AT (ir.actions.report auf hr.payslip) +
Monatsdienstliste + Monatsjournal (QWeb auf hr.payslip.run,
AbstractModel `models/monatsreports.py`; kein HR-Modul nutzt
account.report).
- `addons/l10n_at_hr_payroll_private` (19.0.7.0.0): **mBGM/JASV**
(BEST MB, Version 02; `models/mbgm.py`): Paket PS/mBGM G1/Tarif-
block T1/Verrechnungsbasis BS/Position V1 aus GP4-Beitragsmonats-
Daten; T01/T02-GESAMT-Prozentsatz je BSGR aus `at_mbgm_tarif`
(normativ laufend **39,05 %**, SZ **37,55 %** = DN KV 3,87 + PV
10,25 + AV 2,95 + DG 20,48); **Abschläge je Verrechnungsbasis**
(A03/A02/A01 §-2a-AMPFG DN-AV auf AB UND SZ, A09 UV-60, A10
AV+IE-Entfall, A15 PV-Halbierung; Konkurrenz a4: A10 sperrt
Staffelabschlag); BV-Basis (ungedeckelt, GP5) + V01; RSUM =
Basis×Satz mit Konsistenz-Check gegen GP4-Payslip-Summen (±0,10 €);
Storno R1 (REFU/VSUM wie Original), Fehlanzeige als Null-Paket;
Geringfügige/fallweise ohne Parametrisierung → listenweiser
Abbruch (keine Tarif-Erfindung). **Versichertenmeldung**
`models/versichertenmeldung.py` (BEST VR, Version 03): M3 vor
Arbeitsantritt / M4 (7 Tage) mit deklarativer Event-Erkennung über
die Meldungs-Registry (idempotente Läufe, kein write-diff), BBER
0104, GERF (Gehalt vs. GFG), FRDV, BVAB/BVJN aus GP5, VWAZ
Stunden×100, AGRD aus dem Abgangsgrund-Mapping; **fallweise
Anmeldung** (BEST MA, SART 32, Version 07; MVP je Anmeldetag).
NSchAB-Branche als Company-Flag (B001-T01 + 3,80).
- **Bewusst nicht in GP7:** Schwerarbeitsmeldung (DM-ORG E.22-
Struktur vorhanden, aber keine ASchV-Datenbasis), § 109a (separate
Honorar-Datenbasis), L17 (keine AG-Pflicht), Mitteilungsfile-Import
(Nutzer-Entscheidung 5.2 → GP8), FB+-Lohnsteuermechanik (ANV).
- Tests: `test_elda_l16` (4) + `test_meldewesen_private` (2) —
**94/94 grün** (frischer `-i`-Lauf, Wegwerf-DB). Rechenfälle
`docs/rechenfaelle/meldewesen.md`.
## 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