1df5fb19c4
Document generation module: templates with own text (structure reference and source stand documented per template, no licensed full text in the repo), fill fields resolved from hr data (company, employee, hr.version stand) plus wizard input, preview rendering and PDF/HTML attachment via the generic report layout. - templates: pilot set for the general-AT track formulated as own text after the KB muster structure (lb-bes-09, lb-bnd-55, lb-bnd-52/62, lb-end-35), legal status per template marked as draft - rendering via convert_inline_template_to_qweb + ir.qweb (t-out auto-escapes values) — deliberately not mail.render.mixin inline engine, whose expression whitelist blocks werte[...] placeholders for non-template-editors - wizard resolves hr.version by date_version at the reference date; PDF falls back to HTML attachment without wkhtmltopdf - security: ir.model.access (hr user read / manager write) + company rule; 8 tests, suite 236/236 green on a fresh -i database run
60 lines
3.3 KiB
Markdown
60 lines
3.3 KiB
Markdown
# 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`](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_payroll_dokumente` | **Dokumente aus Vorlagen**: Dokumentgenerierung (Dienstvertrag, Kündigung, Bescheinigungen …) aus hr-Stammdaten; eigene Texte, Struktur-Referenz (kb_ref) dokumentiert; Wizard mit Auto-/Manuellfeldern, Vorschau, PDF/HTML-Ablage |
|
|
| `l10n_at_hr_payroll_private` | **General-AT** (KV-basierte Privatwirtschaft) — Gerüst; Implementierungsplan freigegeben ([`IMPLEMENTIERUNGSPLAN-Privat.md`](personalverrechnung/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`):
|
|
|
|
```sh
|
|
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). |