Skip to content

ClientServices

Jani Giannoudis edited this page Feb 24, 2026 · 1 revision

Client Services

The Client Services are additional components that make it easier to work with the Payroll API efficiently. They are used for:

  • Migrations and integrations (e.g. interfaces to surrounding systems)
  • Management of regulations and tenants
  • Testing of regulations
  • Development of scripts

Client Services

Service Components

Component Description
Model Model of the API objects (Swagger schema), extended with exchange-relevant values and properties. A model object is copyable and comparable and can be used or extended by inheritance or contract/interface.
Service Access to the API endpoints (Swagger endpoints). A service can be used or extended by inheritance or contract/interface.
Exchange JSON import and export of payrolls.
Test Tests of business cases and payruns.
Service API Communication with the Payroll API.
Function Templates for the development of function scripts.
Runtime Function runtime environment for the development of function scripts.
Runtime API Communication with the Service API.

Exchange Model

The Exchange Model contains all API objects of the Payroll Engine for data exchange:

Exchange Model

Various tools are available for processing the model (e.g. import and export), which also work for reduced model areas. In addition, there are classes that handle the sequence of model processing and allow the user direct object access.

Regulation Development

Regulations are described in JSON files and contain the payroll logic as C# code. See Regulations for the regulation object model and Regulation Design for development guidelines. This is specified as an embedded object expression or in a source code file (.cs). Externalizing business logic into source code files is required for shared regulations. In addition to documentation, the NuGet mechanism is used to provide versioned regulations.

Regulation Packages

NuGet Packages

The following NuGet packages are available for regulation development:

  • PayrollEngine.Client.Core — Core client library
  • PayrollEngine.Client.Services — Client services for API access
  • PayrollEngine.Client.Scripting — Scripting runtime for local development and debugging

See NuGet for all available packages.

Payroll Console

The Payroll Console application provides various Client Services functions as console commands:

  • Payroll import (JSON)
  • Import of text tables (CSV, tab-delimited)
  • Payroll export (JSON)
  • Payroll test (JSON: import payroll, payrun, result test, cleanup)
  • Employee test (JSON: import case data, payrun, result test)
  • Scripting import, export and rebuild
  • Payroll log trail
  • Payroll API queries
  • Payroll reports in various formats

Commands are controlled via command line parameters. For batch execution, command chains can be defined in command files with the .pecmd extension. In addition to the predefined commands, custom commands can be developed and integrated.

Web Application

The web application provides various Client Services functions in the browser:

  • Management of tenants and employees
  • Management of regulations
  • Entry of case data
  • Execution of payruns
  • Evaluation of payrun results
  • Management of user tasks and developer logs

See also

Clone this wiki locally