Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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ür todayDawn 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)

  • useStreetDistance: Für die Entfernungen (minKMs) wird standardmäßig die Luftlinie herangezogen; mit <useStreetDistance>true</useStreetDistance> wird die exakte Berechnung auf Straßen-Entfernung (kürzeste Strecke) verwendet. Achtung: die Berechnung erfolgt in Echtzeit durch Dritt-Anbieter und ist daher kostenpflichtig.

Code Block
languagexml
<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>30<<arrivalAddOn>0.5</arrivalAddOn> <!-- MinutenStunden die ggf. vor dem ersten Einsatz für die Hinfahrt zugebucht werden -->
				<departureAddOn>30<<departureAddOn>0.5</departureAddOn>  <!-- MinutenStunden 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

Code Block
<DistanceAllowanceConfig>
    <useStreetDistance>false</useStreetDistance> <!-- ACHTUNG: kostenpflichtiges Feature!; default = false -->
    <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

Beispiel inkl. Grades und Privatnächtigung:

Code Block
<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>
    
    <!-- als privat markierte Nächtigungen können eine zusätzliche Lohnbuchung auslösen -->
    <privateNightOverType>LOA Zuschlag für private Nächtigung</privateNightOverType>
    <privateNightOverFactor>1</privateNightOverFactor>
  
  
	<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>