Wird keine Angabe hinterlegt, wird EntfernungszulageDefaultConfig bzw. MontagezulageDefaultConfig in den Specifics gesucht und herangezogen falls vorhanden. → Falls nicht vorhanden und beim Mitarbeiter nicht ausgewählt wird die entsprechende Zulage beim Mitarbeiter nicht berechnet.
Parameter für die Entferungszulage:
wagetypeLv1/wagetypeLv2/wagetypeLv3: Hinterlegung der Lohnarten für die jeweilige kleine, mittlere und große Entfernungszulage
wagetypeLv1Factor/wagetypeLv2Factor/wagetypeLv3Factor: Optional kann zu den einzelnen Lohnarten jeweils ein Faktor hinterlegt werden um Bsp. den entsprechenden Euro-Betrag in der Lohnbuchung darzustellen; ist kein Wert definiert gilt Faktor=1.0
(verfügbar ab Ende Mail 2021)assignmentType
0 - UNBOUND - Entfernungszulage wird nicht Auftragsbezogen ausgewiesen
1 - TASK_BOUND (proportional) - Entfernungszulage wird proportional Auftragsbezogen ausgewiesen. Sprich arbeitet ein Mitarbeiter an einem Tag an 4 Aufträgen mit jeweils 2 Stunden, so wird die Entfernungszulage anteilig mit 0,25 je Auftrag ausgewiesen.
2 … LONGEST_TASK_BOUND - Entfernungszulage wird Auftragsbezogen auf den längsten Auftrag ausgewiesen. Sprich arbeitet ein Mitarbeiter an einem Tag an 2 Aufträgen (Auftrag 1 mit 6 Stunden und Auftrag 2 mit 4 Stunden), so wird die Entfernungszulage auf Auftrag 1 ausgewiesen. Werden z.b. zwei oder mehrer Aufträge mit der gleichen Stundenanzahl gebucht, dann wird die Entfernungszulage auf den ersten am Tag gebuchten Auftrag ausgewiesen.
excludedZipCodes: Ausnahmeliste mit Postleitzahlen für Durchführungsadressen/Objektadressen. Wird ein Auftrag in einem Auftragsort mit einer Postleitzahl welche in der Ausnahmeliste hinterlegt ist mit Stunden bebucht, werden diese Stunden für die Entfernungszulagen- Berechnung nicht berücksichtigt.
lowerLimit: Definiert das untere Limit für die “kleine Entfernungszulage”. Wird dieser Parameter nicht gesetzt, wird die “kleine Entfernungszulage” erst dann erzeugt, wenn mehr 6 relevante Auftragsstunden gebucht wurden.
higherLimit: Definiert das untere Limit für die “mittlere Entfernungszulage”. Wird dieser Parameter nicht gesetzt, wird die “,mittlere Entfernungszulage” erst dann erzeugt, wenn mehr 11 relevante Auftragsstunden gebucht wurden.
andEqual: wird der Parameter auf true gesetzt, wird bei den Standardwerten von 6 und 11 Stunden bzw. bei den gesetzten Werten vom lowerLimit und higherLimt auf größer-gleich geprüft. Ist dieser Parameter nicht oder auf false gesetzt, dann wird auf größer geprüft.
additionalBookings: Es könne zusätzliche Stunden aus manuellen Lohnbuchungs-Buchungen via Mobile-Transactions hinzugefügt werden; dazu müssen diese Lohnarten wie folgt angegeben Werden. Bsp.: <additionalBookings>001-383,001-388,001-382</additionalBookings>
Wegzeit-Pauschale: optionale Einstellmöglichkeit für autom. Zubuchungen vor dem ersten bzw. nach dem letzten Einsatz falls keine jew. Fahrt gebucht wurde. ACHTUNG: in **STUNDEN** Details - siehe Code- Bsp.
todayDawn: Der Parameter
todayDawn
gibt an ab wann auch nach einer Übernachtung am Vortag die große Entfernungszulage (Lv3) am nächsten Tag augelöst werden soll. Default=17:00
Bsp.: von Montag auf Dienstag wird genächtigt; für Montag ist die große (Lv3) Pauschale ausgelöst worden; arbeitet der Mitarbeiter am Dienstag fürtodayDawn
hinaus, dann wird auch für Dienstag Lv3 ausgelöst.includeNonTaskWagetypes: Mit Komma (,) getrennt können hier Lohnarten angeführt werden die, obwohl die Buchungen nicht aus einem Auftrag sondern aus einer Sonderzeit entstanden ist, berücksichtigt werden. Bsp.: Schulung die außer Haus statt findet aber nicht mithilfe einer eigenen Aufgabe sondern mit einer Sonderzeit verplant und bebucht wurde.
excludeTaskWagetypes: Mit Komma (,) getrennt können hier Lohnarten angeführt werden die explizit nicht die Zulage auslösen sollen. Bsp.: für Sonn- oder Feiertagsarbeit ist eine eigene Lohnart definiert und die Zulage soll für diese Einsätze anders geregelt werden.
valueInHoursInsteadOfUnits: standardmäßig wird die Zulage in Einheiten (=1 und ggf. mit dem Faktor multipliziert) erzeugt; wird dieser optionale Parameter mit
true
hinterlegt, dann wird anstatt 1.00 die Anzahl der Stunden die zur jeweiligen Pausche geführt haben zurück gegeben; hat sich keine Pauschale ergeben (bspw. weil die Auswärtsstundenanzahl zu gering war) dann wird keine Buchung erzeugt.useStartEndInsteadOfHoursSum: Unterscheidung zwischen:
Summe aus allen relevanten Lohnbuchungen (Lohnarten die entweder explizit eingeschlossen wurden - siehe includeNonTaskWagetypes - oder Aufgaben-basierte Buchungen)
Stunden die zwischen Tagesbeginn und Tagesende liegen (schließt include/exclude Parameter aus)
<DistanceAllowanceConfig> <wagetypeLv1>001-373</wagetypeLv1> <wagetypeLv1Factor>6.51</wagetypeLv1Factor> <wagetypeLv2>001-374</wagetypeLv2> <wagetypeLv2Factor>17.50</wagetypeLv2Factor> <wagetypeLv3>001-384</wagetypeLv3> <wagetypeLv3Factor>38.20</wagetypeLv3Factor> <excludedZipCodes>1140,3613</excludedZipCodes> <assignmentType>1</assignmentType> <!-- 0 ... ohne Auftragszuordnung, 1 ... proportional zugeordnet, 2 ... laengster Auftrag des Tages --> <lowerLimit>6.0</lowerLimit> <higherLimit>11.0</higherLimit> <todayDawn>17:00</todayDawn> <andEqual>false</andEqual> <!-- kleiner-gleich Regelung --> <!-- Lohnarten die zusaetzlich fuer die Entfernungszulage beruecksichtigt werden sollen --> <additionalBookings></additionalBookings> <!-- optionale Einstellungen für Wegzeit-Pauschalen diese werden zugebucht wenn der erste Einsatz ohne Anfahrt bzw. der letzte Einsatz ohne anschließender Fahrt gebucht werden --> <arrivalAddOn>0.5</arrivalAddOn> <!-- Stunden die ggf. vor dem ersten Einsatz für die Hinfahrt zugebucht werden --> <departureAddOn>0.5</departureAddOn> <!-- Stunden die ggf. am Ende des Tages für die Heimfahrt zugebucht werden --> <assingFlatToTask>false</assingFlatToTask> <!-- Wegzeit auf ersten/letzten Auftrag buchen? --> <drivingFlatWagetype>001-140</drivingFlatWagetype> <!-- Wegzeit Lohnart --> <!-- ende des Wegzeit-Pauschale blocks --> </DistanceAllowanceConfig>
Neue Logik: Entfernungszulage mit und ohne Steuersplit
Hier ist ein Beispiel für die Konfiguration der neuen Logik ohne Steuersplit:
Lohnart 119: Entfernungszulage
<DistanceAllowanceConfig> <assignmentType>0</assignmentType> <!-- 0... ohne Auftragszuordnung, 1...proportional, 2... längester Auftrag --> <valueInHoursInsteadOfUnits>false</valueInHoursInsteadOfUnits> <includeNonTaskWagetypes></includeNonTaskWagetypes> <grades> <!--Hinreise-Tag groß --> <grade> <wagetype>119</wagetype> <minHours>6</minHours> <overnight>CURRENT_DAY</overnight> <wagetypeFactor>58.59</wagetypeFactor> </grade> <!--Rückreise-Tag groß --> <grade> <wagetype>119</wagetype> <minEndOfDay>17:00</minEndOfDay> <overnight>PREVIOUS_DAY</overnight> <wagetypeFactor>58.59</wagetypeFactor> </grade> <!--Arbeit lang ohne Übernachtung --> <grade> <wagetype>119</wagetype> <minHours>11</minHours> <wagetypeFactor>26.40</wagetypeFactor> </grade> <!--Rückreise-Tag klein --> <grade> <wagetype>119</wagetype> <minHours>6</minHours> <overnight>PREVIOUS_DAY</overnight> <wagetypeFactor>26.40</wagetypeFactor> </grade> <!--Arbeit kurz ohne Übernachtung --> <grade> <wagetype>119</wagetype> <minHours>6</minHours> <wagetypeFactor>11.28</wagetypeFactor> </grade> </grades> </DistanceAllowanceConfig>
Es ist nun auch möglich, dass bei der Entfernungszulage ein Steuersplit ab einem bestimmten Betrag automatisch erfasst und für die Berechnung herangezogen wird. Es müssen dafür zwei Lohnarten angelegt werden: für Entfernungszulage steuerfrei und -pflichtig.
Hier ist ein Beispiel für die Konfiguration der neuen Logik mit Steuersplit:
Steuersplit ab 26,40 €
Lohnart 120: Entfernungszulage steuerfrei
Lohnart 121: Entfernungszulage steuerpflichtig
<DistanceAllowanceConfig> <assignmentType>0</assignmentType> <!-- 0... ohne Auftragszuordnung, 1...proportional, 2... längester Auftrag --> <valueInHoursInsteadOfUnits>false</valueInHoursInsteadOfUnits> <includeNonTaskWagetypes></includeNonTaskWagetypes> <useStartEndInsteadOfHoursSum>false</useStartEndInsteadOfHoursSum> <andEqual>false</andEqual> <taxFreeSplit>1</taxFreeSplit> <grades> <!--Hinreise-Tag groß --> <grade> <wagetype>120</wagetype> <maxBeginOfDay>12</maxBeginOfDay> <overnight>CURRENT_DAY</overnight> <wagetypeFactor>58.59</wagetypeFactor> <taxedWagetype>121</taxedWagetype> <taxedAbove>26.4</taxedAbove> </grade> <!--Arbeit+Übernachtung --> <!-- <grade> <wagetype>120</wagetype> <minHours>11</minHours> <overnight>CURRENT_DAY</overnight> <wagetypeFactor>58.59</wagetypeFactor> <taxedWagetype>121</taxedWagetype> <taxedAbove>26.4</taxedAbove> </grade> --> <!--Rückreise-Tag groß --> <grade> <wagetype>120</wagetype> <minEndOfDay>17:00</minEndOfDay> <overnight>PREVIOUS_DAY</overnight> <wagetypeFactor>58.59</wagetypeFactor> <taxedWagetype>121</taxedWagetype> <taxedAbove>26.4</taxedAbove> </grade> <!--Arbeit lang ohne Übernachtung --> <grade> <wagetype>120</wagetype> <minHours>11</minHours> <wagetypeFactor>26.40</wagetypeFactor> </grade> <!--Hinreise-Tag klein --> <grade> <wagetype>120</wagetype> <overnight>CURRENT_DAY</overnight> <wagetypeFactor>26.40</wagetypeFactor> </grade> <!--Rückreise-Tag klein --> <grade> <wagetype>120</wagetype> <overnight>PREVIOUS_DAY</overnight> <wagetypeFactor>26.40</wagetypeFactor> </grade> <!--Arbeit kurz ohne Übernachtung --> <grade> <wagetype>120</wagetype> <minHours>6</minHours> <wagetypeFactor>11.28</wagetypeFactor> </grade> </grades> </DistanceAllowanceConfig>