---
title: "Konfiguration von Abrechnungsregeln"
url: "https://support.wilson.menlo79.com/de/article/dokumentation-abrechnungsregeln"
language: "de"
last_updated: "2026-03-13T10:01:39.745Z"
---

# 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.

```plaintext
{ 
	"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:<br>-   Minutengenaue Abrechnung: `"roundUpAfter": -1`<br>-   auf 6 Minuten aufrunden: `"roundUpAfter": 0.1`<br>-   Viertelstündlich aufrunden: `"roundUpAfter": 0.25`<br>-   Halbstündlich aufrunden: `"roundUpAfter": 0.5` | 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.

```plaintext
 {
          "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:<br>-   Minutengenaue Abrechnung: `"roundUpAfter": -1`<br>-   auf 6 Minuten aufrunden: `"roundUpAfter": 0.1`<br>-   Viertelstündlich aufrunden: `"roundUpAfter": 0.25`<br>-   Halbstündlich aufrunden: `"roundUpAfter": 0.5` | 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 Startzeit und -ort der ersten sowie Endzeit und -ort der letzten, ausgewählten Aktivität anzeigt.

```plaintext
 {
          "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`  <br>`Categories"` | Definiert ein Set aus Schichtkategorien, für welche die Regel gilt.<br>Auswahl der Schichtkategorie Normal und Ausbildung:<br>`"shiftCategories": ["training", "normal"]`<br>[Übersicht der Schichtkategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Array |
| `"activity`  <br>`Categories"` | Definiert ein Set aus Aktivitätskategorien, für welche die Regel gilt:<br>Auswahl der Aktivitäten **Zugfahrt** und **Gastfahrt**:<br>`"activityCategories": ["train-ride", "guest-ride"]` <br>[Übersicht der Aktivitätskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | 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:<br>-   Minutengenaue Abrechnung: `"roundUpAfter": -1`<br>-   auf 6 Minuten aufrunden: `"roundUpAfter": 0.1`<br>-   Viertelstündlich aufrunden: `"roundUpAfter": 0.25`<br>-   Halbstündlich aufrunden: `"roundUpAfter": 0.5` | 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.

```plaintext
{
    "ruleName": "some name",
    "calculatorName": "ShiftMinimumRate",
    "params": {
      "pricePerUnit": 10,
      "fillUpTo": 8,
      "excludedShiftCategoriesFromFillUp": ["training"],
      "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 |
| "**excludedShiftCategoriesFromFillUp**": | Schichtkategorien, die nicht aufgefüllt werden sollen | Array (enums) |
| `"activity`  <br>`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`  <br>`Categories"` | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:<br>Auswahl der Aktivitäten **Zugfahrt** und **Gastfahrt**:<br>`"activityCategories": ["train-ride", "guest-ride"]` <br>[Übersicht der Aktivitätskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Array |
| `"roundUpAfter"` | Definiert die Rundungsregel bei erfassten Aktivitäten:<br>-   Minutengenaue Abrechnung: `"roundUpAfter": -1`<br>-   auf 6 Minuten aufrunden: `"roundUpAfter": 0.1`<br>-   Viertelstündlich aufrunden: `"roundUpAfter": 0.25`<br>-   Halbstündlich aufrunden: `"roundUpAfter": 0.5` | 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.

```plaintext
{
    "ruleName": "Monatsmindestabnahme",
    "calculatorName": "TimeFrameMinimumRate",
    "params": {
        "pricePerUnit": 60,
        "timeFrameFillUpTo": 170,
        "ignoredShiftCategories": ["training"],
        "shiftFillUpTo": 8,
    	"excludedShiftCategoriesFromShiftFillUp": [],
        "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`  <br>`FillUpTo"` | Mindestabnahmemenge an Stunden pro Schicht | Dezimalzahl |
| `**"ignoredShiftCategories":**` | Schichtkategorien, die nicht für die Mindestabnahme bercksichtigt werden sollen. | Array |
| `"excludedShiftCategoriesFromShiftFillUp"` | Schichtkategorien, deren Schichten nicht aufgefüllt werden sollen. | Array |
| `"activity`  <br>`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`  <br>`Categories"` | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:<br>Auswahl der Aktivitäten **Zugfahrt** und **Gastfahrt**:<br>`"activityCategories": ["train-ride", "guest-ride"]` <br>[Übersicht der Aktivitätskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Array |
| `"roundUpAfter"` | Definiert die Rundungsregel bei erfassten Aktivitäten:<br>-   Minutengenaue Abrechnung: `"roundUpAfter": -1`<br>-   auf 6 Minuten aufrunden: `"roundUpAfter": 0.1`<br>-   Viertelstündlich aufrunden: `"roundUpAfter": 0.25`<br>-   Halbstündlich aufrunden: `"roundUpAfter": 0.5` | Dezimalzahl |
| `"minimum`  <br>`Amount"` | Definiert die Mindestabnahme pro Aktivität für das gewählte Set an Aktivitäten. | Dezimalzahl |
| `"absence`  <br>`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.<br>Verrechnung von Krankentagen und Urlaubstagen:<br>`"absenceCategories": ["vacation", "sick-leave"]`<br>[Übersicht der Abwesenheitskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | 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` .  <br>`"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:<br>`"unit":` `"month"` / `"week"` <br>Der Parameter "number" definiert die Anzahl der Wochen/Monate des Intervalls:<br>`"number":` `1` / `2` /`...` | Zahl |

## Festpreise

* * *

### Festpreis pro Aktivität (ActivityFlatRate)

Über die Regel **"ActivityFlatRate"** kann ein Festpreis pro geleisteter Aktivität definiert werden.

```plaintext
{
    "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`  <br>`Categories"` | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:<br>Auswahl der Aktivitäten **Zugfahrt** und **Gastfahrt**:<br>`"activityCategories": ["train-ride", "guest-ride"]` <br>[Übersicht der Aktivitätskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Dezimalzahl |

* * *

### Festpreis pro Aktivität (ActivityByCategoryFlatRate)

Über die Regel **"ActivityByCategoryFlatRate"** kann ein Festpreis pro geleisteter Aktivität einer bestimmten Kategorie definiert werden.

```plaintext
 {
  "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`  <br>`Categories"` | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:<br>Auswahl der Aktivitäten **Zugfahrt** und **Gastfahrt**:<br>`"activityCategories": ["train-ride", "guest-ride"]` <br>[Übersicht der Aktivitätskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Dezimalzahl |

* * *

### Preisregel mit festem Mindestpreis für Aktivitäten (ActivityWithFixedMinimumCost)

Die Regel **ActivityWithFixedMinimumCost** ermöglicht es, eine Aktivität mit einem festen Mindestpreis für eine festgelegte Dauer zu belegen. Überschreitet die Aktivität diese Dauer, wird ein zusätzlicher Stundensatz für jede weitere Zeiteinheit berechnet.

Beispiel:

-   Jede Aktivität **Zugfahrt** kostet **500 €** für bis zu **3 Stunden**.
-   Ein zusätzlicher Stundensatz von **80 €** gilt für Aktivitäten, die über **3 Stunden** hinausgehen.

```plaintext
{
  "ruleName": "SomeName",
  "calculatorName": "ActivityWithFixedMinimumCost",
  "params": {
    "activityCategories": ["train-drive"],
    "durationInMinutes": 180,
    "pricePerUnit": 500,
    "overtimePrice": 80
  }
}
```

| Regelparameter |  |  |
| --- | --- | --- |
| `"ruleName"` | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
| `"activity`  <br>`Categories"` | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten. | Dezimalzahl |
| `"pricePerUnit"` | Der Preis für die Aktivität für die festgelegte Dauer. | Dezimalzahl |
| `"durationInMinutes"` | Die Dauer in Minuten, bis zu der der feste Preis gilt. | Zahl |
| `"overtimePrice"` | Der zusätzliche Stundensatz, der nach Ablauf der festgelegten Dauer für jede weitere Zeiteinheit berechnet wird. | Dezimalzahl |

* * *

### Festpreis pro Schicht (FixedShiftCategoryRate)

Über die Regel **"FixedShiftCategoryRate"** kann ein Festpreis pro geleisteter **Schicht** definiert werden.

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.

```plaintext
 {
  "ruleName": "some name",
  "calculatorName": "FixedShiftCategoryRate",
  "params": {
    "shiftCategories": ["some category"],
    "pricePerUnit": 100
  }
}
```

| Regelparameter |  |  |
| --- | --- | --- |
| `"ruleName"` | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
| `"shift`  <br>`Categories"` | Definiert ein Set aus Schichtkategorien, für welche die Regel gilt.<br>Auswahl der Schichtkategorie Normal und Ausbildung:<br>`"shiftCategories": ["training", "normal"]`<br>[Übersicht der Schichtkategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Array |
| `"pricePerUnit"` | Definiert den Betrag des Festpreises pro Schicht. (Dezimalzeichen muss als Punkt angegeben werden). | Dezimalzahl |

* * *

### Preisregel mit festem Mindestpreis für Schichten (ShiftWithFixedMinimumCost)

Die Regel **ShiftWithFixedMinimumCost** erlaubt es, eine Schicht mit einem festen Mindestpreis für eine bestimmte Dauer zu belegen. Wird diese Dauer überschritten, wird ein zusätzlicher Stundensatz für jede weitere Zeiteinheit berechnet.

Beispiel:

-   Jede Schicht der Kategorie "normal" kostet **700 €** für bis zu **8 Stunden**.
-   Ein zusätzlicher Stundensatz von **80 €** gilt für Schichten, die über **8 Stunden** hinausgehen.

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.

```plaintext
{
  "ruleName": "SomeName",
  "calculatorName": "ShiftWithFixedMinimumCost",
  "params": {
    "shiftCategories": ["normal"],
    "durationInMinutes": 480,
    "pricePerUnit": 656,
    "overtimePrice": 78,
    "notConsideredActivityCategories": ["guest-ride"]
  }
}
```

| Regelparameter |  |  |
| --- | --- | --- |
| `"ruleName"` | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
| `"shift`  <br>`Categories"` | Definiert ein Set aus Schichtkategorien, für welche die Regel gilt.<br>Auswahl der Schichtkategorie Normal und Ausbildung:<br>`"shiftCategories": ["training", "normal"]`<br>[Übersicht der Schichtkategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Array |
| `"pricePerUnit"` | Der Preis für die Schicht für die festgelegte Dauer. | Dezimalzahl |
| `"durationInMinutes"` | Die Dauer in Minuten, bis zu der der feste Preis gilt. | Zahl |
| `"overtimePrice"` | Der Preis, der für jede angefangene Stunde berechnet wird, sobald die festgelegte Dauer überschritten ist. | Dezimalzahl |
| `"notConsideredActivityCategories"` | Aktivitäten aus diesen Kategorien werden bei der Berechnung nicht berücksichtigt. | Array |

* * *

### 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.

```plaintext
{
  "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.

```plaintext
 {
  "ruleName": "some name",
  "calculatorName": "ActivityByTonnage",
  "params": {
    "minimumAmount": 10,
    "pricePerUnit": 20
  }
}
```

| Regelparameter |  |  |
| --- | --- | --- |
| `"ruleName"` | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
| `"minimumAmount"` | Mindestabnahme in Tonnen.<br>Für min. 10t: `"minimumAmount": 10`<br>Ohne Mindestabnahme: `"minimumAmount": 0` | 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.

```plaintext
 {
  "ruleName": "some name",
  "calculatorName": "ActivityByWagonNumber",
  "params": {
    "minimumAmount": 1,
    "pricePerUnit": 1
  }
}
```

| Regelparameter |  |  |
| --- | --- | --- |
| `"ruleName"` | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
| `"minimumAmount"` | Mindestabnahme (Anzahl transportierter Wagen):<br>Für min. 1 transportierte Wagen: `"minimumAmount": 1`<br>Ohne Mindestabnahme: `"minimumAmount": 0` | 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.

```plaintext
 {
      "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,
                "ruleType": "weekday"
              },
              {
                "ruleName": "Sonntagszuschlag",
                "isoWeekdays": [7],
                "onHolidaysRegion": [],
                "timeFrame": { "start": "00:00", "end": "00:00" },
                "roundUpAfter": -1,
                "pricePerUnit": 2,
                "notConsideredActivityCategories": ["guest-ride"],
                "priority": 0.2,
                "ruleType": "weekday"
              },
              {
                "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,
                "ruleType": "holiday"
              }
            ]
          }
        }
```

| Regelparameter |  |  |
| --- | --- | --- |
| `"ruleName"` | Bezeichnung der Regel / Bezeichnung des Rechnungspostens | Text |
| `"timeBonus`  <br>`Calculation`  <br>`Method"` | Definiert das Verhalten, wenn mehrere Zuschlagsregeln gleichzeitig greifen:<br>-   Sollen sich einzelne Zuschlagsregeln addieren: `"flat-calculation"`  <br>-   Soll nur die Regel mit der höchsten Priorität berücksichtigt werden: `"hierarchal-calculation"` |  |
| `"bonuses"` | Definiert einzelne Zuschlagsregeln (Array aus einzelnen Regeln). | Array |
| -   `"ruleName"` | Definiert die Bezeichnung der einzelnen Regeln und des erstellten Rechnungsposten. | Text |
| -   `"ruleType"` | Der ruleType definiert, ob der Zuschlag bestimmte Wochentage oder Feiertage betrifft. Es muss einer der folgenden Werte für `ruleType` gesetzt werden:<br>-   `"weekday"`: Zuschlag für die Arbeit an bestimmten Wochentagen<br>    -   Wichtig: Der Parameter `"isoWeekdays"` muss ausgefüllt sein, um zu definieren an welchen Tagen der Bonus relevant ist.<br>-   `"holiday"`: Zuschlag für die Arbeit an Feiertagen<br>    -   Wichtig: <br>        -   Der Parameter `"isoWeekdays"` muss ausgefüllt sein. Damit kann eingeschränkt werden, wenn nur Feiertage, die auf bestimmte Wochentage fallen, berücksichtigt werden sollen. Ansonsten sollte der Wert `[1, 2, 3, 4, 5, 6, 7]` gesetzt werden.<br>        -   Der Parameter `"onHolidaysRegion"` muss ausgefüllt sein. | Text |
| -   `"isoWeekdays"` | Definiert die gültigen Wochentage der Regel:<br>1 steht für Montage  <br>2 für Dienstage  <br>3  ...  <br>7 für Sonntage  <br>  <br>Für Montag- Freitag:  <br>`"isoWeekdays": [1, 2, 3, 4, 5]` |  |
| -   `"onHolidays`  <br>    `Region"` | Definiert den zu berücksichtigen Urlaubskalender im Format \[Ländercode, Regionscode\]  <br>Beispiel für Brandenburg, Deutschland:  <br>\[“DE”, “BB”\]    <br>  <br>[Liste der Länder und Regionscodes](https://www.npmjs.com/package/date-holidays?activeTab=readme) | Array |
| -   `"timeFrame"` | Definiert das zu berücksichtigende Zeitintervall über Start- und Endzeit:<br>`{ "start": "00:00", "end": "00:00" }` | Zeit (HH:MM) |
| -   `"roundUpAfter"` | Definiert die Rundungsregel bei erfassten Zulagen:<br>-   Minutengenaue Abrechnung: `"roundUpAfter": -1`<br>-   auf 6 Minuten aufrunden: `"roundUpAfter": 0.1`<br>-   Viertelstündlich aufrunden: `"roundUpAfter": 0.25`<br>-   Halbstündlich aufrunden: `"roundUpAfter": 0.5` |  |
| -   `"pricePerUnit"` | Betrag des Zuschlags pro Stunde. (Dezimalzeichen muss als Punkt angegeben werden) | Dezimalzahl |
| -   `"notConsidered`  <br>    `Activity`  <br>    `Categories"` | Definiert welche Aktivitäten von Bonuszahlungen ausgenommen sind.<br>`"notConsideredActivityCategories": ["guest-ride", "pause"]`<br>[Übersicht der Aktivitätskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Array |
| -   `"priority"` | 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 |

* * *

### Überstunden und Mehrarbeitszuschlag (TimeFrameOvertimePremiumRate)

Mit der Regel **TimeFrameOvertimePremiumRate** lassen sich Überstunden automatisch berechnen – also Arbeitszeiten, die über ein festgelegtes Stundenlimit hinausgehen.

Die Auswertung kann auf drei Arten erfolgen:

-   pro Schicht (`shift`)
-   pro Woche (`week`)
-   pro Monat (`month`)

WILSON vergleicht dabei alle erfassten Arbeitsstunden und Abwesenheiten im gewählten Zeitraum. Sobald die festgelegte Grenze (`thresholdHours`) überschritten wird, zählt die übersteigende Zeit als **Überstunden**. Diese Überstunden werden mit dem festgelegten **Mehrarbeitszuschlag** (`overtimePremiumRate`) multipliziert.

**Beispiel**

Ein Mitarbeiter arbeitet von Montag bis Freitag in jeweils einer Schicht:

-   Montag: 8 Stunden  
-   Dienstag: 6 Stunden  
-   Mittwoch: 10 Stunden  
-   Donnerstag: 8 Stunden  
-   Freitag: 8 Stunden  
-   Samstag & Sonntag: frei

**Berechnung pro Schicht**

-   Einstellung:`**frequency[unit]: shift**`  
-   Grenzwert: `thresholdHours: 8`
-   Ergebnis: Jede Stunde über 8 Stunden pro Tag zählt als Überstunde.  

→ In diesem Beispiel fallen **2 Überstunden** an (am Mittwoch).

**Berechnung pro Woche**

-   Einstellung: `frequency[unit]: week`  
-   Grenzwert: `thresholdHours: 40`  
-   Ergebnis: WILSON addiert alle Stunden innerhalb einer Woche.  

→ Gesamtarbeitszeit: 40 Stunden → **keine Überstunden**

Wären am Freitag statt 8 Stunden **10 Stunden** gearbeitet worden, wären es zusammen **42 Stunden**, also **2 Überstunden** für die Woche.

```plaintext
{
  "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`  <br>`FillUpTo"` | Mindestabnahmemenge an Stunden pro Schicht | Dezimalzahl |
| `"activity`  <br>`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`  <br>`Categories"` | Definiert ein Set aus Aktivitätskategorien, für welche die nachfolgenden Regeln gelten:<br>Auswahl der Aktivitäten **Zugfahrt** und **Rangieren**:<br>`"activityCategories": ["train-ride", "guest-ride"]` <br>[Übersicht der Aktivitätskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | Array |
| `"roundUpAfter"` | Definiert die Rundungsregel bei erfassten Aktivitäten:<br>-   Minutengenaue Abrechnung: `"roundUpAfter": -1`<br>-   auf 6 Minuten aufrunden: `"roundUpAfter": 0.1`<br>-   Viertelstündlich aufrunden: `"roundUpAfter": 0.25`<br>-   Halbstündlich aufrunden: `"roundUpAfter": 0.5` | Dezimalzahl |
| `"minimum`  <br>`Amount"` | Definiert die Mindestabnahme pro Aktivität für das gewählte Set an Aktivitäten. | Dezimalzahl |
| `"absence`  <br>`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.<br>Verrechnung von Krankentagen und Urlaubstagen:<br>`"absenceCategories": ["vacation", "sick-leave"]`<br>[Übersicht der Abwesenheitskategorien](https://support.wilson.menlo79.com/de/article/abrechnungsregeln-konfigurationshilfen-und-vorlagen) | 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` .  <br>`"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:<br>`"unit":` `"month"` / `"week"` <br>Der Parameter "number" definiert die Anzahl der Wochen/Monate des Intervalls:<br>`"number":` `1` / `2` /`...` | Zahl |
