mirror of
http://100.103.83.12:3003/fegger/odoo-at-payroll.git
synced 2026-09-17 08:52:45 +00:00
[IMP] l10n_at_hr_payroll: TASY-Tarifsystem-Katalog, AGRD-Auswahl, DG-Kosten-/Lohnkonten-Reports, Wr.-DAG-Grundlagen (AP0-AP3)
AP0 Variante b — TASY-Tarifsystem-Katalog: - Neue Katalogmodelle (BSGR/ERGB/Dienstgebergruppen/Tarifgruppen/ Tarifsets/Tarife/Zuordnungen/Zu-Abschläge inkl. Steuerung), models/tasy_katalog.py — Auflösung Tarifgruppe (BSGR+ERGB+DGG) -> Sätze je Verrechnungsbasis - Import-Wizard l10n.at.payroll.tasy.katalog.wizard (alle Träger, sektionsscharf, idempotent), Views/Menüs, Security - Realexport-Test gegen TASY-LSWH-Export (B001/B002 = 39,05/37,55 %) AP1 — eSV-Abmeldegründe (DM-ORG D.22): - l10n_at_agrd Char -> vollständige Selection (33 Codes), Seed der Standard-Abgangsursachen (noupdate, hr-Defaults vorverbunden), Form-/Listen-Erbe AP2a-c — Auswertungen: - Monatsjournal: eigener Dienstgeberanteile-Block (ATP_DG vorher still ausgefiltert); Fix: models/monatsreports.py war nie in models/__init__.py importiert (GP7-Reports waren toter Code) - Neuer Report Dienstgeber-Gesamtkosten (Brutto + LNK aufgeschlüsselt/ kumuliert je AN + Laufsummen, Spalten FLAF/KommSt/DZ/BV/Wr. DAG) - Jahreslohnkonto je DN + Betriebsjahreslohnkonto (Jahresbericht- Wizard, Monatsmatrix je Lohnart), report/jahresreports.xml AP3 — Wr. Dienstgeberabgabe (RIS LrW GesNr 20000133 verifiziert): - Company-Flag l10n_at_wien_dag (Kern), Fristenarten wien_dag/ wien_dag_jahres (cron-geflaggt, 15./31. 3.), Company-View-Feld, Wr.-DAG-Spalte im DG-Kosten-Report
This commit is contained in:
@@ -15,13 +15,56 @@ Dienstgeberin und der Arbeitsstätten.
|
||||
Prüfzifferalgorithmus der SVS ist nicht beschafft → nur Format/
|
||||
Plausibilität, Rest dokumentiert).
|
||||
- ``hr.departure.reason``: Mapping auf den eSV-Abmeldegrund (AGRD,
|
||||
DM-ORG D.22; Standard ``00`` sonstiger Grund mit Ende des
|
||||
Beschäftigungsverhältnisses)."""
|
||||
DM-ORG D.22 — vollständige Code-Liste als Selection, Standard
|
||||
``00`` sonstiger Grund mit Ende des Beschäftigungsverhältnisses;
|
||||
die üblichen Abgangsursachen sind im Seed vorverbunden,
|
||||
noupdate — mandantenseitig ergänzte Ursachen bleiben unberührt)."""
|
||||
from odoo import api, fields, models
|
||||
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
# eSV-Abmeldegründe, DM-ORG 42.7.0 Kapitel D.22 (AGRD – Abmeldegrund,
|
||||
# Code) — verifiziert gegen .firecrawl/ris/elda/DM-ORG_v42.7.0.txt
|
||||
# (42. Ergänzung 07/2026). Codes 26/28 existieren nicht (Lücken im
|
||||
# Katalog), Code 00 = sonstiger Grund mit Ende des DV.
|
||||
L10N_AT_AGRD = [
|
||||
('01', '01 — Kündigung durch den Dienstgeber'),
|
||||
('02', '02 — Kündigung durch den Dienstnehmer'),
|
||||
('03', '03 — Einvernehmliche Lösung'),
|
||||
('04', '04 — Zeitablauf'),
|
||||
('05', '05 — Berechtigter vorzeitiger Austritt'),
|
||||
('06', '06 — Fristlose Entlassung'),
|
||||
('07', '07 — Karenz nach MSchG / VKG'),
|
||||
('08', '08 — Präsenzdienstleistung im Bundesheer'),
|
||||
('09', '09 — Zivildienst'),
|
||||
('10', '10 — Pragmatisierung'),
|
||||
('11', '11 — Länger als 1 Monat währender unbezahlter Urlaub'),
|
||||
('12', '12 — Ummeldung'),
|
||||
('13', '13 — Tod des Dienstnehmers'),
|
||||
('14', '14 — Änderung der SV-Pflicht'),
|
||||
('15', '15 — Truppenübung'),
|
||||
('16', '16 — Pensionierung'),
|
||||
('17', '17 — Ende freier Dienstvertrag (§ 4 Abs 4 ASVG)'),
|
||||
('18', '18 — Enthebung von der Gerichtspraxis'),
|
||||
('19', '19 — Unterbrechung der Gerichtspraxis'),
|
||||
('20', '20 — Entlassung aus der Bundesbetreuung'),
|
||||
('21', '21 — Kündigung durch DN während Elternteilzeit (MSchG/VKG)'),
|
||||
('22', '22 — Unberechtigter vorzeitiger Austritt'),
|
||||
('23', '23 — Bildungskarenz gemäß § 11 AVRAG'),
|
||||
('24', '24 — Vorzeitiger Austritt gem. § 25 IO durch Dienstnehmer'),
|
||||
('25', '25 — Kündigung gem. § 25 IO durch Insolvenzverwalter:in'),
|
||||
('27', '27 — Kündigung gem. § 25 IO durch Dienstgeber'),
|
||||
('29', '29 — SV-Ende – Beschäftigung aufrecht'),
|
||||
('30', '30 — Lösung in der Probezeit durch Dienstgeber'),
|
||||
('31', '31 — Pflegekarenz (interner SV-Abmeldegrund)'),
|
||||
('32', '32 — Bildungskarenz gemäß § 12 AVRAG'),
|
||||
('33', '33 — Familienhospizkarenz (interner SV-Abmeldegrund)'),
|
||||
('34', '34 — Lösung in der Probezeit durch Dienstnehmer'),
|
||||
('00', '00 — Sonstiger Grund mit Ende des DV'),
|
||||
]
|
||||
|
||||
|
||||
class ResCompany(models.Model):
|
||||
_inherit = 'res.company'
|
||||
|
||||
@@ -36,6 +79,16 @@ class ResCompany(models.Model):
|
||||
help='9-stellig: 2 Stellen Finanzamtsnummer + 7 Stellen\n'
|
||||
'Steuernummer (Lohnzettel Finanz I1 STNRA/STNRL;\n'
|
||||
'Arbeitsstättenmeldung STNR).')
|
||||
l10n_at_wien_dag = fields.Boolean(
|
||||
string='AT Beschäftigungsort Wien (Wr. DAG)',
|
||||
help='Wiener Dienstgeberabgabe („U-Bahn-Steuer“, Wr. DAG,\n'
|
||||
'RIS LrW GesNr 20000133): 2 € je Dienstnehmer:in und\n'
|
||||
'angefangene Woche je Bestehen eines Dienstverhältnisses\n'
|
||||
'mit Beschäftigungsort Wien (§§ 1, 2, 5); Befreiungen § 3\n'
|
||||
'(z. B. Überschreiten des 55. Lebensjahres, Lehrlinge,\n'
|
||||
'≤ 10 Wochenstunden, Mutterschaftsverbote/Karenz,\n'
|
||||
'Präsenzdienst, Gebietskörperschaften); Selbstberechnung\n'
|
||||
'15. des Folgemonats, Jahreserklärung bis 31. 3. (§ 6).')
|
||||
|
||||
|
||||
class ResPartner(models.Model):
|
||||
@@ -89,8 +142,10 @@ class HrVersion(models.Model):
|
||||
class HrDepartureReason(models.Model):
|
||||
_inherit = 'hr.departure.reason'
|
||||
|
||||
l10n_at_agrd = fields.Char(
|
||||
l10n_at_agrd = fields.Selection(
|
||||
L10N_AT_AGRD,
|
||||
string='AT eSV-Abmeldegrund (AGRD)',
|
||||
help='2-stelliger Abmeldegrund-Code der Versichertenmeldung '
|
||||
'(DM-ORG D.22); Standard 00 „Sonstiger Grund mit Ende des '
|
||||
'Beschäftigungsverhältnisses“.')
|
||||
'Beschäftigungsverhältnisses“. Die Abmeldung M4 liest das '
|
||||
'Mapping dieser Abgangsursache.')
|
||||
Reference in New Issue
Block a user