Skip to content

Regulations

Jani Giannoudis edited this page Jul 8, 2023 · 18 revisions

Payroll Regulations

Regulierung sind ein Lösungsansatz um die Komplexität von Lohnsoftware durch Aufteilung zu reduzieren. Im Gegensatz zu vernetzten Architekturen (z.B. Micro Services), werden die Komponenten der Payroll Engine in einem Schichtenmodell geführt. Jede Schicht beinhaltet Modelle, Berechnungen und Auswertungen. Mit Konzepten der Objektvererbung lassen sich diese Informationen übersteuern und erweitern.
Payroll Regulations

Die Web Application unterstützt das Editieren der Regulierung unter Berücksichtigung der Vererbungshierarchie.

Regulierungen können zwischen Mandanten geteilt werdem, was Ressourcen schont und das Deployment stark vereinfacht. Mit der Payroll Console lassen sich Regulierungen importieren, exportieren und testen.


Regulation Components

Die Regulierung besteht aus folgenden Objekten:

Object Description Eigenschaften
Case Mutation eines Mitarbeiters 1) Behälter für Eingabelder
Verfügbarkeit der Mutation
Kann mit anderen Fällen in Abhängigkeit stehen
CaseField Datenfeld eines Mitarbeiters Eindeutiger Feldname
Daten- und Zeittypen
Steuerung der Benutzeringaben
CaseRelation Beziehung zwischen zwei Fällen Bedingte Beziehung
Bezihung zu Fällen in anderen Regulierungen
Collector Datensammlung während dem Lohnlauf Summieren und andere Operationen
Gruppieren von Kollektoren
Benutzerdefinierte Resultate
WageType Lohnart im Lohnlauf Lohnarten für Löhne, Abzüge und Beiträge
Nummerierte Verarbeitungsreihenfolge
Benutzerdefinierte Resultate
Report Datenauswertung und Austausch Dynamsiche Reportparameter
Mehrpsrachige Report-Templates
Rohddaten Reports
Lookup Datentabellen von Fremddaten 2) Werte nach Schlüssel
Mehrsprachige Werte
Werte für Zahlenbereiche
Script Geteilte Funktionalität in C# Zuordnung zu Funktionen
Custom Actions

1) Es bestehen vier Fallarten: Mitarbeiter, Unternehmen, National und Global.
2) Fremddaten sollten in isolierten Regulierungen geführt werden, um mittels Versionierung korrekte Zeitdaten zu gewährleisten.

Ein Regulierungsobjekt besitzt folgende Eigenschaften:

  • Audit Trail der Modifikationen
  • Erweiterbar mit benutzerdefinierten Attributen
  • Besitzt eine Identifikation, welcher als Schlüssel zur Überlagerung dient

Cluster

Mittels Cluster können Regulierungsobjekte nach freien Kriterien ausgewählt oder ausgeschlossen werden. Der Cluster bietet einen erweiterten Tagging-Mechanismus mit White- und Black-List Tags. Dies kann genutzt werden zur

  • Gruppierung und Filtern von Regulierungsobjekten wie z.B. für Cases und Reports (siehe Web Applikation)
  • Eingrenzung der verfügbaren Falldaten für den Lohnlauf
  • Eingrenzung von Payroll Resultate
  • Optimierung von Rückrechnungsläufen

Actions

Mit Actions wird die Dateneingabe und Überprüfung ohne Programmierkentnisse gesteuert. Ein Action ist wie bei Excel eine vordefinierte Funktion welche auch bedingt ausgeführt werden kann, analog zur Excel Funktion IIf(expression, true, false). Die Action hat Zugriff auf die Benuterzereingaben, vorangegangene Falldaten und Lookuptabellen.
Case Actions

Es sind auch benutzerdefinierte Actions als Bestandteil der Regulierung möglich.


Functions

Das Laufzeitverhalten der Payroll Engine wird durch Funktionen bestimmt. Jedes Regulierungsobjekt bietet entsprechende Funktionen an, zum Beispiel das Object Wage Type die Funktion Wage Type Value. Mit C# Code (Script Expression) wird die Funktion vervollständigt.

Payroll Engine Funktionen:
functions

C# Scripts für die Case und Report Funktionen können auch im lokalen Debugger ausgeführt werden.


Deployment

Eine Regulierung besteht aus JSON, C# und Report Dateien, welche als komprimierte Zipdateien verteitlbvar sind. Regulierungen mit geteiltem Scriptcode werden als NuGet-Pakete verteilt, inklusive der Versionierung und weiteren Abhängigkeiten.


Development Tools

Für die Entwicklung einer Regulierung bestehen verschiedene Hilfsmittel:

  • Web App - Prototyping einer Lohnlösung mit zeitgerechter Bedieneroberfläche
  • Payroll Console - Entwicklung einer Lohnlösung mittels JSON/C# Dateien, inkl. Versionsmanagement und Tests
  • Visual Studio, VS Code - Entwicklung einer komplexen Lohnlösung in .NET Projekten, inkl. Versionsmanagement, Tests und Debug-Support
Clone this wiki locally