diff --git a/addons/l10n_at_hr_payroll_private/__manifest__.py b/addons/l10n_at_hr_payroll_private/__manifest__.py index ca81b5f..b654ede 100644 --- a/addons/l10n_at_hr_payroll_private/__manifest__.py +++ b/addons/l10n_at_hr_payroll_private/__manifest__.py @@ -1,7 +1,7 @@ # Part of the odoo-at-payroll project. License: LGPL-3. { 'name': 'Österreich - Privatwirtschaft Personalverrechnung (General-AT)', - 'version': '19.0.8.0.0', + 'version': '19.0.8.1.0', 'author': 'ixsol / gem360', 'website': 'https://gem360.at', 'category': 'Human Resources/Payroll', @@ -94,6 +94,7 @@ gem360-Brücke). 'l10n_at', 'hr_payroll_account_iso20022'], 'data': [ 'security/ir.model.access.csv', + 'security/security_rules.xml', 'data/kv_seed.xml', 'data/l10n.at.payroll.kv.gruppe.csv', 'data/l10n.at.payroll.kv.gruppe.stufe.csv', @@ -112,10 +113,12 @@ gem360-Brücke). 'views/bv_views.xml', 'views/meldewesen_views.xml', 'views/vertragsfelder_views.xml', + 'views/mitarbeiter_views.xml', 'report/gp8_reports.xml', 'report/bv_report.xml', ], - 'countries': ['at'], + 'demo': ['data/demo.xml'], + 'countries': ['at'], 'license': 'LGPL-3', 'installable': True, 'auto_install': False, diff --git a/addons/l10n_at_hr_payroll_private/data/demo.xml b/addons/l10n_at_hr_payroll_private/data/demo.xml new file mode 100644 index 0000000..af54277 --- /dev/null +++ b/addons/l10n_at_hr_payroll_private/data/demo.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + AT Demo GmbH + 1412345678 + 123456789 + niederoesterreich + + + + + Demo 40h Mo-Fr + Europe/Vienna + 8 + + + + + + Anna Angestellte + 1990-05-15 + female + + + + 2026-01-01 + 2026-01-01 + 1234150590 + female + + + 1 + + + + + + + Max Arbeiter + 1985-03-20 + male + + + + 2026-01-01 + 2026-01-01 + 5678203857 + male + + + 1 + 1800.0 + + arbeiter + + + + + + Lena Lehrling + 2008-09-10 + female + + + + 2026-01-01 + 2026-01-01 + 9010091057 + female + + + 1 + + + + + + + \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll_private/docs/benutzerhandbuch.md b/addons/l10n_at_hr_payroll_private/docs/benutzerhandbuch.md new file mode 100644 index 0000000..17814b3 --- /dev/null +++ b/addons/l10n_at_hr_payroll_private/docs/benutzerhandbuch.md @@ -0,0 +1,199 @@ +# Benutzerhandbuch — AT-Payroll (Privatwirtschaft) + +## Übersicht + +Dieses Modul ermöglicht die vollständige monatliche Lohnverrechnung für +die österreichische Privatwirtschaft nach Kollektivvertrag (KV) auf +Basis von Odoo 19. Es deckt ab: + +| Baustein | Funktion | +|---|---| +| Entgelt (GP2) | KV-Gehalt, AZG-Zuschläge (ÜStd, Nacht, So/Fei, Mehrarbeit), Urlaubsentgelt, 13./14. Bezug | +| Lohnsteuer (GP3) | § 66 kumulativ, § 67 Sechstel/Fixsätze, § 68-Steuerfreiheiten | +| SV/DB (GP4) | ÖGK-Beitragssätze, Geringfügigkeit, § 49-Freibeträge, FLAF, KommSt, DZ | +| Abfertigung Neu (GP5) | BMSVG 1,53 %, Anwartschaft, Endabrechnung | +| FI-Buchung (GP6) | UGB-Konten (KFS/BW 6), Journal SLR | +| Meldewesen (GP7) | mBGM/JASV, Versichertenmeldung, Lohnzettel L16, Arbeitsstättenmeldung | +| Belege (GP7) | Lohnzettel AT, Monatsdienstliste, Monatsjournal | +| Jahreswechsel (GP8) | Fristenkalender, Kontrollsechstel, §-77-Aufrollung | + +--- + +## 1. Stammdaten anlegen + +### 1.1 Unternehmen (Company) + +Öffnen Sie **Einstellungen → Unternehmen** und wählen Sie Ihr +Unternehmen. Im Reiter **„Lohnverrechnung (AT)"** pflegen Sie: + +| Feld | Beschreibung | Pflicht | +|---|---|---| +| Beitragskontonummer (BKNR) | 10-stellige eSV-Nummer (z. B. 1412345678) | Ja — ohne sie brechen alle Meldewesen-Läufe ab | +| Lohnsteuernummer | 9-stellig: 2 Stellen Finanzamt + 7 Stellen Steuernummer | Ja — für L16 | +| Bundesland | Betriebsstätten-Bundesland (steuert DZ-Satz) | Empfohlen | +| WKO-Mitglied | Aktivieren, wenn Ihr Unternehmen WKO-Mitglied ist (DZ-Pflicht) | Optional | + +### 1.2 Mitarbeiter:in + +Öffnen Sie **Personal → Mitarbeiter:innen** und legen Sie eine:n +Mitarbeiter:in an. Im Payroll-Bereich des Formulars: + +1. **KV-Einstufung**: Wählen Sie den Kollektivvertrag, die + Verwendungsgruppe und die Erfahrungsstufe +2. **SV-Stichtage & Status** (GP8): Setzen Sie bei Bedarf + Satzausschaltungen (ALV ab 63, UV ab 60, PV-Bonusphase) und + Status-Flags (Lehrling, fallweise, Familienabsetzbetrag) +3. **Abfertigung Neu** (GP5): Standardmäßig aktiviert (BMSVG); + wählen Sie die MV-Kasse und pflegen Sie ggf. Erträge aus dem + Kassen-Auszug +4. **All-in** (§ 2g AVRAG): Bei All-in-Verträgen die + Überstundenpauschale und den ausgewiesenen Grundlohn eintragen +5. **Versicherungsnummer (ssnid)**: 10-stellig, Format LLLPTTMMJJ + — **Pflicht für alle Meldewesen-Läufe** + +### 1.3 Versichertenmeldung (Anmeldung) + +Bei Eintritt eines:r neuen Mitarbeiter:in: + +1. Öffnen Sie **Meldewesen → Versichertenmeldung** +2. Klicken Sie auf **„Meldungen erzeugen (Datei)"** +3. Der Wizard erkennt offene Anmeldungen automatisch (Event- + Erkennung über die Meldungs-Registry) und erzeugt die ELDA-Datei +4. Übertragen Sie die Datei über das ELDA-Portal des Mandanten + +--- + +## 2. Monatsabrechnung + +### 2.1 Lohnlauf erstellen + +1. Öffnen Sie **Payroll → Lohnläufe** und erstellen Sie einen Lauf + für den Abrechnungsmonat +2. Fügen Sie die Mitarbeiter:innen hinzu (oder nutzen Sie den + Batch-Modus für alle aktiven AN) +3. Klicken Sie auf **„Abrechnen"** — die Engine berechnet: + - KV-Grundentgelt (Katalog oder Überzahlung) + - AZG-Zuschläge (aus Work-Entries/Zeiterfassung) + - Sonderzahlungen B13 (13. Bezug, z. B. November) und B14 + (14. Bezug, bei Urlaubsantritt oder Austritt) + - Lohnsteuer (§ 66 kumulativ, § 67 Sechstel/Fixsätze) + - SV-Beiträge (ÖGK DN+DG, historisch versioniert je Beitragsmonat) + - Lohnnebenkosten (FLAF-DB, KommSt, DZ) + - BV-Beitrag (1,53 % Abfertigung Neu) +4. Prüfen Sie das **Netto** und bestätigen Sie den Lauf + +### 2.2 FI-Buchung + +Nach Bestätigung des Laufes bucht Odoo automatisch auf die +UGB-Konten (KFS/BW 6). Prüfen Sie: + +- **Aufwand**: Gehälter (6200/6000), SV-DG (6560/6500), BV (6440), + KommSt (6660), FLAF (6661), DZ (6662) +- **Verbindlichkeiten**: SV (3600), LSt (3540), FLAF (3541), + KommSt (3550), DZ (3542) +- **Netto**: Lohnverbindlichkeit (3850) + +--- + +## 3. Meldewesen (monatlich) + +### 3.1 mBGM/JASV (SV-Meldung) + +**Frist: 15. des Folgemonats** (Gutschriftprinzip) + +1. Öffnen Sie **Meldewesen → mBGM (JASV)** +2. Erstellen Sie einen Eintrag für den Beitragsmonat +3. Klicken Sie auf **„Lauf erzeugen (Datei)"** +4. Der Wizard prüft: BKNR vorhanden, VSNR je AN valide, Tarifsätze + parametrisiert (fehlende BSGR → listenweiser Abbruch) +5. Laden Sie die Datei ins ELDA-Portal hoch + +### 3.2 Versichertenmeldung (bei Ein-/Austritt) + +- **Anmeldung (M3)**: vor Arbeitsantritt — wird automatisch erkannt +- **Abmeldung (M4)**: innerhalb von 7 Kalendertagen nach + Beschäftigungsende +- **Fallweise (MA)**: je Beschäftigungstag vor Arbeitsantritt + +### 3.3 Lohnzettel L16 (jährlich) + +**Frist: Ende Februar des Folgejahres** (via ELDA) + +1. Öffnen Sie **Meldewesen → Lohnzettel Finanz (L16)** +2. Erstellen Sie einen Eintrag für das Abrechnungsjahr +3. Klicken Sie auf **„Lauf erzeugen (Dateien)"** +4. Es werden **zwei Dateien** erzeugt: + - `l16__.txt` — der Lohnzettel (BEST LF) + - `arbeitsstaette_.txt` — die Arbeitsstättenmeldung (BEST AD) +5. Beide Dateien werden über ELDA übertragen + +--- + +## 4. Belege drucken + +| Beleg | Druckort | Inhalt | +|---|---|---| +| **Lohnzettel (AT)** | Lohnabrechnung → Drucken | Bezüge, Abzüge, DG-Anteile, Netto | +| **Monatsdienstliste** | Lohnlauf → Drucken | mBGM-Kontrollgrößen je AN | +| **Monatsjournal** | Lohnlauf → Drucken | Lohnart-Summen je Lauf | +| **All-in-Deckungsrechnung** | Lohnabrechnung → Drucken | Pauschale vs. Bezüge | +| **DAG-Ausweis** | Lohnlauf → Drucken | § 1 DAG (geringfügig Beschäftigte) | + +--- + +## 5. Fristenkalender + +Öffnen Sie **Meldewesen → Fristenkalender**. Der Kalender zeigt: + +- **Monatliche Fristen**: SV 15., DB/DZ/KommSt 15. des Folgemonats +- **Jahresfristen**: L16/Arbeitsstätte/§-109a Ende Februar, + KommSt-Jahreserklärung Ende März + +Fristen werden automatisch per Cron erzeugt (monatlich am 1.). +Überfällige Fristen werden rot markiert. Klicken Sie auf den +Pfeil-Button, um direkt zur zugehörigen Deklaration zu springen. + +--- + +## 6. Jahreswechsel + +### 6.1 KV-Runde + +1. Neue KV-Gehaltstabellen über den **KV-Katalog-Import** eingeben + (Paste oder CSV) +2. Neue `gueltig_ab`-Versionen werden automatisch angelegt; + historische Werte bleiben unberührt + +### 6.2 LSt/SV-Parameterpflege + +1. Neue Jahreswerte in `rule_parameters_.xml` nachpflegen + (Beschaffung: „Beitragsrechtliche Werte" von + sozialversicherung.at; LSt-Tarif vom BMF) +2. Beispiel 2027: `data/rule_parameters_2027.xml` enthält + bereits die Struktur + +### 6.3 Kontrollsechstel-Prüfung + +1. Öffnen Sie **Meldewesen → Jahres-Retro-/Aufrollungslauf** +2. Wählen Sie das Jahr und klicken Sie auf **„Jahresdaten prüfen"** +3. Der Wizard zeigt je AN den §-67-Überhang und ob die + Günstig-Aufrollung (Tarif statt Fixsätze) günstiger wäre + +--- + +## 7. BV-Endabrechnung (Austritt) + +Bei Austritt eines:r im BMSVG-Systems verbleibenden AN: + +1. Öffnen Sie **Abfertigung Neu → BV-Endabrechnung (Austritt)** +2. Wählen Sie den:die Mitarbeiter:in und die Beendigungsart +3. Der Wizard prüft: 36 Beitragsmonate? § 14 Abs 2-Matrix + (AN-Kündigung, verschuldete Entlassung, unberechtigter Austritt) +4. Zeigt Anwartschaft (Beiträge + Erträge) und Fristen + +--- + +## Support + +Bei Fragen wenden Sie sich an Ihren Lohnverrechnungs-Dienstleister. +Technische Dokumentation: `README.md` und `docs/` im Modul. \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll_private/security/security_rules.xml b/addons/l10n_at_hr_payroll_private/security/security_rules.xml new file mode 100644 index 0000000..c3ced0a --- /dev/null +++ b/addons/l10n_at_hr_payroll_private/security/security_rules.xml @@ -0,0 +1,33 @@ + + + + + + mBGM: eigene Company + + [('company_id', 'in', company_ids)] + + + + mBGM-Zeile: eigene Company + + [('mbgm_id.company_id', 'in', company_ids)] + + + + VR: eigene Company + + [('company_id', 'in', company_ids)] + + + + VR-Event: eigene Company + + [('company_id', 'in', company_ids)] + + + \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll_private/views/mitarbeiter_views.xml b/addons/l10n_at_hr_payroll_private/views/mitarbeiter_views.xml new file mode 100644 index 0000000..4b0b9bd --- /dev/null +++ b/addons/l10n_at_hr_payroll_private/views/mitarbeiter_views.xml @@ -0,0 +1,38 @@ + + + + + + + + + hr.employee.form.l10n_at_fallweise_allin + hr.employee + + + + + + + + + + + + + + + + res.company.form.l10n.at.nschab + res.company + + + + + + + + \ No newline at end of file