Skip to content

PayrollModel

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

Payroll Model

The payroll model contains objects for the following functional areas:

  • Basic — Base and infrastructure objects
  • Case Management — Objects for capturing business data
  • Payrun — Objects for processing payroll data
  • Report — Objects for transforming output data

The following overview shows the static topology and the runtime behavior control via scripts and actions:

Payroll Model

Tenant

The multi-tenant payroll service provides the following objects to define a tenant with its organizations, employees and users:

Object Description
Tenant Contains all tenant data. All tenant objects reference this object.
Calendar The payroll calendars of the tenant.
Division Subdivides the company into organizational units. Each tenant has at least one division.
Employee Employees assigned to one or more divisions.
User System users.
Task User tasks.
Log Tenant-specific log entries.

With the exception of shared regulations, all domain objects described below are assigned to the tenant.

Payroll

The Payroll object combines multiple regulations into a virtual payroll model using a layered approach. The following objects are involved:

Object Description
Payroll Groups multiple regulation layers into a single payroll and is assigned to a division.
Payroll Layer Defines the priority and processing order of the regulations.

The payroll provides a consolidated view across all regulation layers.

Payroll Layers

The evaluation order of regulations is determined by the level (primary sort) and priority (secondary sort) in each Payroll Layer. The number of layers is unlimited.

Payroll Layers

Objects from lower payroll layers can be overridden using the override key. The values of all layers are dynamically merged into a single composed object, including:

  • Localizations
  • Attributes
  • Clusters
  • Case slots, lookups and actions
  • Text fields

Payroll Clusters

Clusters group regulation objects by arbitrary criteria. This can be used to:

  • Filter API queries, e.g. to group cases
  • Optimize the payrun by reducing case data scope
  • Restrict payroll results

Each cluster object can have multiple cluster names (analogous to tags). Querying uses a Cluster Set containing the clusters to include (whitelist) or exclude (blacklist). Combining whitelist and blacklist clusters further narrows the selected objects.

The following Cluster Sets are defined in the Payroll object and can be used in the payrun:

Cluster Set Description
Case Cluster Set Available input cases
Case Field Cluster Set Available case data in the payrun
Collector Cluster Set Available collectors in the payrun
Collector Retro Cluster Set Available collectors in the retroactive payrun
Wage Type Cluster Set Available wage types in the payrun
Wage Type Retro Cluster Set Available wage types in the retroactive payrun
Wage Type Period Cluster Set Generate period results from case data
Case Value Cluster Set Available case data for additional results in the payrun

Payroll Scripting

The Scripting API controls the runtime behavior for specific payroll objects (see Automation). Scripts are evaluated according to the processing order defined in the Payroll Layer.

When a scripting function returns an undefined value (null), processing is delegated to the underlying regulation. Object attributes, however, are evaluated in reverse — allowing values to be overridden by a higher-level regulation.

See Also

Clone this wiki locally