Wage Types & Collectors
Processing Order
Wage types are typically executed in the following order:
- Income and benefits
- Gross salary
- Deductions and expenses
- Net salary
- Employer costs
- Consolidation WageTypes — cross-country aggregation interface
- Consolidated values (Collectors)
Steps 6–7 additionally map collector and key results as wage types for easy querying.
Number Ranges
| Wage Type Range | Scope |
|---|---|
1000 - 4999 |
Income and benefits |
5000 - 5099 |
Gross salary |
5100 - 6499 |
Deductions and expenses |
6500 - 6599 |
Net salary |
6600 - 6999 |
Employer costs |
7000 - 7049 |
Cross-Country Consolidation WageTypes (cluster: Consolidation) |
7050 - 7099 |
Country Consolidation WageTypes (cluster: Consolidation) |
7100 - 9099 |
Employer costs and provider / tenant WageTypes |
Assignment Matrix
To document wage types and collectors, it is advisable to create an assignment matrix:
| Wage Type # | Wage Type Name | Gross Salary Collector | Withholding Tax Collector |
|---|---|---|---|
1000 |
Monthly wage | yes | yes |
... |
... | . | . |
1005 |
Hourly wage | yes | yes |
... |
... | . | . |
1980 |
Further education | yes | no |
... |
... | . | . |
5000 |
Gross salary | no | no |
... |
... | . | . |
6500 |
Net salary | no | no |
... |
... | . | . |
9070 |
Withholding tax | no | no |
In this example, the withholding tax collector result is exposed as wage type 9070.
The matrix can be extended for special cases — additional clustering columns, or grouped collectors for complex scenarios.
Consolidation WageTypes
The consolidation range 7000–7099 is split into two tiers:
Cross-Country Consolidation (7000–7049)
Wage types 7000–7049 form the standardised cross-country consolidation interface.
Every country regulation participating in consolidation must implement these wage types
with identical semantics and clusters: ["Consolidation"].
| Wage Type | Name | Description |
|---|---|---|
7000 |
TotalGross | Total gross income |
7005 |
TaxEmployee | Employee income tax (negative) |
7010 |
TotalDeductionsEmployee | Total employee deductions (negative) |
7015 |
SocialSecEmployee | Employee social security contribution (negative) |
7020 |
TotalEmployerBurdens | Employer social security contribution |
7025 |
NetIncome | Net salary |
7030 |
TotalEmployerCost | Total employer cost (= 7000 + 7020) |
The Regulation.Consolidation shared regulation provides Guard WageTypes (8000–8030,
cluster: Consolidation) that abort the payrun when a mandatory cross-country wage type
is missing from the country regulation — ensuring the cross-country reporting layer
always has complete data.
Country Consolidation (7050–7099)
Wage types 7050–7099 provide sub-jurisdiction detail for countries with internal
tax or social insurance divisions (e.g. US federal states, CH cantons). Each country
defines its own semantics for this range. Country-internal consolidation repos query
both 7000–7049 and 7050–7099; cross-country reports use only 7000–7049.
Sum rule: Country Consolidation WTs must decompose their cross-country parent. The sum of the detail wage types must equal the parent:
7005 = sum of tax detail WTs in 7050–7099
7010 = sum of social contribution detail WTs in 7050–7099
7020 = sum of employer social detail WTs in 7050–7099
Countries without sub-jurisdictions do not need to implement 7050–7099.
Payrun with Multiple Calendars
The calculation of wage data is based on the calendar assigned to the employee, division or tenant. In situations where a payrun must handle different calendars, this can be configured per wage type:
| Wage Type # | Wage Type Name | Calendar |
|---|---|---|
1000 |
Monthly wage | Monthly payroll calendar |
1001 |
Bi-week wage | Bi-week payroll calendar |
Additional Payroll Results
Additional payroll results can be stored as:
- Wage type result attributes — best performance
- Custom wage type results — easy to query
- Payrun results — for non-numerical or arbitrary data
Low-code example: set a custom attribute in the wage type value expression.
SetResultAttribute("MyAttribute", 2560)
Low-code example: add a custom result in the wage type value expression.
AddCustomResult("MySource", 9217)
No-code example: set a payrun result using a wage type value action.
^|MyPayrunResult = PeriodStartDate
Payroll Results
The results of the payrun are stored in the following objects:
| Object | Description |
|---|---|
Collector Result |
The aggregated decimal result of a collector |
Collector Custom Result |
User-defined collector result (decimal) |
Payrun Result |
Payrun-specific result, including non-numerical values |
Wage Type Result |
The wage type result (decimal) including custom attributes |
Wage Type Custom Result |
User-defined wage type result (decimal) |
Cluster sets in the payroll configuration control which results are generated (see Clusters).
Wage Type Custom Resultsare also generated automatically — one per case value time split — whenclusterSetWageTypePeriodis configured on the payroll. See Wage Calculation Traceability.
See Also
- Payrun Overview
- Regulations — clusters, payroll configuration
- Calendars
- Compliance
- Period Totals — YTD accumulation in reports