Skip to content

Functional Integration

Jani Giannoudis edited this page Jul 3, 2023 · 16 revisions

Payroll Engine Functional Integration

Die Payroll Engine bietet Zugriff auf alle Unternehmensdaten:

  • Zeitdaten
  • Audit


Payroll Object Identification

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


Object Attributes

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.

Dynamic Object Attribute

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


Case Values and Documents

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.



Time data

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.



Payrun Results

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
Clone this wiki locally