e6598d01cfb638283763d422fb64d11abecc6144
24 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e6598d01cf |
[ADD] personalverrechnung: WIKU knowledge base (Batch 1)
First WIKU Personal intake (30 licensed publications, source Stands 2023-07 to 2026-09), integrated into the shared curated corpus per the integration model of 2026-09-10: one corpus, the work field distinguishes the sources, WIKU entries use the wk-<prefix>-<nn> id space on the existing cluster map, Layer-2 filenames carry the wiku_ prefix. The corpus grows to 601 curated entries in 69 clusters. - 30 publications: 13 Fachbroschueren, 3 Arbeitsunterlagen, 2 Casebooks (geloesste LV-Praxisfaelle) and the twelve 2026 issues of the periodical 'WIKU Personal aktuell' (new cluster akt with wk-akt-01..12); second new cluster gwe for the trade-specific brochures (Gueterbefoerderungsgewerbe, Gastgewerbe); the remaining 16 publications sit on existing clusters (wk-pfa-01 next to lb-pfa-*: vor, kar, bnd, lvr x2, dvh, bes, rei, gsf, grz, ins, lsd, pfa, azg, sac, son) - tooling: multi-source extension of build_lexis_kb.py (--source lexis|wiku|all for --extract and --check, --registry over both sources); WIKU metadata comes from an explicit WIKU_PINS table (slug, cluster, stand, work, chapter, title) instead of Lexis breadcrumbs - a PDF without a pin is a hard warning and is never extracted; WIKU page-counter footer lines dropped (WIKU_PAGE_RE); fix in curated_slugs_for(): the .md suffix is now stripped when the wiku_ prefix is removed, so the wiku --check completeness gate passes - curation: the twelve periodical issues were curated in six parallel agent groups, each grounded only in its Layer-1 text with a self-check on frontmatter/structure/cross-refs; the 19 brochure entries from the prior session were re-validated centrally; 30/30 green - registry and check green: lexis 571/571 and wiku 30/30 curated, 0 problems; kb.json and INDEX.md regenerated (601 entries, 69 clusters, sources and per-source batch counters recorded) - wissensbasis README: two-source corpus documentation (layers, frontmatter schema incl. WIKU works and id spaces, cluster table with akt/gwe, per-source update cycle) - flagged for RIS (documented in the entries): wk-akt-01 par. 124b 'z 440/492' (pre-BGBl stand of 2026-01) and the wk-akt-07 Mitarbeiterpraemie citation contradiction 'z 478 vs z 477' (z 478 lit f binding); the Feiertagsarbeitsentgelt/UEStd repair is resolved via BGBl I 43/2026 in wk-akt-04 and matches the binding legal position; new conflict family wk-akt-11 (SV employee shares on par. 68 benefits caught by the par. 20 Abs 2 Z 1 EStG deduction ban, 'Formel 7' at risk); wk-akt-10 free-contractor DN rate 17.57% vs arithmetic 17.07% without WF; wk-akt-07 Wien WF 1.5% (lb-lnk-05 family); ALV-Entfall draft vs final act (wk-akt-03 vs 04); 2027 SV values provisional (wk-akt-05/06) |
||
|
|
ee7e16ecee |
[IMP] odoo-at-payroll: record GP0 source work and GP1 runtime setup in docs
Documentation-only updates from the General-AT track (2026-09-10/11) that had been left uncommitted; no code changes. - RECHTSQUELLEN-Privat: new section 13 (cross-check of all 571 KB legal_bases citation strings, ~130 statutes, against the binding RQ inventory; outside-scope delimitation) and procurement-list extensions in section 11 (AVRAG, ASVG contribution/notification block, EStG, KommStG/BAO, AUEG, UrlG, BMSVG, IESG, LohnkontenVO, Mutterschutz-/Karenz block as scope decision) - IMPLEMENTIERUNGSPLAN-Privat: new section 2.1 (knowledge-base binding regime, KB as curated secondary source with ID and Stand), GP2-GP8 fine mechanics backed by KB entries, new open points 8.11 DZ surcharge decision, 8.12 KB conflict families for RIS clarification and 8.13 scope candidates; source reference updated to the odoo_19.0+e.20260910 tree - CHANGELOG: 2026-09-10 entries for the primary-source procurement (19 RIS statutes via RIS title search incl. short-title traps, LStR 2002 findok XML, DM-ORG 42.7.0 with L16/L17 checklists, SV values 2026), the KB legal-basis cross-check and the plan knowledge-base integration; the 'Krankengeldumlage par. 62 ASVG' false premise is resolved and corrected in RQ and plan - README and module README: dev-host runtime documentation (PostgreSQL 18.6, Python 3.14 venv with editable install of the merged tree, odoo_dev database, test invocation via .venv/bin/python -m odoo; GP1 test_kv_katalog green, 8 tests 0 errors) - .gitignore: odoo_19.0+e.20260910/ and .venv/ replace the removed odoo/ and odoo_enterprise/ checkouts; ignore local tooling (.zed-hours/, /tools/ anchored to the repo root so personalverrechnung/tools stays fully tracked) |
||
|
|
665ed6c1fe |
[IMP] personalverrechnung: wissensbasis README cluster table through batch 9
Bring the README cluster registry table up to the current corpus state (571 entries in 67 clusters, batches 1-9): append the 27 clusters of batches 7-9 in batch order, update the rows of clusters extended by later batches (praemien 7, sonderzahlungen 5, schwangerschaft 7, arbeitnehmerschutz 16), replace the stale counts paragraph (277/40, five chapters) with the full batch breakdown and all seventeen briefings chapters, and align two sentences with the binding skill rules: new clusters extend all four tool structures including CHAPTER_TOPIC_MAP for chapter-qualified topic collisions, and values may only be sourced from the source text or newer KB entries. Table rows were generated from the tool's CLUSTERS/TOPIC_TO_PREFIX registries and the Layer-1 catalog, so names, ID ranges (including the by-design gaps brt/end/bso) and counts are exact. |
||
|
|
1be7a3e107 |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 9)
Ninth Lexis 360 intake (63 briefings, source Stands 2025-01 to 2026-08), extending the corpus to 571 curated entries in 67 clusters. This batch opens the 'Sozialversicherung' chapter (seventeen chapters in total now) and extends the corpus from employment/payroll topics into the social-insurance body of law behind them. - 5 new clusters: beitragsrecht ASVG sva (16: Beitragsgrundlagen, beitragsfreie Bezugsbestandteile par. 49 Abs 3, Beitragssaetze, Tarifsystem, Faelligkeiten/Verjaehrung, Auftraggeberhaftung, Selbst-/Weiterversicherung), baeuerliche Sozialversicherung bsv (18: Beitrag und Beitragsvorschreibung, Pflichtversicherung und Grenzen, Beitragsgrundlage Einheitswert/Optionen/Pauschale, freiwillige Versicherung, Mehrfachversicherung KV/PV, Jagdunfall), GSVG/FSVG gsv (12: Selbstlaendige, neue Selbststaendige, Gesellschaftsformen und sv-Zuordnung, GSVG-Abfertigung), krankenversicherung kvs (4: ASVG-Leistungen), pensionsversicherung pvs (13: Pensionsarten, Pensionsberechnung, Pensionskonto, Pensionsanpassung, Teilpension) - intake cleanup: four text-identical duplicate exports removed; the five-fold truncated export filename of the BSVG freiwillige Versicherung briefings renamed explicitly (Selbstversicherung UV / Weiterversicherung KV+PV / Hoeherversicherung PV / Mitarbeiter- und Selbstaendigenvorsorge); Mehrfachversicherung KV/PV disambiguated; ss-URL-encoded filename normalized - tooling: BATCH 9; TOPIC_MAP pins for all eight Sozialversicherung topic groups (including 'abfertigung-fur-selbststandige' -> gsv so the bare 'abfertigung' keyword fallback cannot steal the GSVG severance briefing for the end cluster); keyword block 9 ahead of block 8 (bauerliche/pensionsart*/krankenversicherung/gsvg/fsvg/ selbststandige); five new CLUSTERS/TOPIC_TO_PREFIX entries - cross-batch reconciliation: lb-swa-03's open points (Teilpension ab 2026 and Regelpensionsalter, both without norm citation) now backed by lb-pvs-12/13 (par. 4a APG) and lb-pvs-02 (par. 16 Abs 6 APG), with a documented value conflict on the female retirement-age cutoff dates (2. 12. 1963/2. 6. 1968 vs 1. 1. 1964/30. 6. 1968) flagged for RIS - employee contribution rates 2026 cross-checked against RECHTSQUELLEN-Privat and found identical (KV 7.65/3.87+3.78, UV 1.10, PV 22.80/10.25+12.55, AV 5.90, IESG 0.10, BVK 1.53, maximum contribution base 6930 EUR, marginality threshold 551.10 EUR, NSchAB 3.80) - flagged for RIS: sva-06 AK-Umlage 0.50% (employee share per source vs employer-only per RECHTSQUELLEN) and par. 53a '14.12' percent column vs 14.12 EUR/month, sva-08 continued-insurance ceiling 1843.38 EUR implying an 8085 EUR basis above the 2026 ASVG ceiling (recomputed 1579.44 EUR), bsv-12/13 BSVG ceiling 35-fold (8085 EUR) vs capped worked example (6615 EUR) and 'uniform across all social insurance laws' vs ASVG monthly value 6930 EUR, gsv-11 vs gsv-06 managing-partner thresholds 50% (2025-07) vs 25% (2026-07), pvs-02/03/04/05 old-law cutoff 1954 vs 1955, pvs-08 bonus maximum 481 vs 493.99 EUR, kvs-03 'par. 120 z 3 ASVG' garble (likely z 4) - curation in seven parallel agent groups, each with a self-check on frontmatter/structure/cross-refs; registry and check green: 571 sources, 571 curated entries, 0 problems |
||
|
|
8c7837384b |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 8)
Eighth Lexis 360 intake (134 briefings, source Stands 2025-06 to
2026-08), extending the corpus to 508 curated entries in 62 clusters.
This batch opens six further briefings chapters ('Beendigungsarten',
'Betriebsrat & Betriebsvereinbarungen', 'Beendigungsansprueche &
Endabrechnung', 'Beendigungsphase - Sonstiges', 'Meldungen &
Verpflichtungen', 'Unternehmensaufloesung & Betriebsuebergang';
sixteen chapters in total now).
- 6 new clusters: beendigungsarten bnd (44: Austritt, Entlassung,
Kuendung incl. Motiv-/sozialwidrige Kuendung, Probezeit,
Fruehwarnsystem), betriebsrat brt (35: Befugnisse, BR-Mitglieder,
Betriebsvereinbarungen, Kuendigungsschutz, Versetzung, Sozialplan),
endabrechnung end (25: Abfertigung Alt/Neu, freiwillige
Abfertigungen, Endabrechnung Zeitguthaben, Vergleich,
Kuendigungsentschaedigung, Abgangsentschaedigung, Outplacement),
beendigungsphase bso (10: Abmeldung SV, Arbeitslosengeld,
Dienstzeugnis, Konkurrenzklausel, ASG-Verfahren,
Aufloesungsabgabe), meldungen mel (8: DSGVO-Datenfragen,
Informationspflichten, Schriftform, Meldepflichten),
insolvenz/betriebsuebergang ins (8); existing clusters extended:
urlaub 14 -> 16, sonderzahlungen 4 -> 5, praemien 6 -> 7
- documented gaps closed: Motivkuendung (lb-bnd-43), Praemien bei
Beendigung (lb-end-18), Abfertigung Alt / Verfuegungsmoeglichkeiten
ueber die Abfertigung Neu (lb-end-01/02/03), Rueckzahlung von
Darlehen (lb-end-25), Ausbildungskostenrueckersatz (lb-end-26),
BR-Kuendigungs-/Entlassungsschutz (lb-brt-13),
Betriebsvereinbarungsbriefings (brt cluster), Dienstfreistellung
waehrend der Kuendigungsfrist (lb-bso-03)
- cross-batch reconciliations (9 back-references): ent-02 -> brt-19/
22/28/29, ent-11 -> end-26, prd-04 -> brt-13, rhz-04 -> bnd-43,
vor-10 -> end-01/02/03/16, kar-01 -> end-01/02, lvr-02 ->
end-06/25, prm-03 -> end-18, sac-06 -> bso-03 + prd-03 (batch-7
closure)
- brt-01 cross_ref fix: mislabeled lb-ent-01 ('Ueberlassene
Arbeitskraefte') corrected to lb-aug-01; SV-Meldepflicht pointer
now lb-mel-08
- ID gaps by design: lb-brt-24, lb-end-07, lb-bso-08 never assigned
(numbers retired by fossil-ID corrections, never reused)
- tooling: BATCH 8; new CHAPTER_TOPIC_MAP pinning layer (the same
topic under different chapters resolves to different clusters:
Sonderzahlungen/Provisionen/Praemien/Urlaubsersatzleistung exist
in both the Entgelt and the Beendigungsansprueche chapters);
6 new TOPIC_TO_PREFIX/CLUSTERS entries; keyword-fallback order
hardened (specific stems before generic beendigung/insolvenz/
entgelt/urlaub/meldepflicht)
- flagged for RIS: end-01 Abfertigung-Alt wage tax example below the
binding minimum-6% tariff, end-09 par. 68 overtime exemption
'10h/120 EUR' vs binding 15h/170 EUR, end-21 example DN-SV rate
18.07% vs component sum 17.57%, brt-20/22 facultative BV items
z7-z26 vs z7-z27, brt-15 '40 BRWO' citation garble, bnd-37 garbled
GlBG paragraph reference, mel-03 DSB retention 6 vs 7 months
(internal source contradiction), ins-06 inconsistent HBG year
labels
- curation in 12 groups (g1/g2 in prior sessions; g3 plus ten
parallel agent groups, each with a self-check on frontmatter/
structure/cross-refs); registry and check green: 508 sources,
508 curated entries, 0 problems
|
||
|
|
18bcc97133 |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 7)
Seventh Lexis 360 intake (97 briefings, source Stands 2026-06 to
2026-08), extending the corpus to 374 curated entries in 56 clusters.
This batch opens five further briefings chapters ('Urlaub &
Karenzierung', 'Schwangerschaft & Elternkarenz', 'Krankenstand &
Arbeitsunfall', 'Dienstverhinderung', 'Ausserhalb des Betriebs-
standortes'; ten chapters in total now).
- 16 new clusters: urlaub (14), krankenstand (9), grenzeinsatz grz
(8: Ausland/Entsendung/Standortverlegung), karenzsonderformen
(7: Bildungs-/Hospiz-/Pflegekarenz), elternteilzeit (6), karenz
(6), kinderbetreuungsgeld (6), praesenzdienst (6), telearbeit
(6), mutterschutz msf (5: Schutzfristen/Wochengeld), dienst-
verhinderung dvh (4, incl. Streik), arbeitskraefteueberlassung
(2, AUEG), entgeltfortzahlung an Feiertagen efz (2), papamonat
(2), pflegefreistellung (2), wiedereingliederung (2); existing
clusters extended: arbeitnehmerschutz 12 -> 16 (Arbeitsunfall/
Berufskrankheit), schwangerschaft 1 -> 7
- documented gaps closed: Bildungskarenz (kzs), Abfertigung Alt
(lb-kar-01), Entgeltfortzahlung an Feiertagen (lb-efz-01/02),
Gefahrenevaluierung und Arbeitsverbote (lb-sch-04), Telearbeit
(tel cluster)
- three truncated duplicate export filenames (auslandstatigkeit_
sv_tatigkeit_in x3) renamed explicitly before extraction
- cross-batch reconciliations: lb-sch-01's Gefahrenevaluierung gap
now fully closed (-> lb-sch-04), lb-tzb-02's open Bildungskarenz
reference resolved (-> lb-kzs-01; terminology conflict with the
tzb briefing flagged for RIS)
- frontmatter fixes: seven entries of a stalled first curation
pass used invented topic values (papamonat-und-familienzeit-
bonus, geburt-schutzfrist, wochengeld) -> normalized to the
schema values (familienzeit, schutzfrist)
- flagged: asc-15 worked example draws a 42-day contingency
(1st-service-year pattern) against its own stage table (56
days), aug paragraph garble ('11503/1503 Abs 30 ABGB', likely
1153 Abs 30), grz-08 OGH follow-duty case law vs. explicit
source criticism, efz-01 36-hours compensatory time off,
dvh-04 pay claims of non-striking employees unsettled per
source
- note: the first curation pass stalled at 82/97 (no progress
from 14:43); the remaining 15 entries (asc-13..16, dvh/efz/pfl,
grz-08, aug) were re-run by three fresh parallel agents after
the user canceled the stuck one
|
||
|
|
59bcda620f |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 6)
Sixth Lexis 360 intake (41 briefings, source Stands 2025-06 to
2026-08), extending the corpus to 277 curated entries in 40 clusters.
This batch opens two further briefings chapters, 'Arbeitnehmer-
schutz' and 'Verhaltenspflichten' (five chapters in total now).
- 7 new clusters: arbeitnehmerschutz (12, ASchG incl. Gefahren-
evaluierung, Arbeitsstätte/-mittel/-stoffe, Arbeitsunfall,
BauKoG, Bildschirmarbeit, HitzeschutzVO, Strafbarkeit),
dienstnehmerhaftung (7, incl. Mankohaftung), gleichbehandlung (7,
incl. Einkommensbericht/Gehaltsoffenlegung), firmeneigentum (6,
Sachnutzung Dienstwagen/PC/Telefon/Internet), weisungen (3),
schwerarbeit (5, joins the Arbeitszeit chapter), mobbing (1)
- parser hardening: breadcrumb wrap detection extended to wraps
after the first separator dot ('... Evaluierung |\nAutor ...')
- one fossil id purged (lb-mip-05 -> lb-swa-05, keyword-fallback
misroute caught by the prefix guard)
- cross-batch reconciliations: lb-beh-04's 'Belaestigung' gap
closed (-> lb-glb-02/03/07), lb-sch-01's 'Gefahrenevaluierung
und Arbeitsverbote' partially closed (-> lb-asc-01); glb-07 vs
beh-04 divergence on the Aufstiegsschaden measure documented
for RIS clarification
- flagged: GKV citation 2020 (asc-01) vs 2021 (asc-07), 3-DHG
limitation dispute, open SV/payroll-tax treatment of deducted
damages amounts (dnh), Schwerarbeit Teilpension 2026 without
norm citation, ASchV/NSchG not yet covered in RECHTSQUELLEN
- note: two curation agents were canceled mid-run and their
remaining scope (asc-04..12, glb/mob) was re-run by fresh
agents; the three partial asc entries were verified complete
before acceptance
Validated: --registry 277 entries/40 clusters, --check 0 problems,
structural scan, py_compile.
|
||
|
|
3a5337e24b |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 5)
Fifth Lexis 360 intake (31 briefings, source Stands 2025-12 to 2026-07), extending the corpus to 236 curated entries in 33 clusters. This batch opens the third briefings chapter 'Arbeitszeit' (AZG working-time law, the structural backbone for Work-Entry-based payroll). - 8 new clusters: arbeitszeitgrenzen (4), arbeitszeitmodelle (7, incl. Kurzarbeit and Gleitzeit/Schicht), meldepflichten (4), nachtschwerarbeit (3), ruhezeiten (4), schwangerschaft (1), uberstunden (4), zeiterfassung (3); plus lb-jug-08 appended to the jugendliche cluster - one URL-encoded export filename (sharp-s) normalized; no duplicates; no fossil ids this time - the specific-first keyword ordering held - cross-batch reconciliation: three procurement gaps closed and back-referenced - 'Jugendliche - Arbeitszeit' (lb-jug-04 and lb-jug-05 -> lb-jug-08) and 'Aufzeichnungspflicht, Formen der Zeiterfassung' (lb-jug-05 -> lb-zer-01/02) - RECHTSQUELLEN cross-checks: 68-EStG overtime free limits 2026 (15 UStd/170 EUR) confirmed via lb-zus-07; the Kurzarbeit/ Lehrlinge corpus conflict is now triangulated - lb-azm-05 (2026-07) sides with lb-leh-07 (apprentices excluded since 2023) against lb-leh-11's '100%' - flagged batch-5 points: NSchG contribution 2026 (3.8%) cited without BGBl evidence (lb-nsc-01), 'para 7 Abs 1' vs 'Abs 6 AZG' citation divergence for the overtime refusal right (lb-ues-01/04), MAV-START EU conflict (lb-rhz-03), KAB-Richtlinie computing the 39.05% partial amount with outdated SV rates (lb-azm-06), 12-Abs-2a-vs-12a designation conflict (lb-zer-01) - batch-6 candidates updated in the RUNBOOK (Entgeltfortzahlung an Feiertagen, Motivkuendigung, Gefahrenevaluierung u. a.); README cluster table extended to batches 1-5 incl. the third chapter Validated: --registry 236 entries/33 clusters, --check 0 problems, structural scan over all 236 curated docs, py_compile. |
||
|
|
0d60308858 |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 4)
Fourth Lexis 360 intake (54 briefings after removing one identical re-download, source Stands 2026-06 to 2026-08), extending the corpus to 205 curated entries in 25 clusters. Focus of this batch: the enforcement and employer-contribution side of payroll (all in the 'Entgelt: Anspruch & Abrechnung' chapter). - 6 new clusters: lohndumping (13, LSD-BG incl. Sicherungsmittel and cross-border posting), lohnpfandung (14, EO garnishment mechanics), gplb (7), lohnnebenkosten (7, FLAF-DB/DZ/IESG/AK-Umlage/WBF/KommSt), lohnverrechnung (9, L16/Lohnzettel, mBGM, 109a, Aufrollung, Aufrechnung, Darlehen), nachzahlungen (4) - cross-batch reconciliation: 'Darlehen und Vorschuesse' (lb-sac-13 -> lb-lvr-02) and 'Lohnzettel und Beitragsgrundlagen- nachweis' (lb-sac-21 -> lb-lvr-05) dangling references closed, cross_refs updated - tool hardening: assign_ids returns mismatch warnings instead of appending to an out-of-scope variable (latent NameError that only fired when a mismatch actually occurred), keyword fallback reordered specific-before-generic (batch-4 lesson: generic 'zuschlag' stole iesg_zuschlag before the topic map was pinned), 7 fossil ids from the unpinned pass purged and reassigned - RECHTSQUELLEN cross-checks (lnk cluster): FLAF-DB 3.7%, KommSt 3%, IESG 0.10%, WBF (other provinces 1%), Freibetrag staffel confirmed; flagged: lb-lnk-02 states the DB Freibetrag condition INVERTED vs the verified text (correct staffel evidenced via lb-lnk-03), lb-lnk-05 WBF Wien 1.5% vs 1.0% (RIS clarification needed), plus pfa Grundbetrag naming conflict (lb-pfa-03/05), Existenzminimum 2022 (500/515 EUR, lb-pfa-12/14), mutilated statute citation in lb-lsd-13 (RIS check), 124b citation variants in the corpus (Z 440/Z 449 vs verified Z 476 lit c idgF BGBl I 43/2026) - batch-5 candidates updated in the RUNBOOK (pfändungsrechtliche Behandlung von Sonderzahlungen, Rueckzahlung von Darlehen u. a.); README cluster table extended to batches 1-4 Validated: --registry 205 entries/25 clusters, --check 0 problems, structural scan over all 205 curated docs, py_compile. |
||
|
|
2cc6be7832 |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 3)
Third Lexis 360 intake (44 briefings, source Stands 2025-06 to 2026-08), extending the corpus to 151 curated entries in 19 clusters. All batch-3 topics sit in the 'Entgelt: Anspruch & Abrechnung' chapter - this is the most payroll-core batch so far (SZ tariff mechanics, surcharges, commuter allowances, travel expenses, BMSVG). - 6 new clusters: reisekosten (9), pendlerforderung (9), vorsorgeleistungen (11), zuschlage (8), sonderzahlungen (4), geschenke (2); plus lb-ent-11 (Ausbildungskosten-Rueckerstattung) appended to the entgelt cluster - two URL-encoded export filenames (%c3%9f = sharp-s) normalized before intake - cross-batch reconciliation: lb-prm-04's dangling reference to 'Sonderzahlungen - Steuer' resolved against the new lb-son-04 (and lb-son-03 for the SV side); cross_refs updated - curated entries cross-checked against the verified legal inventory (RECHTSQUELLEN-Privat.md): 67-EStG staffel, 68-EStG free limits, BMSVG core values confirmed; deviations flagged, notably the 124b-Ueberstundenmassnahme 2026 citation in lb-zus-07 - the briefing cites 'Z 440 lit c'/'BGBl I 4/2026' while the verified text is Z 476 lit c idgF BGBl I 43/2026 (Aufrollung bis 30. 9. 2026), and lb-ent-01's blanket 120 EUR for 68 Abs 2 (verified: 170 EUR 2026) - further flagged points: lb-pen-09 table value 3,672 EUR (likely print error, arithmetic 2,448), PendlerVO-vs-BMF-FAQ divergence (lb-pen-01), 183-day rule Finanz vs UFS (rei), teleworker trips Finanz vs BFG/VwGH (lb-rei-07), SV status of staff participation foundations (lb-vor-01), customer gifts without SV value limit (lb-ges-02) - batch-4 candidates updated in the RUNBOOK (Abfertigung Alt, Corona-Kurzarbeit u. a.); README cluster table extended to batches 1-3 Validated: --registry 151 entries/19 clusters, --check 0 problems, structural scan over all 151 curated docs, py_compile. |
||
|
|
fe3b09c4e2 |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 2)
Second Lexis 360 intake (52 briefings, source Stands 2025-06 to 2026-08), extending the corpus to 107 curated entries in 13 clusters. Covers the second briefings chapter 'Entgelt: Anspruch & Abrechnung' and further Beschaeftigungsverhaeltnisse topics. - 7 new clusters: behinderte (4), entgelt (10), geschaftsfuehrer (5), leitende-angestellte (1), pramien (6), sachbezuege (21), vorstand (4); plus lb-leh-16 (Weiterbeschaftigung nach Ende der Lehrzeit) appended to the frozen lehrlinge sequence - tool hardening: batch values validated as integers 1..N (multi-batch operation), dynamic batch labels in kb.json (batches summary) and INDEX header, and a new --extract warning when a frozen id's prefix no longer matches its cluster - this caught the lb-jug-08 fossil from the unpinned first pass, corrected to lb-sac-21 before any curation referenced it - removed one duplicate browser export (geschaftsfuhrer_arbeitsrecht (1).pdf, identical extracted text) - corpus conflicts and open points flagged in the entries: Klein- wohnungsgrenzen lb-sac-09 vs lb-sac-10, Pensionisten-Beguenstigung lb-sac-02 (LStR Rz 104 divergence), EUR 14.53 Parkplatz without SV/LSt categorization in the source (lb-sac-18), incentive trips only at LStR-Rz level (lb-sac-16), simplified 6% tariff in lb-prm-04 (the verified 67-EStG staffel in RECHTSQUELLEN-Privat.md governs) - dangling briefing references recorded as batch-3 candidates in the RUNBOOK (Bildungskarenz, Telearbeitspauschale, Personalrabatte bis 2015, Lohnzettel/BGN u. a.) - README cluster table extended to batches 1-2; RUNBOOK/MEMORY updated Validated: --registry 107 entries/13 clusters, --check 0 problems, structural scan over all 107 curated docs, py_compile. |
||
|
|
e990488273 |
[REF] personalverrechnung: relocate Lexis360 raw layer to .lexis360/
Move the licensed PDF exports and the Layer-1 full texts from the project root into the dot directory .lexis360/, keeping the root listing to versioned content plus the tool checkouts. The location also encodes provenance, distinct from .firecrawl/: .lexis360/ holds user-supplied licensed exports that cannot be re-fetched by an agent - if missing, stop and ask the user (documented in MEMORY), whereas .firecrawl/ remains the home of reconstructible web fetches. - plain move of the unversioned directory (batch2/ subfolder spotted and left untouched for its own intake run) - .gitignore, tool constants/messages, source.pdf/source.text frontmatter paths of all 55 curated entries, README/RUNBOOK/MEMORY mentions; kb.json/INDEX.md regenerated - batch 2 (53 PDFs) recorded in MEMORY as staged in .lexis360/batch2/ Validated end to end: --extract 55/55 with stable ids, --registry 55 entries/6 clusters, --check 0 problems (every frontmatter path resolves at the new location), no stale path references remain. |
||
|
|
6a78b419ed |
[ADD] personalverrechnung: Lexis360 knowledge base (Batch 1)
Curated knowledge base from the first batch of Lexis 360 PDF exports (LexisNexis "Lexis Briefings Personalrecht", 55 documents, source Stands 2024-03 to 2026-09). Purpose: development reference alongside RECHTSQUELLEN-*.md and a retrieval-ready corpus for a future question-answering copilot. Licensing split (decision D1): the PDF exports and the extracted full texts stay local and unversioned (Lexis360/ gitignored, like .firecrawl/); only the curation in own words with short quotes and source citations is versioned. - wissensbasis/dokumente/: one curated entry per briefing (55) with approved frontmatter (frozen lb-<cluster>-<nn> ids, English structural keys, German values, stand YYYY-MM, ASCII topic/tags slugs) and sections Zusammenfassung, Kernwerte & Fristen (Stand marked), Rechtsgrundlagen (only citations actually in the source, verified/plausible/open marks), Payroll-Relevanz (Odoo), Verweise - clusters: altersteilzeit 15, lehrlinge 15, jugendliche 7, ferialpraktikanten 4, beschaftigungsformen 8, teilzeit 6 - kb.json + INDEX.md: generated from the frontmatter by --registry (single source of truth, schema-validated) - tools/build_lexis_kb.py: stdlib-only pipeline - --extract (pdftotext, breadcrumb/stand parsing incl. dossier-style exports with wrapped breadcrumbs), --registry (frontmatter validation: required keys, id pattern, id prefix vs topic, stand format, dangling cross_refs), --check (layer 1 <-> layer 2 completeness); ids are frozen across batches, numbers never reused - RUNBOOK.md: batch intake workflow, validation steps, known limitations Corpus contradictions flagged in the entries (not silently resolved): AMS replacement rate for blocked Altersteilzeit 2026 (lb-atz-07 28.5% vs lb-atz-09/12 27.5%), DAG limit 2023 (751.36 vs 751.37 EUR), Kurzarbeit for Lehrlinge (lb-leh-11 vs lb-leh-07); lehrlinge cluster partly older Stands (2024-03/2025-08). Validated: extract 55/55, registry 55 entries/6 clusters, check 0 problems, structural scan of all 55 curated entries, py_compile. |
||
|
|
3a4e0dcd0f |
[IMP] odoo-at-payroll: record GP1 status in plan, changelog and memory
Implementation plan: section 8.2 marked curated (reference KV mechanics now live in the seed kv.wert), release status updated (GP1 built, runtime acceptance pending PostgreSQL); CHANGELOG entry for GP1; MEMORY handoff updated accordingly. |
||
|
|
3797e30b1c |
[ADD] personalverrechnung: General-AT plan and legal sources (M0/GP0)
Approved implementation plan for l10n_at_hr_payroll_private (M0, decisions D1-D4) and the GP0 legal-source inventory RECHTSQUELLEN-Privat.md, verified against primary sources (RIS, jusline): - FLAF-DB § 41 FLAG: 3.7% for 2026, 2.7% from 2028 (GesNr 10008220); KommStG 1993: 3% (GesNr 10004841) - 13th/14th salary taxation runs via § 67 EStG (Jahressechstel fixed rates, control sixth § 77 Abs 4a); § 68 covers allowances/surcharges only - plan citation corrected, also fixes the legal basis of the Bgld open point P9 - Urlaubsentgelt is § 6 UrlG (§ 9 repealed since 2001) - corrected - EOSB: no Monatsentgelt staffel; § 15 BMSVG pays out the Anwartschaft with § 14 Abs 2 Verfügungsausschluss matrix - GP5 design confirmed - 2026 overtime measure: first 15 hours, max 170 €/month (§ 124b Z 476 lit c BGBl I 43/2026) Plan section 8 items 3-6 and UrlG (8) marked verified; private module skeleton README, MEMORY, CHANGELOG and payroll skill updated (§ 67 citation fix, RECHTSQUELLEN-Privat.md as required source). |
||
|
|
5b629a5916 |
[ADD] personalverrechnung: machine-readable KV library (all current collective agreements)
Cross-checked catalogue of all currently valid Austrian collective agreements, per the source policy: main source = the responsible employer-side chamber, kollektivvertrag.at (OEGB-Verlag) as complete cross-check baseline. - oegb/: 593 variants from kollektivvertrag.at with full consolidated texts (JSON primary format, Markdown for review/diff) plus catalog.json/.csv; fetched via the portal's JSON servlets (dashboard/structure/slices/topics), resumable - wko/: 614 current documents from the WKO KV database (1,820 branch overviews across 10 regions) with texts and catalog; match-report against the baseline: 407 pairs, 30 date disagreements flagged - chambers/chambers.json: curated registry of chamber-side sources and publication gaps (GOeD member-only, RA/Notariat not public, OCR-less scan PDFs, missing hospital-doctors KV) - kv-catalog.json/.csv: merged catalogue, 768 entries, chamber classification, main_source, cross_check status, manual_review lists - tools/fetch_kv_portal.py / fetch_wko_kv.py / build_kv_catalog.py: stdlib-only fetchers and merge step, each with a --refresh diff mode - RUNBOOK.md: update cycle for keeping the library current (annual, tied to the Wartung rhythm and KV rounds) Lohntafel PDFs are linked but not downloaded; wage tables contained in the KV texts are converted. No Odoo module changes. |
||
|
|
64197a167e | [ADD] personalverrechnung: Repo-Split-Plan Personalverrechnung | ||
|
|
42bb759fd1 |
[IMP] l10n_at_gemeinde_payroll: implement SV value layer (AP4) from OEGK TASY
SV-Werte-Implementierung nach dem freigegebenen TASY-Plan (PLAN-TASY-SV-Import):
- hr.rule.parameter-Seed 2026 (20 Parameter, generator-erzeugt aus dem
ÖGK TASY-LSWH-Export, Stichtag 2026-07-01): Geringfügigkeit 551,10 EUR
(GFGBTG, ab 2025 — Aufwertungsaussetzung korrekt abgebildet), HBG
monatlich 6.930 EUR (HBGALLG tgl. x 30), HBG SZ 13.860 EUR, KV
3,87/3,78, PV 10,25/12,55, AV 2,95/2,95, UV 0/1,10, IESG 0/0,10,
BV 1,53, AK/WF geführt, § 2a AMPFG-Staffel aus dem SV-Werte-Report.
Generator mit Herkunftsnachweis + Erwartungswert-Ankern
(personalverrechnung/tools/gen_sv_parameters_2026.py, Exit 1 bei
Abweichung von den offiziellen Ankern).
- TASY-Quelldatei committet (personalverrechnung/quellen/, 5 MB —
öffentliches Tarifdatenmaterial ohne Personendaten) für Seed- und
Testreproduzierbarkeit.
- Deklarative TASY-Mapping-Tabelle (gemeinde.payroll.tasy.mapping,
data XML): bbb-Codes (Cent, Faktor z. B. x 30) und Tarifzweige
(_dn/_dg-Suffix-Konvention) — keine festen Werte im Code.
- Import-Wizard (TransientModel, lxml safe parsing):
Beschaeftigtengruppe B002 ("Angestellte") -> Tarifgruppe ->
tarifgruppeSetZuord -> Tarifset -> Tarif; bei Varianten gewinnt die
Split-Variante (DN>0 und DG>0), dann die einseitige DG-Variante (UV/BV);
freie-DN-Varianten verlieren. Preview mit Delta, Sprungwarnung > 10 %,
Warnzeilen werden nie automatisch übernommen; Schreiben versionierter
hr.rule.parameter.value-Sätze erst nach expliziter Bestätigung.
- Tests (4 Suiten): Seed-Werte am Stichtag, Fixture-Parser
(Split-Präferenz, Cent-Rechnung), Versionsverhalten (Update statt
Duplikat), Echtdaten-Test gegen den 5-MB-Export (Auflösung == Seed,
keine Warnzeilen).
- Security/Views/Menüs für Mapping + Wizard; Modul-Version 19.0.1.2.0.
Statische Validierung grün (py_compile, XML, Manifest); Runtime-Testlauf
auf dem Dev-Host ausständig.
|
||
|
|
8e0b169b73 |
[ADD] personalverrechnung: Plan SV-Werte-Implementierung (TASY-LSWH)
Analyse des ÖGK-TASY-Exports (Stichtag 2026-07-01, 5 MB): tarife/tarifsets/ tarifgruppen/beschaeftigtengruppen-Kette mit DN/DG-Anteilen je Zweig (KV/PV/AV/UV/IE/DG/AK/WF/BV), bbwerte in Cent mit Gültigkeit; verifizierte Deckung mit dem SV-Werte-Report 2026 (GFG 551,10 EUR, HBG SZ 13.860 EUR, KV 3,87/3,78, AV 2,95/2,95). Plan: hr.rule.parameter bleibt alleiniger Wertespeicher (Engine-Mechanik, Konsum via payslip._rule_parameter); Seed 2026 per Generator mit Herkunftsnachweis + jährlicher TASY-Import-Wizard (stichtagsbasierte Auflösung über die Gruppenkette, Preview-Differenz mit Plausibilitätswarnung, explizite Bestätigung) + Mapping-Tabelle TASY-Code/Zweig -> Parameter. Nicht in TASY: öffentlicher FLAF-DB (§ 49a Abs 8/9, AP0/RIS), Lohnsteuer, KommSt. Offene Punkte (HBG x30-Konvention, AMPFG-Staffelauflösung, Commit der 5-MB-Quelldatei) im Plan dokumentiert; Freigabe-Antrag gestellt. |
||
|
|
30270f9877 |
[IMP] l10n_at_gemeinde_payroll: implement AP1 pay scale model (GemBG Bgld.)
Katalogmodell nach Implementierungsplan AP1 (freigegeben 2026-09-09): - ``gemeinde.payroll.entlohnungsgruppe`` (Code, Schema, §, Bundesland, Vorrückungszeitraum je Gruppe; § 66 Abs 2 GemBG: 4 Jahre, abweichend 2 Jahre für Betreuungspersonen-/Sondergruppen) und ``gemeinde.payroll.entlohnungsstufe`` (Stufe, Monatsentgelt, Stichtag, unique je Gruppe/Stufe/Stichtag) mit Stichtags-Lookup-Helfern. - Seed 2026: 35 Entlohnungsgruppen, 433 Werte (Schemata I/gv, II/gh, Ia/bv, IIa/bh, kb, av sowie §-Gruppen 150c/151/151c), Werte aus der konsolidierten GemBG-Fassung 09.09.2026 (Wert 1.7.2026 gemäß Artikel 4 RV 0715/XXIII. GP; 2025er-Stichtagsannahme für nicht 2026 angepasste Tabellen als AP0-Verifikationspunkt dokumentiert). Generator mit Herkunftsnachweis: personalverrechnung/tools/extract_gembg_katalog.py. - GemBG-Felder auf der Payroll-Version (hr.version) plus Employee-Spiegel nach dem Engine-Muster (related/inherited): Entlohnungsgruppe, Stufe, Besoldungsdienstalter, Vorrückungstermin — berechnet nach § 66 Abs 2 (erster Tag des Monats nach Vollendung weiterer n Jahre BDA), manuell überschreibbar für Überleitungsfälle (§§ 157a ff). - Vorrückungs-Wizard (§ 66 Abs 2): fällige Versionen zum Stichtag, Stufenerhöhung mit Höchststufen-Schutz und Ergebnis-Notification — bewusst kein stilles Mutieren im Lohnlauf (Dokumentationspflicht). - Views/Menüs (Personalverrechnung Bgld. unter Payroll), Security auf hr_payroll-Gruppen, Employee-Form-Anbindung in payroll_group. - Tests (Rechenfälle AP1): Seed-Werte inkl. Quellenanomalie kb1a/6, Stichtags-Lookup, Jahresversionierung, Vorrückungstermin (BDA 15.03.2020 -> 1.4.2028), Wizard-Anwendung mit Höchststufen-Skip. Statische Validierung grün (py_compile, XML, Manifest, CSV-Integrität); Runtime-Testlauf auf dem Dev-Host (gem360_dev) ausständig, wie im Implementierungsplan M2 vorgesehen. |
||
|
|
4e79c8b8b1 |
[ADD] personalverrechnung: Implementierungsplan Bgld. Personalverrechnung
Plan zur Freigabe (AGENTS.md Phase 3): Anforderungsbild, am Odoo-19-Source verifizierte Erweiterungspunkte (hr.rule.parameter-Konsum via payslip._rule_parameter, localdict-Kontext, Regel-Konten, Posting-Hook _prepare_line_values für budget_position_id, Refund-Mechanik, Work-Entry-Types), Modul-Layout, Katalogmodell (Entlohnungsgruppen/-stufen mit Jahresversionierung aus Bezügeanpassungs-Tabellen), Regelinventar (Monatsentgelt, Kinderzulage ungekürzt, Zulagen, Über-/Mehrdienstleistung, quartalsweise SZ, Lohnsteuer § 33/§ 68, SV/DG, öffentlicher FLAF-DB, IESG), VRV-Buchung über vrv_ansatz_id auf hr.salary.rule, eigene Abfertigungsrückstellungs-Engine, dateibasiertes Meldewesen (L16/ELDA), Jahreswechsel-Wizard, Rechenfall-Testplan mit VRV-L2-Verprobungsankern, Risiken (Buchungsmatrix AP0, FLAF-DB-Satz, SZ-Lohnsteuer-Zuordnung, ELDA/FinOnl-Specs, Prorate-Konvention) und Meilensteine M0–M6 im AP-Rahmen der Angebotskalkulation. |
||
|
|
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). |
||
|
|
8c4faf923d |
[ADD] personalverrechnung: Angebots-Grundlage Aufwandskalkulation Bgld.
Kalkulation Variante A (Personalverrechnung Bgld. Gemeinden in Odoo 19, hr_payroll-Engine, GemBG-2014-Regime) mit Prämissenmodell für die Angebotsphase (keine Kundenunterlagen): 12 Arbeitspakete mit Netto-PT (194–279, Kalkulationssumme 236) plus 10 % Risikoabdeckung wegen fehlender Referenzläufe und offener Rechtsdetails → Angebotswert ≈ 260 PT netto (240–280; ≈ 13 PM, 6–9 Monate). Auspreisfähige Optionen: Organe-Bezüge 15–25, Altpensionen/Versorgung 15–25, Lehrlinge 8–12, Folge-Bundesland 30–60 PT; Wartung/Jahreswechsel 10–15 PT/Jahr; Variante B (Importschnitt- stelle) 25–40 PT als Alternative. Ausschlüsse und Risikoregister für die Angebotsfixierung beigefügt. RECHTSQUELLEN aktualisiert: Bezügeanpassung 2026 (RV 0715/XXIII. GP) mit Entlohnungstabellen geladen (Gruppen a–e/gb1a/gb3 × ~14 Stufen); IESG- Zuschlag 0,10 % via ÖGK verifiziert; Bgm-PensionsG 1979 (RIS-GesNr 10000133) verifiziert; Restverifikationen (KommStG § 6, ASVG § 49a Abs 8/9, Bgld. MVKG) als AP0-Startaufgaben dokumentiert (Firecrawl-Keyless-Limit). |
||
|
|
8307e7a552 |
[ADD] personalverrechnung: Rechtsquellen-Recherche Bgld. Personalverrechnung
Kernbefund: Das Bgld. GemBG 2014 (LGBl. Nr. 42/2014) regelt das gesamte Dienst- und Besoldungsrecht aller burgenländischen Gemeindebediensteten — ausschließlich privatrechtliche Dienstverhältnisse (keine neuen Beamten, § 1 Abs 3), kein Kollektivvertrag-Regime (0 KV-Referenzen), Entlohnungs- system ab 1.1.2021 (IVa. Hauptstück) mit Werten aus jährlichen Landes- Bezügeanpassungs-Anlagen, quartalsweise Sonderzahlung (50 % je Kalender- vierteljahr), Urlaub 28/33 Arbeitstage, eigene Abfertigung (§ 130), Karenz nach Bgld. MVKG (LGBl. 16/2005); Kinderbetreuungspersonal integriert (Hauptstück VIIa). Bundesrecht unverändert zuständig für Lohnsteuer (Tarif 2026, § 68-Pauschalbeträge inkl. Überstunden-Freibetrag 2026, L16/FinOnl), SV (Werte 2026 verifiziert: HBG 6.930 EUR, Geringfügigkeit 551,10 EUR, KV/PV/AV/UV-Sätze), FLAF-Dienstgeberbeitrag öffentlicher Haushalte (§ 49a ASVG) und Meldewesen (L16, eSV/ELDA). 60-PLAN-payroll-bgld.md aktualisiert: Variante-A-Schätzung Bgld. vorläufig ~180–290 PT (Beamten-Doppelregime, KV-Handling und KBBG-Faktor entfallen); Beschaffungsliste verdichtet auf Bezügeanpassungs-Anlagen 2026, ELDA/ FinOnl-Spezifikationen und die Unterwart-Referenz-Lohnläufe; offene RIS-Verifikationen dokumentiert (ASVG 49a Abs 8/9, KommStG 6, IESG, Krankengeldumlage, Personalvertretungsumlage). |