Files
odoo-at-payroll/addons/l10n_at_hr_payroll_private/views/endabrechnung_views.xml
T
fegger 850e99df20 [IMP] l10n_at_hr_payroll_private: add premiums at termination under § 16 AngG (AP14-B)
Close the premium-at-termination gap of the end-of-employment cycle: an aliquote periodic premium (annual, sales, bonus, 15th payment) whose entitlement period outlasts the termination is covered by § 16 AngG — the pro-rata amount follows the ratio of the elapsed service to the entitlement period, is due for employees regardless of the termination ground (loss clauses void, 9 ObA 82/13v), while performance-linked premiums for workers may validly hinge on non-fault grounds and premiums tied to a specific service (e.g. Bilanzgeld) are not aliquote without the service (lb-end-18). Two routes: PRAM_END (bemessung sonstig) covers premiums paid with the end-of-employment run — a special payment inside the annual sixth at the flat 6 % rate with the 620 EUR free amount and 2 615 EUR free threshold checked by the core, SV as special-payment contributions (KV/PV/AV without AK/WF) against the monthly HBG and the annual SZ cap, fully payroll-levy liable and BV-contributory at the uncapped 1.53 % rate (§ 6 Abs 1 iVm Abs 5 BMSVG). PRAM_END_TARIF (bemessung laufend plus the core l10n_at_s67_abs6_ueberhang flag) covers premiums due at a pre-agreed maturity because their amount only becomes determinable after the entitlement period ends (e.g. balance-sheet premiums): taxed like running pay with the payment-month tariff without touching the annual sixth (§ 67 Abs 10, not a § 67 Abs 8 lit c case per 98/14/0009 = ARD 5483/14/2004) — the SV contribution month rolls back into the termination year via a new payslip field consumed by an extended branch of the existing SV-basis-by-Beitragsmonat override (historical caps and rates, E-MVB 044-01-00-006), while the LSt stays in the payment month. The wizard section previews the § 16 pro-rata amount from the full premium, entitlement period and elapsed service, keeps the payable amount confirmable (KB agreement), requires the service/claim-basis confirmation, enforces the contribution month for the deferred case, and lands the memo on the payslip for the separate Lohnzettel workflow (LStR Rz 911a); the existing manual PRAM rule is untouched. The account matrix posts both rules to 6230. Verified against the original statute text in .ris/ (AngG § 16, BMSVG § 6 Abs 5) and the knowledge-base source lb-end-18; the full SZ roll-forward (storno plus recomputation against the termination year's SZ annual cap) and the mBGM storno/re-transmission remain open in the GP7 payroll-reporting track, and the BV attribution of the deferred premium remains in the payment month as a documented approximation.

Version 19.0.16.0.0 (private)
2026-09-15 13:33:49 +02:00

216 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- AP14-A: Endabrechnungs-Wizard (Beendigung) — sammelt UEL, -->
<!-- Abgangsentschädigung, Zeitguthaben/-schulden und offene -->
<!-- Vorschüsse und legt den Endabrechnungs-Lauf vorbefüllt an. -->
<record id="endabrechnung_wizard_form_view" model="ir.ui.view">
<field name="name">l10n.at.payroll.endabrechnung.wizard.form</field>
<field name="model">l10n.at.payroll.endabrechnung.wizard</field>
<field name="arch" type="xml">
<form string="Endabrechnung (Beendigung)">
<group>
<group string="Beendigung">
<field name="employee_id"/>
<field name="austrittsdatum"/>
<field name="departure_reason_id" options="{'no_create': True}"/>
</group>
<group string="Offene Posten">
<field name="uel_tage"/>
<field name="zeit_guthaben_stunden"/>
<field name="zeit_schulden_stunden"/>
<field name="abgang_betrag"/>
<field name="abgang_ffrist_tage"
invisible="not abgang_betrag"/>
<field name="vorschuss_saldo"/>
</group>
</group>
<group string="Abfertigung Alt (§§ 23/23a AngG)">
<field name="abf_alt_aktiv"/>
<group invisible="not abf_alt_aktiv">
<field name="abf_alt_anspruchsart"/>
<field name="abf_alt_dienstzeit_monate"/>
<field name="abf_alt_monatsentgelt"/>
<field name="abf_alt_laufender_arbeitslohn"/>
<field name="abf_alt_monatslohnsteuer"/>
<field name="abf_alt_mehrfach"/>
<field name="abf_alt_nachweis" placeholder="Dienstzeitnachweis, Alt-/Neu-Status und Anspruchsbegründung"/>
<field name="abf_alt_anspruch_bestaetigt"/>
</group>
<group invisible="not abf_alt_aktiv">
<field name="abf_alt_betrag_vorschau"/>
<field name="abf_alt_steuer_vervielfachung_vorschau"/>
<field name="abf_alt_steuer_6_vorschau"/>
<field name="abf_alt_lohnsteuer_vorschau"/>
<field name="abf_alt_netto_vorschau"/>
</group>
</group>
<group string="Freiwillige Abfertigung (§ 67 Abs 6 EStG)">
<field name="abf_frei_aktiv"/>
<group invisible="not abf_frei_aktiv">
<field name="abf_frei_betrag"/>
<field name="abf_frei_basis_12"/>
<field name="abf_frei_dienstzeit_monate"/>
<field name="abf_frei_erhaltene_abfertigungen"/>
<field name="abf_frei_gesetzlicher_anspruch"/>
<field name="abf_frei_nachweis" placeholder="Vordienstzeiten zum Lohnkonto (§ 76 EStG), erhaltene Abfertigungen, keine Anspruchsumwandlung"/>
<field name="abf_frei_anspruch_bestaetigt"/>
</group>
<group invisible="not abf_frei_aktiv">
<field name="abf_frei_z1_vorschau"/>
<field name="abf_frei_z2_vorschau"/>
<field name="abf_frei_kuerzung_vorschau"/>
<field name="abf_frei_beguenstigt_vorschau"/>
<field name="abf_frei_ueberhang_vorschau"/>
<field name="abf_frei_lst_vorschau"/>
<field name="abf_frei_netto_vorschau"/>
</group>
</group>
<group string="Vergleichssumme (§ 67 Abs 8 lit a EStG)">
<field name="vergleich_aktiv"/>
<group invisible="not vergleich_aktiv">
<field name="vergleich_rest_betrag"/>
<field name="vergleich_bv_betrag"/>
<field name="vergleich_bv_anwartschaft_bestaetigt"
invisible="not vergleich_bv_betrag"/>
<field name="vergleich_nachweis" placeholder="Aufgliederung der Vergleichsvereinbarung, strittige Ansprüche, BV-Zeiträume, Pauschalvergleich: Verhältnisfaktor"/>
<field name="vergleich_aufteilung_bestaetigt"/>
</group>
<group invisible="not vergleich_aktiv">
<field name="vergleich_fuenftel_frei_vorschau"/>
<field name="vergleich_tarif_basis_vorschau"/>
<field name="vergleich_bv_lst_vorschau"/>
</group>
</group>
<group string="Prämie bei Beendigung (§ 16 AngG)">
<field name="pram_aktiv"/>
<group invisible="not pram_aktiv">
<field name="pram_voller_betrag"/>
<field name="pram_anspruchszeitraum_monate"/>
<field name="pram_dienstzeit_monate"/>
<field name="pram_aliquot_vorschau"/>
<field name="pram_betrag"/>
<field name="pram_zahlungsart"/>
<field name="pram_beitragsmonat"
invisible="pram_zahlungsart != 'spaeter_faellig'"/>
<field name="pram_nachweis" placeholder="KV-/Vertragsvereinbarung, Aliquotierung, Fälligkeitszeitpunkt, Leistungsverknüpfung"/>
<field name="pram_leistung_bestaetigt"/>
</group>
</group>
<group string="Vorschau (§ 10 UrlG, § 11 Abs 2 ASVG)">
<group>
<field name="uel_lfd_vorschau"/>
<field name="uel_sz_vorschau"/>
</group>
<group>
<field name="sv_tage_vorschau"/>
</group>
</group>
<footer>
<button name="action_payslip" type="object"
string="Endabrechnungs-Lauf anlegen"
class="btn-primary"/>
<button string="Abbrechen" special="cancel"
class="btn-secondary"/>
</footer>
</form>
</field>
</record>
<record id="hr_payslip_view_form_abf_alt" model="ir.ui.view">
<field name="name">hr.payslip.form.abfertigung.alt</field>
<field name="model">hr.payslip</field>
<field name="inherit_id" ref="hr_payroll.view_hr_payslip_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook" position="inside">
<page string="Abfertigung Alt" name="l10n_at_abfertigung_alt"
invisible="not l10n_at_abf_alt_mehrfach">
<group>
<group>
<field name="l10n_at_abf_alt_anspruchsart" readonly="state != 'draft'"/>
<field name="l10n_at_abf_alt_dienstzeit_monate" readonly="state != 'draft'"/>
<field name="l10n_at_abf_alt_monatsentgelt" readonly="state != 'draft'"/>
</group>
<group>
<field name="l10n_at_abf_alt_laufender_arbeitslohn" readonly="state != 'draft'"/>
<field name="l10n_at_abf_alt_monatslohnsteuer" readonly="state != 'draft'"/>
<field name="l10n_at_abf_alt_mehrfach" readonly="state != 'draft'"/>
<field name="l10n_at_abf_alt_nachweis" readonly="state != 'draft'"/>
</group>
</group>
</page>
</xpath>
</field>
</record>
<record id="hr_payslip_view_form_abf_frei" model="ir.ui.view">
<field name="name">hr.payslip.form.abfertigung.frei</field>
<field name="model">hr.payslip</field>
<field name="inherit_id" ref="hr_payroll.view_hr_payslip_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook" position="inside">
<page string="Freiwillige Abfertigung" name="l10n_at_abfertigung_frei"
invisible="not l10n_at_abf_frei_basis_12 and not l10n_at_abf_frei_dienstzeit_monate and not l10n_at_abf_frei_erhaltene_abfertigungen and not l10n_at_abf_frei_gesetzlicher_anspruch">
<group>
<group>
<field name="l10n_at_abf_frei_basis_12" readonly="state != 'draft'"/>
<field name="l10n_at_abf_frei_dienstzeit_monate" readonly="state != 'draft'"/>
<field name="l10n_at_abf_frei_erhaltene_abfertigungen" readonly="state != 'draft'"/>
</group>
<group>
<field name="l10n_at_abf_frei_gesetzlicher_anspruch" readonly="state != 'draft'"/>
<field name="l10n_at_abf_frei_nachweis" readonly="state != 'draft'"/>
</group>
</group>
</page>
</xpath>
</field>
</record>
<record id="hr_payslip_view_form_vergleich" model="ir.ui.view">
<field name="name">hr.payslip.form.vergleich</field>
<field name="model">hr.payslip</field>
<field name="inherit_id" ref="hr_payroll.view_hr_payslip_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook" position="inside">
<page string="Vergleich (§ 67 Abs 8 lit a)"
name="l10n_at_vergleich"
invisible="not l10n_at_vergleich_nachweis">
<group>
<field name="l10n_at_vergleich_nachweis"
readonly="state != 'draft'"/>
</group>
</page>
</xpath>
</field>
</record>
<record id="hr_payslip_view_form_pram_end" model="ir.ui.view">
<field name="name">hr.payslip.form.pram.end</field>
<field name="model">hr.payslip</field>
<field name="inherit_id" ref="hr_payroll.view_hr_payslip_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook" position="inside">
<page string="Prämie bei Beendigung (§ 16 AngG)"
name="l10n_at_pram_end"
invisible="not l10n_at_pram_nachweis">
<group>
<field name="l10n_at_pram_nachweis"
readonly="state != 'draft'"/>
</group>
</page>
</xpath>
</field>
</record>
<record id="action_endabrechnung_wizard" model="ir.actions.act_window">
<field name="name">Endabrechnung (Beendigung)</field>
<field name="res_model">l10n.at.payroll.endabrechnung.wizard</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem id="menu_l10n_at_payroll_endabrechnung"
name="Endabrechnung (Beendigung)"
parent="hr_work_entry_enterprise.menu_hr_payroll_root"
action="action_endabrechnung_wizard" sequence="42"/>
</odoo>