-
-
Notifications
You must be signed in to change notification settings - Fork 20
ClientServices
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
| 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. |
The Exchange Model contains all API objects of the Payroll Engine for data exchange:
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.
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.
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.
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.
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
🤝 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