diff --git a/addons/l10n_at_gemeinde_payroll/__manifest__.py b/addons/l10n_at_gemeinde_payroll/__manifest__.py index 3e5de0b..08846c9 100644 --- a/addons/l10n_at_gemeinde_payroll/__manifest__.py +++ b/addons/l10n_at_gemeinde_payroll/__manifest__.py @@ -1,7 +1,7 @@ -# Part of the gem360 onboarding. See LICENSE / project docs for details. +# Part of the odoo-at-payroll project. License: LGPL-3. { 'name': 'Österreich - Gemeinde-Personalverrechnung (Bgld. GemBG)', - 'version': '19.0.1.3.0', + 'version': '19.0.1.4.0', 'author': 'ixsol / gem360', 'website': 'https://gem360.at', 'category': 'Human Resources/Payroll', @@ -11,54 +11,47 @@ Gemeinde-Personalverrechnung für österreichische Gemeinden Monatsverrechnung für Bedienstete burgenländischer Gemeinden auf der Odoo-19 ``hr_payroll``-Engine gemäß **Burgenländischem -Gemeindebedienstetengesetz 2014** (LGBl. Nr. 42/2014): +Gemeindebedienstetengesetz 2014** (LGBl. Nr. 42/2014). -- privatrechtliche Dienstverhältnisse (keine Beamten, kein - Kollektivvertrag) — Entlohnungsgruppen/-stufen, Besoldungsdienstalter +Der sektor-neutrale Bundes-Kern (SV-Werte, später Lohnsteuer und +Meldewesen) liegt im Modul ``l10n_at_hr_payroll`` und wird hier +konsumiert. Dieses Modul enthält die GemBG-Fachlogik: + +- **AP1 Katalogmodell:** Entlohnungsgruppen/-stufen, Besoldungsdienstalter und Vorrückungen nach dem IVa. Hauptstück (§§ 132 ff, ab 1. 1. 2021), - Werte aus den jährlichen Bgld. Bezügeanpassungs-Sammelgesetzen; -- quartalsweise Sonderzahlung (50 % je Kalendervierteljahr), Zulagen - (u. a. Kinderzulage, Funktions-, Erschwernis-, Journaldienst-), - Über-/Mehrdienstleistung, Jubiläumszuwendung, Teilzeit; -- Lohnsteuer (§ 33/§ 68 EStG), SV-Beiträge und öffentlicher - FLAF-Dienstgeberbeitrag (ASVG), Geringfügigkeit; -- Melde-Dateien L16 (FinanzOnline) und eSV/ELDA-XML (Übertragung beim - Kunden/Steuerberater); -- FI-Buchung auf den VRV-2015-Kontenplan (Anlage 3b) mit Ansatz-/MVAG- - Attribution über ``l10n_at_vrv2015``. + Werte aus den jährlichen Bgld. Bezügeanpassungs-Sammelgesetzen (Seed + 2026: 35 Gruppen, 433 Werte), Vorrückungs-Wizard (§ 66 Abs 2); +- **AP2 Entgelt-Engine:** Structure „Gemeindebedienstete (Bgld. GemBG + 2014)" mit Regeln für Monatsentgelt (inkl. Ausbildungsphase/Teilzeit), + Kinderzulage (§ 61, bei Teilzeit ungekürzt), Funktionszulage (§ 62), + Über-/Mehrdienstleistung (§ 76, Tag/Nacht), Journaldienst (§ 79), + Sonn-/Feiertag (§ 78), Bereitschaft (§ 80), Erschwernis (§ 83), + Jubiläum (§ 89), Fahrtkosten (§ 88), quartalsweise Sonderzahlung + (§ 133n) und Netto-Summe. + +Lohnsteuer (AP3), SV-Abzüge/DG-Beiträge als Regeln (AP4), Meldewesen +(AP5), Belege (AP6) folgen dem freigegebenen Implementierungsplan; die +FI-Buchung auf den VRV-2015-Kontenplan (Anlage 3b) mit Ansatz-/MVAG- +Attribution läuft über die Brücke ``l10n_at_gemeinde_payroll_vrv`` im +gem360-Repo (AP7). Mehr-Bundesland-Architektur: Landes-Kataloge und landesspezifische Regeln sind von Anfang an getrennt (Burgenland zuerst). -**Status:** AP1 (Katalogmodell) und SV-Wertelayer (AP4-Basis, TASY) implementiert: -Entlohnungsgruppen/-stufen mit Jahresversionierung aus den Bezüge- -anpassungs-Tabellen (Seed 2026: 35 Gruppen, 433 Werte), GemBG-Felder auf -der Payroll-Version (Entlohnungsgruppe, Stufe, Besoldungsdienstalter, -Vorrückungstermin nach § 66 Abs 2) mit Vorrückungs-Wizard; SV-Werte 2026 -als ``hr.rule.parameter``-Seed (aus ÖGK TASY-LSWH-Export generiert und -gegen den offiziellen SV-Werte-Report gespiegelt) inkl. deklarativer -TASY-Mapping-Tabelle und Import-Wizard (Preview, Sprungwarnung, -explizite Bestätigung, versionierte Werte). Strukturen, Regeln, -Meldewesen und VRV-Buchung folgen dem freigegebenen Implementierungsplan — -Grundlagen: ``personalverrechnung/PLAN-payroll-bgld.md``, -``personalverrechnung/RECHTSQUELLEN-Bgld.md``, -``personalverrechnung/IMPLEMENTIERUNGSPLAN-Bgld.md``, -``personalverrechnung/PLAN-TASY-SV-Import.md`` und der -``payroll``-Agent-Skill. +Grundlagen: ``personalverrechnung/`` (PLAN-payroll-bgld.md, +RECHTSQUELLEN-Bgld.md, IMPLEMENTIERUNGSPLAN-Bgld.md, +PLAN-repo-split.md) und der ``payroll``-Agent-Skill. """, - 'depends': ['hr_payroll', 'hr_payroll_account', 'l10n_at_vrv2015'], + 'depends': ['l10n_at_hr_payroll', 'hr_payroll', 'hr_payroll_account'], 'data': [ 'security/ir.model.access.csv', 'data/gemeinde.payroll.entlohnungsgruppe.csv', 'data/gemeinde.payroll.entlohnungsstufe.csv', - 'data/rule_parameters_2026.xml', 'data/rule_parameters_entgelt.xml', - 'data/tasy_mapping.xml', 'data/payroll_structure_bgld.xml', 'data/salary_rules_bgld_entgelt.xml', 'views/entlohnung_views.xml', 'views/hr_version_bgld_views.xml', - 'views/tasy_views.xml', ], 'countries': ['at'], 'license': 'LGPL-3', diff --git a/addons/l10n_at_gemeinde_payroll/models/__init__.py b/addons/l10n_at_gemeinde_payroll/models/__init__.py index b7a35a8..826da29 100644 --- a/addons/l10n_at_gemeinde_payroll/models/__init__.py +++ b/addons/l10n_at_gemeinde_payroll/models/__init__.py @@ -1,5 +1,4 @@ # Part of the gem360 onboarding. See LICENSE / project docs for details. from . import entlohnung from . import hr_version_bgld -from . import hr_version_entgelt -from . import tasy \ No newline at end of file +from . import hr_version_entgelt \ No newline at end of file diff --git a/addons/l10n_at_gemeinde_payroll/security/ir.model.access.csv b/addons/l10n_at_gemeinde_payroll/security/ir.model.access.csv index f347fac..3ba7ed1 100644 --- a/addons/l10n_at_gemeinde_payroll/security/ir.model.access.csv +++ b/addons/l10n_at_gemeinde_payroll/security/ir.model.access.csv @@ -2,8 +2,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_gemeinde_payroll_entlohnungsgruppe_user,Gemeinde Payroll Entlohnungsgruppe User,model_gemeinde_payroll_entlohnungsgruppe,hr_payroll.group_hr_payroll_user,1,0,0,0 access_gemeinde_payroll_entlohnungsgruppe_manager,Gemeinde Payroll Entlohnungsgruppe Manager,model_gemeinde_payroll_entlohnungsgruppe,hr_payroll.group_hr_payroll_manager,1,1,1,1 access_gemeinde_payroll_entlohnungsstufe_user,Gemeinde Payroll Entlohnungsstufe User,model_gemeinde_payroll_entlohnungsstufe,hr_payroll.group_hr_payroll_user,1,0,0,0 -access_gemeinde_payroll_entlohnungsstufe_manager,Gemeinde Payroll Entlohnungsstufe Manager,model_gemeinde_payroll_entlohnungsstufe,hr_payroll.group_hr_payroll_manager,1,1,1,1 -access_gemeinde_payroll_tasy_mapping_user,Gemeinde Payroll TASY-Mapping User,model_gemeinde_payroll_tasy_mapping,hr_payroll.group_hr_payroll_user,1,0,0,0 -access_gemeinde_payroll_tasy_mapping_manager,Gemeinde Payroll TASY-Mapping Manager,model_gemeinde_payroll_tasy_mapping,hr_payroll.group_hr_payroll_manager,1,1,1,1 -access_gemeinde_payroll_tasy_import_wizard,Gemeinde Payroll TASY-Import Wizard,model_gemeinde_payroll_tasy_import_wizard,hr_payroll.group_hr_payroll_user,1,1,1,1 -access_gemeinde_payroll_tasy_import_line,Gemeinde Payroll TASY-Import Line,model_gemeinde_payroll_tasy_import_line,hr_payroll.group_hr_payroll_user,1,1,1,1 \ No newline at end of file +access_gemeinde_payroll_entlohnungsstufe_manager,Gemeinde Payroll Entlohnungsstufe Manager,model_gemeinde_payroll_entlohnungsstufe,hr_payroll.group_hr_payroll_manager,1,1,1,1 \ No newline at end of file diff --git a/addons/l10n_at_gemeinde_payroll/tests/__init__.py b/addons/l10n_at_gemeinde_payroll/tests/__init__.py index 7ba4fb1..1c2e461 100644 --- a/addons/l10n_at_gemeinde_payroll/tests/__init__.py +++ b/addons/l10n_at_gemeinde_payroll/tests/__init__.py @@ -1,4 +1,3 @@ # Part of the gem360 onboarding. See LICENSE / project docs for details. from . import test_katalog -from . import test_tasy_import from . import test_entgelt \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll/__init__.py b/addons/l10n_at_hr_payroll/__init__.py new file mode 100644 index 0000000..eb259b0 --- /dev/null +++ b/addons/l10n_at_hr_payroll/__init__.py @@ -0,0 +1,2 @@ +# Part of the odoo-at-payroll project. License: LGPL-3. +from . import models \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll/__manifest__.py b/addons/l10n_at_hr_payroll/__manifest__.py new file mode 100644 index 0000000..fe81106 --- /dev/null +++ b/addons/l10n_at_hr_payroll/__manifest__.py @@ -0,0 +1,41 @@ +# Part of the odoo-at-payroll project. License: LGPL-3. +{ + 'name': 'Österreich - Personalverrechnung Kern (AT Payroll Core)', + 'version': '19.0.1.0.0', + 'author': 'ixsol', + 'website': 'https://gem360.at', + 'category': 'Human Resources/Payroll', + '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- +Produkt (``l10n_at_hr_payroll_private``). Grundlagen: ``personalverrechnung/`` +(PLAN-payroll-bgld.md, RECHTSQUELLEN-Bgld.md, PLAN-repo-split.md). + +- SV-Werte 2026 als ``hr.rule.parameter``-Seed (aus ÖGK TASY-LSWH-Export + generiert und gegen den offiziellen SV-Werte-Report gespiegelt): + KV/PV/UV/AV/AK/WF/BV/IESG-Beitragssätze, Geringfügigkeitsgrenze, + Höchstbeitragsgrundlagen (monatlich/SZ), AV-Staffel § 2a AMPFG; +- deklarative TASY-Mapping-Tabelle und Import-Wizard (Preview, + Sprungwarnung > 10 %, explizite Bestätigung, versionierte Werte); +- folgen nach Freigabe der Bgld.-APs: Lohnsteuer (§ 33/§ 68 EStG, AP3), + Meldewesen (L16/FinanzOnline, eSV/ELDA, AP5), Belege (AP6). + +Kein VRV-Bezug: die Gemeinde-Buchhaltung (Anlage 3b, Ansatz/MVAG) läuft +über die Brücke ``l10n_at_gemeinde_payroll_vrv`` im gem360-Repo (AP7). +""", + 'depends': ['hr_payroll'], + 'data': [ + 'security/ir.model.access.csv', + 'data/rule_parameters_2026.xml', + 'data/tasy_mapping.xml', + 'views/tasy_views.xml', + ], + 'countries': ['at'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, +} \ No newline at end of file diff --git a/addons/l10n_at_gemeinde_payroll/data/rule_parameters_2026.xml b/addons/l10n_at_hr_payroll/data/rule_parameters_2026.xml similarity index 100% rename from addons/l10n_at_gemeinde_payroll/data/rule_parameters_2026.xml rename to addons/l10n_at_hr_payroll/data/rule_parameters_2026.xml diff --git a/addons/l10n_at_gemeinde_payroll/data/tasy_mapping.xml b/addons/l10n_at_hr_payroll/data/tasy_mapping.xml similarity index 74% rename from addons/l10n_at_gemeinde_payroll/data/tasy_mapping.xml rename to addons/l10n_at_hr_payroll/data/tasy_mapping.xml index b99034d..0003b33 100644 --- a/addons/l10n_at_gemeinde_payroll/data/tasy_mapping.xml +++ b/addons/l10n_at_hr_payroll/data/tasy_mapping.xml @@ -1,21 +1,21 @@ - + bbb GFGBTG at_sv_gfg_monatlich 1.0 - + bbb HBGALLG at_sv_hbg_monatlich 30 - + bbb HBGSZ at_sv_hbg_sz_jaehrlich @@ -24,42 +24,42 @@ - + zweig KV at_sv_kv - + zweig PV at_sv_pv - + zweig AV at_sv_av - + zweig UV at_sv_uv - + zweig IE at_sv_iesg - + zweig BV at_sv_bv - + zweig AK at_sv_ak - + zweig WF at_sv_wf diff --git a/addons/l10n_at_hr_payroll/models/__init__.py b/addons/l10n_at_hr_payroll/models/__init__.py new file mode 100644 index 0000000..bdcf067 --- /dev/null +++ b/addons/l10n_at_hr_payroll/models/__init__.py @@ -0,0 +1,2 @@ +# Part of the odoo-at-payroll project. License: LGPL-3. +from . import tasy \ No newline at end of file diff --git a/addons/l10n_at_gemeinde_payroll/models/tasy.py b/addons/l10n_at_hr_payroll/models/tasy.py similarity index 94% rename from addons/l10n_at_gemeinde_payroll/models/tasy.py rename to addons/l10n_at_hr_payroll/models/tasy.py index fd5954f..37daa21 100644 --- a/addons/l10n_at_gemeinde_payroll/models/tasy.py +++ b/addons/l10n_at_hr_payroll/models/tasy.py @@ -1,11 +1,11 @@ -# Part of the gem360 onboarding. See LICENSE / project docs for details. +# Part of the odoo-at-payroll project. License: LGPL-3. from lxml import etree from odoo import _, api, fields, models from odoo.exceptions import UserError -class GemeindePayrollTasyMapping(models.Model): +class L10nAtPayrollTasyMapping(models.Model): """Mapping TASY-Code/-Zweig -> SV-Regelparameter (hr.rule.parameter). Hält die Zuordnung deklarativ (data XML), damit der TASY-Import ohne @@ -13,7 +13,7 @@ class GemeindePayrollTasyMapping(models.Model): (z. B. BVAEB) erweiterbar bleibt. Für Tarifzweige wird an den Parameter-Code ``_dn``/``_dg`` angehängt. """ - _name = 'gemeinde.payroll.tasy.mapping' + _name = 'l10n.at.payroll.tasy.mapping' _description = 'TASY-Mapping (SV-Regelparameter)' _order = 'tasy_art, tasy_code' @@ -49,12 +49,12 @@ class GemeindePayrollTasyMapping(models.Model): f" ({art})" if art else mapping.tasy_code) -class GemeindePayrollTasyImportLine(models.TransientModel): - _name = 'gemeinde.payroll.tasy.import.line' +class L10nAtPayrollTasyImportLine(models.TransientModel): + _name = 'l10n.at.payroll.tasy.import.line' _description = 'TASY-Import: Vorschauzeile' wizard_id = fields.Many2one( - 'gemeinde.payroll.tasy.import.wizard', required=True, ondelete='cascade') + 'l10n.at.payroll.tasy.import.wizard', required=True, ondelete='cascade') parameter_code = fields.Char(required=True) name = fields.Char() alter_wert = fields.Char(string='Alter Wert', readonly=True) @@ -66,7 +66,7 @@ class GemeindePayrollTasyImportLine(models.TransientModel): "Warnzeilen werden nie automatisch übernommen.") -class GemeindePayrollTasyImportWizard(models.TransientModel): +class L10nAtPayrollTasyImportWizard(models.TransientModel): """Lädt einen jährlichen ÖGK TASY-LSWH-Export und schreibt nach expliziter Bestätigung SV-Werte als hr.rule.parameter-Werte (Versionierung über date_from, historische Werte bleiben erhalten). @@ -79,7 +79,7 @@ class GemeindePayrollTasyImportWizard(models.TransientModel): freie-Dienstnehmer-Varianten (nur DN) verlieren. Mehrdeutige Auflösungen erzeugen Warnzeilen ohne automatische Übernahme. """ - _name = 'gemeinde.payroll.tasy.import.wizard' + _name = 'l10n.at.payroll.tasy.import.wizard' _description = 'SV-Werte aus TASY-LSWH-Export importieren' file = fields.Binary(required=True, string='TASY-Export (XML)') @@ -90,7 +90,7 @@ class GemeindePayrollTasyImportWizard(models.TransientModel): default='B002', required=True, help="TASY-Code der Beschäftigtengruppe (B002 = Angestellte).") line_ids = fields.One2many( - 'gemeinde.payroll.tasy.import.line', 'wizard_id', + 'l10n.at.payroll.tasy.import.line', 'wizard_id', string='Vorschau') protocol = fields.Text(readonly=True) @@ -179,7 +179,7 @@ class GemeindePayrollTasyImportWizard(models.TransientModel): parameter_obj = self.env['hr.rule.parameter'] bbbwerte = self._parse_bbbwerte(root) - for mapping in self.env['gemeinde.payroll.tasy.mapping'].search( + for mapping in self.env['l10n.at.payroll.tasy.mapping'].search( [('tasy_art', '=', 'bbb')]): candidates = [w for w in bbbwerte if w['code'] == mapping.tasy_code and w['von'] <= stichtag <= w['bis']] @@ -197,7 +197,7 @@ class GemeindePayrollTasyImportWizard(models.TransientModel): parameter_obj, protocol)) pairs = self._resolve_zweig_pairs(root, stichtag) - for mapping in self.env['gemeinde.payroll.tasy.mapping'].search( + for mapping in self.env['l10n.at.payroll.tasy.mapping'].search( [('tasy_art', '=', 'zweig')]): variants = pairs.get(mapping.tasy_code, {}) chosen = None diff --git a/addons/l10n_at_hr_payroll/security/ir.model.access.csv b/addons/l10n_at_hr_payroll/security/ir.model.access.csv new file mode 100644 index 0000000..d8644b4 --- /dev/null +++ b/addons/l10n_at_hr_payroll/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_l10n_at_payroll_tasy_mapping_user,L10n AT Payroll TASY-Mapping User,model_l10n_at_payroll_tasy_mapping,hr_payroll.group_hr_payroll_user,1,0,0,0 +access_l10n_at_payroll_tasy_mapping_manager,L10n AT Payroll TASY-Mapping Manager,model_l10n_at_payroll_tasy_mapping,hr_payroll.group_hr_payroll_manager,1,1,1,1 +access_l10n_at_payroll_tasy_import_wizard,L10n AT Payroll TASY-Import Wizard,model_l10n_at_payroll_tasy_import_wizard,hr_payroll.group_hr_payroll_user,1,1,1,1 +access_l10n_at_payroll_tasy_import_line,L10n AT Payroll TASY-Import Line,model_l10n_at_payroll_tasy_import_line,hr_payroll.group_hr_payroll_user,1,1,1,1 \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll/tests/__init__.py b/addons/l10n_at_hr_payroll/tests/__init__.py new file mode 100644 index 0000000..34982dd --- /dev/null +++ b/addons/l10n_at_hr_payroll/tests/__init__.py @@ -0,0 +1,2 @@ +# Part of the odoo-at-payroll project. License: LGPL-3. +from . import test_tasy_import \ No newline at end of file diff --git a/addons/l10n_at_gemeinde_payroll/tests/test_tasy_import.py b/addons/l10n_at_hr_payroll/tests/test_tasy_import.py similarity index 95% rename from addons/l10n_at_gemeinde_payroll/tests/test_tasy_import.py rename to addons/l10n_at_hr_payroll/tests/test_tasy_import.py index 1da3feb..5385d86 100644 --- a/addons/l10n_at_gemeinde_payroll/tests/test_tasy_import.py +++ b/addons/l10n_at_hr_payroll/tests/test_tasy_import.py @@ -1,4 +1,4 @@ -# Part of the gem360 onboarding. See LICENSE / project docs for details. +# Part of the odoo-at-payroll project. License: LGPL-3. import base64 from datetime import date @@ -126,7 +126,7 @@ class TasyImportTest(TransactionCase): def test_02_wizard_parse_fixture(self): """Fixture: bbb Cent-Werte + Split-Variante gewinnt über freie DN.""" - wizard = self.env['gemeinde.payroll.tasy.import.wizard'].create({ + wizard = self.env['l10n.at.payroll.tasy.import.wizard'].create({ 'file': base64.b64encode(TASY_FIXTURE.encode()).decode(), 'filename': 'fixture.xml', }) @@ -146,7 +146,7 @@ class TasyImportTest(TransactionCase): def test_03_wizard_apply_versions(self): """Übernehmen schreibt versionierte Werte; Update am Stichtag.""" - wizard = self.env['gemeinde.payroll.tasy.import.wizard'].create({ + wizard = self.env['l10n.at.payroll.tasy.import.wizard'].create({ 'file': base64.b64encode(TASY_FIXTURE.encode()).decode(), 'filename': 'fixture.xml', }) @@ -158,7 +158,7 @@ class TasyImportTest(TransactionCase): self.assertTrue(value) self.assertEqual(float(value.parameter_value), 551.10) # erneuter Import am selben Stichtag aktualisiert statt zu duplizieren - wizard2 = self.env['gemeinde.payroll.tasy.import.wizard'].create({ + wizard2 = self.env['l10n.at.payroll.tasy.import.wizard'].create({ 'file': base64.b64encode(TASY_FIXTURE.encode()).decode(), 'filename': 'fixture.xml', }) @@ -179,7 +179,7 @@ class TasyImportTest(TransactionCase): if not os.path.exists(path): self.skipTest('TASY-Quelldatei nicht im Workingtree') with open(path, 'rb') as fh: - wizard = self.env['gemeinde.payroll.tasy.import.wizard'].create({ + wizard = self.env['l10n.at.payroll.tasy.import.wizard'].create({ 'file': base64.b64encode(fh.read()).decode(), 'filename': 'TASY-LSWH-Export-20260324.xml', }) diff --git a/addons/l10n_at_gemeinde_payroll/views/tasy_views.xml b/addons/l10n_at_hr_payroll/views/tasy_views.xml similarity index 78% rename from addons/l10n_at_gemeinde_payroll/views/tasy_views.xml rename to addons/l10n_at_hr_payroll/views/tasy_views.xml index 4adcf4c..569019b 100644 --- a/addons/l10n_at_gemeinde_payroll/views/tasy_views.xml +++ b/addons/l10n_at_hr_payroll/views/tasy_views.xml @@ -1,8 +1,8 @@ - gemeinde.payroll.tasy.mapping.list - gemeinde.payroll.tasy.mapping + l10n.at.payroll.tasy.mapping.list + l10n.at.payroll.tasy.mapping @@ -16,8 +16,8 @@ - gemeinde.payroll.tasy.mapping.form - gemeinde.payroll.tasy.mapping + l10n.at.payroll.tasy.mapping.form + l10n.at.payroll.tasy.mapping
@@ -40,13 +40,13 @@ TASY-Mappings (SV-Werte) - gemeinde.payroll.tasy.mapping + l10n.at.payroll.tasy.mapping list,form - gemeinde.payroll.tasy.import.wizard.form - gemeinde.payroll.tasy.import.wizard + l10n.at.payroll.tasy.import.wizard.form + l10n.at.payroll.tasy.import.wizard @@ -89,18 +89,23 @@ SV-Werte importieren (TASY) - gemeinde.payroll.tasy.import.wizard + l10n.at.payroll.tasy.import.wizard form new - + - + + + parent="menu_l10n_at_payroll_root" + action="action_tasy_import_wizard" sequence="20"/> \ No newline at end of file