[IMP] l10n_at_hr_payroll: GP7 ELDA-Fixsatz-Framework, L16 + Arbeitsstättenmeldung, Kind-Modell, Belege (AP5/AP6)
ELDA-Fixsatz-Framework (models/elda.py) nach DM-ORG 42.7.0 Kapitel C.1/C.2+E.1-E.3: Fixlängen-Sätze ohne Feldtrennzeichen (a/a-n linksbündig, Grundstellung blank; n rechtsbündig, Grundstellung 0, führende Nullen, KEINE Interpunktion — Beträge EURO-Cent kaufmännisch gerundet, Prozentsätze x1000 mit 3 Nachkommastellen), Encoding ISO-8859-15 (Standard-Encoding für Fixlängen), optionaler Dateiheader (DHKZ 2x blank + DHVN 01 + ENCD), Vorlaufsatz SART 00 (BEST/VSTR/VERS) + Schlusssatz SART 99 mit SANZ; SANR lückenlos ab 1 je Datenbestand; CRLF als Satztrenner (Praxis-Annahme, DM-ORG normiert keines — Parallellauf verifizieren). Lohnzettel Finanz L16 (models/lohnzettel_l16.py): Informationssatz I1 (SART I1, Länge 1.100, Strukturversion 03) + Mitteilungssatz L1 (SART L1, Länge 3.500, Lohnzettelversion 28 — zwingend ab 01.03.2026) mit vollständiger, PDF-verifizierter Feldtabelle (~210 Felder inkl. Kinderblock 15x123 ab Pos. 1501; DM-ORG 42.7.0 E.13/E.14). KZ-245-Formel: KZ 210 = Bruttobezüge gem. § 25 GESAMT (DM-ORG-Feldbeschreibung) — die Formel 210-215-220-230-243 ergibt die laufende Steuerbemessung, per Konstruktion konsistent mit der GP3-§-66-Kette (Ableitung aus l10n_at_bemessung/steuerbefreiung_68/s67_abs und Regelcodes; bewusst KEIN paralleles KZ-Klassifikationsfeld). Arbeitsstättenmeldung § 34 Abs 6 ASVG: SART 45 (Länge 300, Version 02, BEST AD/VSTR ST Statistik Austria) je AN am 31.12. aus dem Dienstort-Partner (GKZ manuell, Warnung wenn fehlt) — im selben Jahreslauf (Nutzer-Entscheidung 5.1). Kind-Datenmodell (models/kind.py — l10n.at.payroll.kind): Stammdaten-Wartung des Familienbonus Plus (Nutzer-Entscheidung 5.3: FB+ rechnet NICHT im Lohnsteuerkern — bei Unterschreiten der Steuer auf 0 erfolgt die Geltendmachung über die Arbeitnehmerveranlagung); Felder für den L16-Kinderblock (Familienname/Vorname/Geburtsdatum/VSNR/Staatsangehörigkeit/FB+-Monate voll/halb, Alterstaffel 166,68/58,34). Stammdaten (models/meldewesen.py): Beitragskontonummer BKNR + Lohnsteuernummer (res.company), Gemeindekennziffer GKZ (res.partner), VSNR-Formatprüfung LLLPTTMMJJ auf hr.version.ssnid (Prüfzifferalgorithmus = dokumentierter Rest, SVS-Quelle beschaffen), eSV-Abmeldegrund AGRD-Mapping auf hr.departure.reason (Standard 00); fallweise-Beschäftigungs-Flag auf hr.version (§ 33 Abs 1a Z 1 ASVG). Belege (AP6): Lohnzettel AT (ir.actions.report auf hr.payslip, AT-Layout mit Bezügen/DN-Abzügen/DG-Anteilen/Netto), Monatsdienstliste (mBGM-Kontrollschicht je AN) + Monatsjournal (je Lohnart Summen je Lauf) auf hr.payslip.run als QWeb (models/monatsreports.py + report/belege_reports.xml; account.report wird in keinem HR-Modul genutzt). Tests: test_elda_l16 (4 — Feldformatierung/Cent-Beträge/skala, Bestands-Assembly SANR/SANZ/CRLF/ISO-8859-15/Dateiheader, L16-Lauf mit positionsexakten Assertions aus der November-Fixture, Arbeitsstätten-Satz). 19.0.4.0.0.
This commit is contained in:
@@ -1,17 +1,18 @@
|
||||
# Part of the odoo-at-payroll project. License: LGPL-3.
|
||||
{
|
||||
'name': 'Österreich - Personalverrechnung Kern (AT Payroll Core)',
|
||||
'version': '19.0.3.1.0',
|
||||
'version': '19.0.4.0.0',
|
||||
'author': 'ixsol',
|
||||
'website': 'https://gem360.at',
|
||||
'category': 'Human Resources/Payroll',
|
||||
'version': '19.0.4.0.0',
|
||||
'description': """
|
||||
Österreichischer Personalverrechnungs-Kern
|
||||
==========================================
|
||||
|
||||
Sektor-neutraler Bundes-Kern der österreichischen Personalverrechnung
|
||||
auf der Odoo-19 ``hr_payroll``-Engine. Wird konsumiert von
|
||||
``l10n_at_gemeinde_payroll`` (Bgld. GemBG) und später vom General-AT-
|
||||
``l10n_at_gemeinde_payroll`` (Bgld. GemBG) und vom General-AT-
|
||||
Produkt (``l10n_at_hr_payroll_private``). Grundlagen: ``personalverrechnung/``
|
||||
(PLAN-payroll-bgld.md, RECHTSQUELLEN-Bgld.md, PLAN-repo-split.md).
|
||||
|
||||
@@ -32,8 +33,27 @@ Produkt (``l10n_at_hr_payroll_private``). Grundlagen: ``personalverrechnung/``
|
||||
``rule_parameters_sv_2026.xml``; BV-Beitrag Abfertigung Neu
|
||||
(BMSVG § 6 Abs 1, ``at_sv_bv_dg``) als Parameter für das
|
||||
General-AT-Modul (GP5);
|
||||
- **Meldewesen/Belege (AP5/AP6, GP7):** ELDA-Fixsatz-Framework
|
||||
(``models/elda.py`` — Vorlauf/Schluss, SANR/SANZ, Cent-Formatter,
|
||||
ISO-8859-15), **Lohnzettel Finanz L16 + Arbeitsstättenmeldung**
|
||||
(``models/lohnzettel_l16.py`` — I1/L1 nach DM-ORG 42.7.0,
|
||||
Lohnzettelversion 28, KZ-245-Formel-Prüfung, BEST LF/94 bzw. AD/ST),
|
||||
Kind-Datenmodell für die FB+-Wartung (``models/kind.py``),
|
||||
Meldewesen-Stammdaten (BKNR/Lohnsteuernummer, GKZ am Partner,
|
||||
VSNR-Formatprüfung, eSV-Abmeldegrund-Mapping,
|
||||
``models/meldewesen.py``), Belege Lohnzettel AT/Monatsdienstliste/
|
||||
Monatsjournal (QWeb, ``models/monatsreports.py``);
|
||||
- deklarative TASY-Mapping-Tabelle und Import-Wizard (Preview,
|
||||
Sprungwarnung > 10 %, explizite Bestätigung, versionierte Werte);
|
||||
- **Meldewesen/Belege (AP5/AP6, GP7):** ELDA-Fixsatz-Framework
|
||||
(``models/elda.py``), Lohnzettel Finanz L16 + Arbeitsstättenmeldung
|
||||
(``models/lohnzettel_l16.py``, DM-ORG 42.7.0, PDF-verifizierte
|
||||
Satzstrukturen), Kind-Datenmodell für die FB+-Wartung
|
||||
(``models/kind.py`` — Nutzer-Entscheidung: FB+ rechnet NICHT im
|
||||
Lohnsteuerkern, Arbeitnehmerveranlagung), Meldewesen-Stammdaten
|
||||
(BKNR/Lohnsteuernummer, GKZ am Partner, VSNR-Formatprüfung, eSV-
|
||||
Abmeldegrund-Mapping), Belege Lohnzettel AT/Monatsdienstliste/
|
||||
Monatsjournal als QWeb (``report/belege_reports.xml``);
|
||||
- folgen nach Freigabe der Bgld.-APs: Meldewesen (L16/FinanzOnline,
|
||||
eSV/ELDA, AP5), Belege (AP6).
|
||||
|
||||
@@ -48,6 +68,8 @@ Kein VRV-Bezug: die Gemeinde-Buchhaltung (Anlage 3b, Ansatz/MVAG) läuft
|
||||
'data/rule_parameters_sv_2026.xml',
|
||||
'data/tasy_mapping.xml',
|
||||
'views/tasy_views.xml',
|
||||
'views/meldewesen_views.xml',
|
||||
'report/belege_reports.xml',
|
||||
],
|
||||
'countries': ['at'],
|
||||
'license': 'LGPL-3',
|
||||
|
||||
Reference in New Issue
Block a user