Konfiguration von Abrechnungsregeln
Abrechnung pro Stunde
Preis pro Stunde (ActivityHourRate)
Über die Regel "ActivityHourRate" kann die Abrechnungsregel Preis/Stunde einem Vertrag hinzugefügt werden. Dieser Preis gilt für alle Schicht- und Aktivitätskategorien.
In der rechnungsbegründenden Unterlage sieht der Nutzer eine Übersicht der abgerechneten Aktivitäten, gruppiert nach Schicht und Regel. Aktivitäten aus derselben Schicht und mit derselben Regel werden zu einer Position zusammengefasst, welche Startzeit und -ort der ersten sowie Endzeit und -ort der letzten, ausgewählten Aktivität anzeigt.
{
"ruleName": "Geleistete Stunden",
"calculatorName": "ActivityHourRate",
"params": {
"pricePerHour": 10,
"countAfterMinutes": 60,
"roundUpAfterMinutes": 1,
"roundUpAfter": 0.5,
"capAfterMinutes": 360
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"pricePerHour" | Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
"countAfterMinutes" | Anzahl in Minuten, ab wann die Abrechnungslogik auf die einzelne abzurechnende Aktivität angewandt wird. Wenn kein Wert gesetzt ist, wird ab der ersten Minute abgerechnet. | Zahl |
"roundUpAfterMinutes" | Anzahl in Minuten, wonach für die einzelne Aktivität eine angebrochene Stunde auf einen bestimmten Wert, der im Parameter "roundUpAfter" definiert werden kann, aufgerundet wird. | Zahl |
"roundUpAfter" | Definiert die Rundungsregel bei erfassten Aktivitäten:
| Dezimalzahl |
"capAfterMinutes" | Anzahl an Minuten, die maximal pro einzelner Aktivität abrechnet werden. | Zahl |
Preis pro Stunde für bestimmte Aktivitätskategorien (ActivityByCategoryAndHourRate)
Über die Regel "ActivityByCategoryAndHourRate" lässt sich der Preis/Stunde für bestimmte Aktivitäten festlegen. Durch mehrfache Verwendung der Regel, lassen sich verschiedene Preise/Stunde differenziert nach Schichtkategorie und Aktivitätskategorie abrufen.
In der rechnungsbegründenden Unterlage sieht der Nutzer eine Übersicht der abgerechneten Aktivitäten, gruppiert nach Schicht und Regel. Aktivitäten aus derselben Schicht und mit derselben Regel werden zu einer Position zusammengefasst, welche Startzeit und -ort der ersten sowie Endzeit und -ort der letzten, ausgewählten Aktivität anzeigt.
{
"ruleName": "SomeName",
"calculatorName": "ActivityByCategoryAndHourRate",
"params": {
"activityCategories": ["train-drive"],
"pricePerUnit": 40,
"minimumAmount": 0,
"roundUpAfter": -1
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"pricePerUnit" | Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
"minimumAmount" | Definiert die Mindestabnahme pro Aktivität für das gewählte Set an Aktivitäten. | Dezimalzahl |
"roundUpAfter" | Definiert die Rundungsregel bei erfassten Aktivitäten:
| Dezimalzahl |
Preis pro Stunde für bestimmte Aktivitäts- und Schichtkategorien (ActivityBonusByHourShiftAndActivityCategory)
Über die Regel "ActivityBonusByHourShiftAndActivityCategory" lässt sich der Preis/Stunde für bestimmte Aktivitäten und für bestimmte Schichtkategorien festlegen. Durch mehrfache Verwendung der Regel, lassen sich verschiedene Preise/Stunde differenziert nach Schichtkategorie und Aktivitätskategorie abrufen.
In der rechnungsbegründenden Unterlage sieht der Nutzer eine Übersicht der abgerechneten Aktivitäten, gruppiert nach Schicht und Regel. Aktivitäten aus derselben Schicht und mit derselben Regel werden zu einer Position zusammengefasst, welche den Startzeitpunkt und Ort der ersten Aktivität sowie den Endzeitpunkt und Ort der letzten Aktivität der Schicht anzeigt, unabhängig davon, ob alle oder nur einzelne Aktivitäten für die Abrechnung ausgewählt wurden.
{
"ruleName": "SomeName",
"calculatorName": "ActivityBonusByHourShiftAndActivityCategory",
"params": {
"shiftCategories": ["training"],
"activityCategories": ["train-drive"],
"pricePerUnit": 40,
"countAfterMinutes": 60,
"roundUpAfterMinutes": 1,
"roundUpAfter": 0.5,
"capAfterMinutes": 360
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"shift Categories" | Definiert ein Set aus Schichtkategorien, für welche die Regel gilt. Auswahl der Schichtkategorie Normal und Ausbildung:
| Array |
"activity Categories" | Definiert ein Set aus Aktivitätskategorien, für welche die Regel gilt: Auswahl der Aktivitäten Zugfahrt und Rangieren:
| Array |
"pricePerUnit" | Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
"countAfterMinutes" | Anzahl Minuten, nach welchen die Abrechnungslogik angewandt wird. Wenn kein Wert gesetzt ist, wird ab der ersten Minute abgerechnet. | Zahl |
"roundUpAfterMinutes" | Anzahl in Minuten, wonach eine angebrochene Stunde auf einen bestimmten Wert, der im Parameter "roundUpAfter" definiert werden kann, aufgerundet wird. | Zahl |
"roundUpAfter" | Definiert die Rundungsregel bei erfassten Aktivitäten:
| Dezimalzahl |
"capAfterMinutes" | Anzahl an Minuten, die maximal pro einzelner Leistung abrechnet werden. | Zahl |
Mindestabnahme pro Schicht (ShiftMinimumRate)
Über die Regel "ShiftMinimumRate" können zusätzlich zu einem Preis/ Stunde Regeln für Mindestabnahmemengen pro Schicht und Aktivitätskategorien definiert werden.
{
"ruleName": "some name",
"calculatorName": "ShiftMinimumRate",
"params": {
"pricePerUnit": 10,
"fillUpTo": 8,
"activityCategoryOptions": [
{
"activityCategories": ["train-ride", "guest-ride"],
"roundUpAfter": 0.2,
"minimumAmount": 2
},
{
"activityCategories": ["transfer"],
"roundUpAfter": 0.1,
"minimumAmount": 2
}
]
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"pricePerUnit" | Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
"fillUpTo" | Mindestabnahmemenge an Stunden pro Schicht | Dezimalzahl |
"activity CategoryOptions" | Der Parameter ermöglicht es für bestimmte Aktivitäten weitere Regeln zu Mindestabnahmen pro Aktivität und zu Rundungsregeln pro Aktivität zu definieren. | Array |
"activity Categories" | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten: Auswahl der Aktivitäten Zugfahrt und Rangieren:
| Array |
"roundUpAfter" | Definiert die Rundungsregel bei erfassten Aktivitäten:
| Dezimalzahl |
"minimumAmount" | Definiert die Mindestabnahme pro Aktivität für das gewählte Set an Aktivitäten. | Dezimalzahl |
Monatliche/wöchentliche Mindestabnahme (TimeFrameMinimumRate)
Über die Regel "TimeFrameMinimumRate" können, zusätzlich zu Abrechnungsregeln für einzelne Aktivitäten und Schichten, Mindestabnahmen für Zeitintervalle (Monat, Woche, 2 Wochen, etc.) erstellt werden.
[
{
"ruleName": "Monatsmindestabnahme",
"calculatorName": "TimeFrameMinimumRate",
"params": {
"pricePerUnit": 60,
"timeFrameFillUpTo": 170,
"shiftFillUpTo": 8,
"activityCategoryOptions": [
{
"activityCategories": [
"train-drive",
"guest-ride"
],
"roundUpAfter": -1,
"minimumAmount": 0,
"pricePerUnit": 60
},
{
"activityCategories": [
"transfer"
],
"roundUpAfter": -1,
"minimumAmount": 0,
"pricePerUnit": 60
}
],
"absenceCategories": [
"vacation",
"sick-leave"
],
"excludeHolidays": true,
"frequency": {
"unit": "month",
"number": 1
}
}
}
]
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"pricePerUnit" | Stundensatz/Preis pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
"timeFrameFillUpTo" | Zielvolumen (z. B. 140 Stunden) für einen definierten Zeitraum. Fehlt zum Erreichen dieses Volumens noch Zeit, wird die Differenz berechnet. | |
"shift FillUpTo" | Mindestabnahmemenge an Stunden pro Schicht | Dezimalzahl |
"activity CategoryOptions" | Der Parameter ermöglicht es für bestimmte Aktivitäten weitere Regeln zu Mindestabnahmen pro Aktivität und zu Rundungsregeln pro Aktivität zu definieren. | Array |
"activity Categories" | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten: Auswahl der Aktivitäten Zugfahrt und Rangieren:
| Array |
"roundUpAfter" | Definiert die Rundungsregel bei erfassten Aktivitäten:
| Dezimalzahl |
"minimum Amount" | Definiert die Mindestabnahme pro Aktivität für das gewählte Set an Aktivitäten. | Dezimalzahl |
"absence Categories" | Definiert welche Abwesenheiten mit der Mindestabnahme im gewählten Zeitintervall verrechnet werden. Für die Berechnung der verrechneten Stunden wird das hinterlegte Arbeitszeitmodell der betroffenen Mitarbeiter berücksichtigt. Verrechnung von Krankentagen und Urlaubstagen:
| Text |
"excludeHolidays" | Definiert ob Feiertage mit der Mindestabnahme im gewählten Zeitintervall verrechnet werden. Für die Berechnung der verrechneten Stunden wird das hinterlegte Arbeitszeitmodell der betroffenen Mitarbeiter berücksichtigt. Defaultwert ist false ."excludeHolidays": true /[false ] | |
"frequency" | Definiert für welches Zeitintervall die Mindestabnahme abgerufen wird. Über den parameter "unit" kann zwischen Monat oder Woche gewählt werden:
Der Parameter "number" definiert die Anzahl der Wochen/Monate des Intervalls:
| Zahl |
Festpreise
Festpreis pro Aktivität (ActivityFlatRate)
Über die Regel "ActivityFlatRate" kann ein Festpreis pro geleisteter Aktivität definiert werden.
{
"ruleName": "Fixpreis Zugfahrt",
"calculatorName": "ActivityFlatRate",
"params": { "pricePerUnit": 500 }
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"pricePerUnit" | Definiert den Festpreis-Betrag. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
"activity Categories" | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten: Auswahl der Aktivitäten Zugfahrt und Rangieren:
| Dezimalzahl |
Festpreis pro Aktivität (ActivityByCategoryFlatRate)
Über die Regel "ActivityByCategoryFlatRate" kann ein Festpreis pro geleisteter Aktivität definiert werden.
{
"ruleName": "some name",
"calculatorName": "ActivityByCategoryFlatRate",
"params": {
"activityCategories": ["some category"],
"pricePerUnit": 100
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"pricePerUnit" | Definiert den Betrag des Festpreises pro Aktivität. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
"activity Categories" | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten: Auswahl der Aktivitäten Zugfahrt und Rangieren:
| Dezimalzahl |
Festpreis pro Schicht (FixedShiftCategoryRate)
Über die Regel "FixedShiftCategoryRate" kann ein Festpreis pro geleisteter Schicht definiert werden.
{
"ruleName": "some name",
"calculatorName": "FixedShiftCategoryRate",
"params": {
"shiftCategories": ["some category"],
"pricePerUnit": 100
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
| Definiert ein Set aus Schichtkategorien, für welche die Regel gilt. Auswahl der Schichtkategorie Normal und Ausbildung:
| Array |
"pricePerUnit" | Definiert den Betrag des Festpreises pro Schicht. (Dezimalzeichen muss als Punkt angegeben werden). | Dezimalzahl |
AdHocShiftRate
Über die Regel "AdHocShiftRate" können Aufschläge pro Schicht definiert werden, die für kurzfristig übernommene Schichten abgerufen werden. Schichten können über die Schichtdetailseite als kurzfristige Übernahme markiert werden.
{
"ruleName": "some name",
"calculatorName": "AdHocShiftRate",
"params": {
"pricePerUnit": 10
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"pricePerUnit" | Definiert den Betrag des Aufpreises pro (kurzfristig übernommene) Schicht. (Dezimalzeichen muss als Punkt angegeben werden). | Dezimalzahl |
Abrechnung nach Tonnage oder Anzahl transportierter Wagen
ActivityByTonnage
Über die Regel "ActivityByTonnage" lässt sich ein Preis pro transportierte Tonne definieren. Tonnagen lassen sich über das WILSON Portal in Leistungen erfassen.
{
"ruleName": "some name",
"calculatorName": "ActivityByTonnage",
"params": {
"minimumAmount": 10,
"pricePerUnit": 20
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"minimumAmount" | Mindestabnahme in Tonnen. Für min. 10t: Ohne Mindestabnahme: | Ganzzahl |
"pricePerUnit" | Preis pro Einheit - in diesem Fall Preis pro Tonne. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
ActivityByWagonNumber
Über die Regel "ActivityByWagonNumber" lässt sich ein Preis pro transportierten Wagen definieren. Die Anzahl der Wagen lassen sich über das WILSON Portal in Leistungen erfassen.
{
"ruleName": "some name",
"calculatorName": "ActivityByWagonNumber",
"params": {
"minimumAmount": 1,
"pricePerUnit": 1
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"minimumAmount" | Mindestabnahme (Anzahl transportierter Wagen): Für min. 1 transportierte Wagen: Ohne Mindestabnahme: | Ganzzahl |
"pricePerUnit" | Preis pro Einheit - in diesem Fall Preis pro Wagen. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
Abrechnung von Zuschlagszahlungen
Zeitraumzuschlag (TimeFrameBonus)
Über die Regel "TimeFrameBonus" lassen sich Zuschlagszahlungen für bestimmte Zeiträume oder Feiertage berechnen und umlegen (Nachtzuschlag, Samstags-/Sonntagszulage, Feiertagszulage, etc.). Innerhalb einer Regel können mehrere Zeitraum konfiguriert werden.
{
"ruleName": "Personalkosten/h",
"calculatorName": "TimeFrameBonus",
"params": {
"timeBonusCalculationMethod": "hierarchal-calculation",
"bonuses": [
{
"ruleName": "Nachtzuschlag",
"isoWeekdays": [1, 2, 3, 4, 5, 6, 7],
"onHolidaysRegion": [],
"timeFrame": { "start": "22:00", "end": "06:00" },
"roundUpAfter": -1,
"pricePerUnit": 1,
"notConsideredActivityCategories": ["guest-ride"],
"priority": 0.1
},
{
"ruleName": "Sonntagszuschlag",
"isoWeekdays": [7],
"onHolidaysRegion": [],
"timeFrame": { "start": "00:00", "end": "00:00" },
"roundUpAfter": -1,
"pricePerUnit": 2,
"notConsideredActivityCategories": ["guest-ride"],
"priority": 0.2
},
{
"ruleName": "Feiertagszuschlag",
"isoWeekdays": [1, 2, 3, 4, 5, 6, 7],
"onHolidaysRegion": ["DE", "BB"],
"timeFrame": { "start": "00:00", "end": "00:00" },
"roundUpAfter": -1,
"pricePerUnit": 2,
"notConsideredActivityCategories": ["guest-ride"],
"priority": 0.3
}
]
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"timeBonus Calculation Method" | Definiert das Verhalten, wenn mehrere Zuschlagsregeln gleichzeitig greifen:
| |
"bonuses" | Definiert einzelne Zuschlagsregeln (Array aus einzelnen Regeln). | Array |
| Definiert die Bezeichnung der einzelnen Regeln und des erstellten Rechnungsposten. | Text |
| Definiert die gültigen Wochentage der Regel: 1 steht für Montage | |
| Definiert den zu berücksichtigen Urlaubskalender im Format [Ländercode, Regionscode] Beispiel für Brandenburg, Deutschland: [“DE”, “BB”] Liste der Länder und Regionscodes | Array |
| Definiert das zu berücksichtigende Zeitintervall über Start- und Endzeit:
| Zeit (HH:MM) |
| Definiert die Rundungsregel bei erfassten Zulagen:
| |
| Betrag des Zuschlags pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
| Definiert welche Aktivitäten von Bonuszahlungen ausgenommen sind.
| Array |
| Definiert die Priorität der Regeln zueinander als Dezimalzahl zwischen 0 und 1. Nur die höchste Priorität wird berücksichtigt. Zulagen mit gleichen Prioritäten werden addiert. | Dezimalzahl |
Mehrarbeitszuschlag (TimeFrameOvertimePremiumRate)
Die Regel "TimeFrameOvertimePremiumRate" ermöglicht das Nachverfolgen und Abrechnen von zusätzlichen Arbeitsstunden, die in einem festgelegten Zeitraum (entweder monatlich oder wöchentlich) geleistet werden und als Überstunden abgerechnet werden.
Es kann eine Grenze für den ausgewählten Zeitraum (Woche oder Monat) definiert werden. Das System verwendet diese Grenzwerte, um die Gesamtanzahl aller erfassten Aktivitäten und Abwesenheiten im festgelegten Zeitraum zu vergleichen.
Wenn die Gesamtstunden die vorgegebene Grenze überschreiten, werden die überschüssigen Stunden als Überstunden klassifiziert. Diese Überstunden werden mit dem Mehrarbeitszuschlag (overtimePremiumRate) multipliziert, der als Dezimalwert im Rahmen der jeweiligen Vereinbarung definiert ist.
{
"ruleName": "Bezeichnung der Abrechnungsposition",
"calculatorName": "TimeFrameOvertimePremiumRate",
"params": {
"overtimePremiumRate": 10,
"thresholdHours": 40,
"shiftFillUpTo": 8,
"excludedShiftCategoriesFromShiftFillUp": [],
"activityCategoryOptions": [
{
"activityCategories": ["train-drive", "guest-ride"],
"roundUpAfter": -1,
"minimumAmount": 0,
"pricePerUnit": 20
}
],
"absenceCategories": ["vacation", "sick-day"],
"excludeHolidays": true,
"frequency": {
"unit": "month",
"number": 1
}
}
}
Regelparameter | ||
"ruleName" | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
"overtimePremiumRate" | Preis pro Überstunde. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
"shift FillUpTo" | Mindestabnahmemenge an Stunden pro Schicht | Dezimalzahl |
"activity CategoryOptions" | Der Parameter ermöglicht es für bestimmte Aktivitäten weitere Regeln zu Mindestabnahmen pro Aktivität und zu Rundungsregeln pro Aktivität zu definieren. | Array |
"activity Categories" | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten: Auswahl der Aktivitäten Zugfahrt und Rangieren:
| Array |
"roundUpAfter" | Definiert die Rundungsregel bei erfassten Aktivitäten:
| Dezimalzahl |
"minimum Amount" | Definiert die Mindestabnahme pro Aktivität für das gewählte Set an Aktivitäten. | Dezimalzahl |
"absence Categories" | Definiert welche Abwesenheiten mit der Mindestabnahme im gewählten Zeitintervall verrechnet werden. Für die Berechnung der verrechneten Stunden wird das hinterlegte Arbeitszeitmodell der betroffenen Mitarbeiter berücksichtigt. Verrechnung von Krankentagen und Urlaubstagen:
| Text |
"excludeHolidays" | Definiert ob Feiertage mit der Mindestabnahme im gewählten Zeitintervall verrechnet werden. Für die Berechnung der verrechneten Stunden wird das hinterlegte Arbeitszeitmodell der betroffenen Mitarbeiter berücksichtigt. Defaultwert ist false ."excludeHolidays": true /[false ] | |
"frequency" | Definiert für welches Zeitintervall die Mindestabnahme abgerufen wird. Über den parameter "unit" kann zwischen Monat oder Woche gewählt werden:
Der Parameter "number" definiert die Anzahl der Wochen/Monate des Intervalls:
| Zahl |