Kurzarbeit – KUG anlegen als Lohnart
Automatische Ermittlung von KUG
- Neuen Grund „LAKA“ für Zeitkorrekturen in der Systemkonfiguration unter Zeiterfassung anlegen und F5 drücken
- Lohnart für die Berechnung KUG anlegen – Öffnen Sie den Menüpunkt „Zeiterfassung“ – „Lohnarten“ und erstellen Sie eine neue Lohnart. Hinterlegen Sie unter der Kartei „Inhalt“ nach Allgemeiner Definition und Speichern eine Gruppe „G1“ an um danach eine Zeitart ( „individueller SQL“ ) auswählen zu können.
- Individueller SQL (siehe SQL am Ende des Dokumentes), Interval TAG
3. Es muss ebenso die Lohnart zur Auswertung erweitert um die Zeitkontokorrektur anlegt werden.
-
- Typ Zeitkontoregelbuchung auswählen und als Korrekturgrund (aus der Systemkonfiguration zuvor) „LAKA“
4. Machen Sie eine Zuweisung der Lohnarten an die Mitarbeiter die KUG-Lohn erhalten sollen.
5. Zudem muss in Kombination die Zeitkontoregel ( z.B. „KUG“ namentlich ) anlegt werden.
-
- Typ „Lohnart“
- Lohnart „Lohnart zur Berechnung KUG“
- Grund LAKA
- Intervall: Täglich – Alle 1 Tag(e)
6. Abschließend noch die Zeitkontoregel den Mitarbeitern die KUG-Lohn Stunden erhalten sollen zuweisen.
———————————
Individueller SQL
select
case when maxkugabzug < 0 then kugtmp else case when maxkugabzug > kugtmp then 0 else kugtmp – maxkugabzug end end kug,
*
from
(
select
case when zkovorkug < 0 then
case
when (zkoaktuell+zkovorkug*-1) < 0 then
(zkoaktuell+zkovorkug*-1)*-1
else zkoaktuell+zkovorkug*-1 end else zkoaktuell end maxkugabzug,
case when tagsaldo < 0 then tagsaldo * -1 else 0 end kugtmp,
*
from
(
select ap_employee_worktime_account_at_date((select (base_date – INTERVAL ‚1 DAY‘)::DATE from ap_employee_worktime_account_get_rules(cast(‚%date%‘ as date), %employee%) ar
where ar.rule_id in (select id from employee_worktime_account_rule where name = ‚KUG‘ and deleted_at is null)), %employee%, null) zkovorkug,
(select ap_employee_worktime_account_at_date((cast(‚%date%‘ as date) – INTERVAL ‚1 DAY‘)::DATE, %employee%, null)) zkoaktuell,
(select ap_wage_item_time_type_overtime(%employee%, cast(‚%date%‘ as date), cast(‚%date%‘ as date),
(select (1, 1, ‚OVERTIME‘, null, null, null, false, null, ‚DAY‘, null, null, null, null, ‚+‘, null,
null, null, null, null, null, null, null, null)::WAGE_TYPE_BLOCK_ITEM)))
-(select ap_wage_type_get_Value(%employee%, (select id from wage_type where number = ’13‘ and deleted_at is null limit 1),
cast(‚%date%‘ as date),
cast(‚%date%‘ as date)
))
-(select ap_wage_type_get_Value(%employee%, (select id from wage_type where number = ’15‘ and deleted_at is null limit 1),
cast(‚%date%‘ as date),
cast(‚%date%‘ as date)
))
tagsaldo
) tmp
) tmp2