-
-
Notifications
You must be signed in to change notification settings - Fork 17
Functional Integration
Die Payroll Engine bietet Zugriff auf alle Unternehmensdaten:
- Zeitdaten
- Audit
Die meisten Payroll Engine Objekte besitzen das Feld Identifier oder Name zu ihrer Identifikation. Referenzen zwischen Payroll Objekten erfolgen über diese. Dabei eignen sich technische Begriffe besser, welche jedoch nicht für den Anwender gedacht sind.
Die integrierte Lokalisierung ermöglicht es, einen verständlichen und benutzerfreundlichen Text zu bieten. Im folgenden Beispiel hat der Case den Namen MonthlySalary [#03
] und diverse Lokalisierte Bezeichner [#05-#09
]:
01 "cases": [
02 {
03 "name": "MonthlySalary",
04 "nameLocalizations": {
05 "en": "Monthly salary",
06 "de": "Monatslohn",
07 "es": "Salario mensual",
08 "ru": "Месячная зарплата",
09 "zh": "月薪"
10 }
11 }
12 ]
Jede Objekt-Identifition ist innerhalb eines Mandanten einmalig.
Best Practices:
- Übernahme der Namenskonventionen aus der Basis-Regulierung
- Sonderzeichen und Leerräume sollten vermieden werden
- Konsistentes Namensmuster für alle Objekte und Bereiche
- Mit einen Namepsace-Prefix lassen sich Namenskonflikte vermeiden z.B.
CH.Swissdec.MonthlySalary
Die Objekte der Payroll Engine besitzen nur die notwendigsten Datenfelder. Die Erweiterung dieser Datenfelder efolgt über Attribute. Ein Attribut ist ein Name mit einem Wert (Dictionary). Im folgenden Besipiel wird dem User eine ERP-Id [#08
] und der Verarbeitungsstatus [#09
] zugeordnet:
01 "users": [
02 {
03 "identifier": "[email protected]",
04 "firstName": "Peter",
05 "lastName": "Schmid",
06 "culture": "de-CH",
07 "attributes": {
08 "ErpId": "C52F4DB2-A677-4BFC-9E5C-A4713A2532F5",
09 "ErpProcessCode": 3
10 }
11 }
12 ]
Attribute sind integraler Bestandteil eines Objektes. Für zentrale Payroll-Objekte bestehen für die Attribute zusätzliche REST-Endpunkte, wie z.B. die Webmethoden GetUserAttribute
, SetUserAttribute
und DeleteUserAttribute
.
Bei der Abfrage von Objektdaten können Attributfelder mit eine Prefix wie normale Objektfelder abgefragt werden. Bei einem Query mit einen Attributfeld im Filter, sind nur die passenden Objekte im Resultat.
TODO Example
Im Objekt Employee sollten nur unveränderbare Daten als Attributen genutzt werden. Für änderbare Werte eignen sich Case-Felder besser.
Im Gegensatz zur statischen Modifikation von Attributen mittels REST-API, können Attribute dynamisch zur Laufzeit generiert (siehe Scripting). Attribute lassen sich vielseitig einsetzen:
- Steuerung der Benutzereingaben (siehe Input-Attribute der Web Applikation).
- Ein Resultat des Lohnlaufs mit financial accounting information ergänzen
Die Payroll Engine speichert die Case Values für vier Domänen:
- Global
- National
- Company
- Emplyees
Die Payroll Engine speichert die Case Values nicht in CRUD Modus, sondern trackt die Veränderung der Werte auf der Zeitachse. Die Webmethode GetPayrollTimeCaseValues
liefert den Case Value zu einem spezifischen Zeitpunkt.
Dokumente sind Case Values zugeordnet und können beim Case Change mit übertragen werden:
01 "cases": [
02 "userIdentifier": "[email protected]",
03 "case": {
04 "caseName": "EmployeeProfile",
05 "values": [
06 {
07 "caseFieldName": "ProfilePicture",
08 "documents": [
08 {
09 "name" : "ProfilePicture",
10 "contentType": "image/png",
11 "contentFile": "docs/female.png"
12 }
13 ]
14 }
15 ]
16 }
17 ]
Dokument sind unveränderbar und können über spezifische Endpunkte (z.B. QueryEmployeeCaseDocuments
) abgefragt werden.
Der Import von Geschäftsdaten sollte in der Regel kein Problem sein, da die klasische Mutation lediglich einen Sonderfall von Zeitdaten darstellen: erstelle mir diesen Wert, welcher von heute an unbegrentzt gilt. Der Export von Zeitdaten setzt voraus, dass das Umsystem mit den Zeitwerten umgehen kann.
Für die Lohnlauf-Objekte Collector und WageType können neben Attributen auch zusätzliche Ergbnisse generiert werden (siehe Scripting). Die Werte sind nummerisch und lassen sich wie die üblichen Kollektoren- und Lohnartenergbenisse auswerten.
Anwendungsszenarien
- Firmenregulierung ergänzt die Lohnart einer Basisregulierung mit Zusatwerten
- Speichern von auswertungsrelevanten oder nachzuprüfenden Zahlen
🤝 Thank you for supporting this project with a donation.
⚡ This is a pre-relase version of the initial development, please read the restrictions.
- Payroll Engine