[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).
This commit is contained in:
@@ -1,5 +1,61 @@
|
||||
# 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: 600–619
|
||||
Löhne, 620–639 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
|
||||
|
||||
Reference in New Issue
Block a user