-
-
Notifications
You must be signed in to change notification settings - Fork 19
PayrunModel
The creation of Payrun objects requires that the case model is available. The following procedure is recommended for modelling.
- Determination of output values
- Payslip data
- Data required by law (monthly, annual)
- Data for peripheral systems such as financial accounting
- Split the output values to
- Wage type: The calculation step for an output value
- Collector: Aggregation values based on wage types
- Determination of wage types with processing order
- Determination of collectors and assignment to wage types
- Determination of clusters and assignment to wage types (optional)
The wage types are usually executed in the following order:
- Income and benefits
- Gross salary
- Deductions and expenses
- Net salary
- Consolidated values (Collectors)
To simplify the use of payroll results, step 5 additionally maps the collector results as wage types.
The next step is to determine the wage type number ranges.
| Wage type range | Scope |
|---|---|
1000 - 4999
|
Income and benefits |
5000 - 5009
|
Gross salary |
5010 - 6499
|
Deductions and expenses |
6500 - 6599
|
Net salary |
6600 - 9099
|
Consolidated values |
To record wage types and collectors, it is advisable to create an assignment matrix. The following example shows such a 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 result is listed by the withholding tax collector as wage type 9070.
The table can be expanded for special cases:
- Additional clustering columns
- Collectors can be grouped for complex scenarios
Wage types are calculated in numerical order, which allows you to define sub-wage types.
In the following example, sub wage type 1000.1 calculates the year-to-date value of wage type 1000.
| Wage type # | Wage type name | Calculation formula |
|---|---|---|
1000 |
Monthly wage | ... |
1000.1 |
Monthly wage yar-to-date | total of wage type 1000 from all cycle periods |
Sub wage types with complex data queries can be excluded using clustering.
The calculation of wage data is based on the calendar assigned to the employee, division or tenant. In situations where a payrun must take different calendars into account, this can vary per wage type.
| Wage type # | Wage type name | Calendar |
|---|---|---|
1000 |
Monthly wage | Month payroll calendar |
1001 |
Bi-Week wage | Bi-Week payroll calendar |
Additional payroll results can be stored as:
- Wage type result attributes for good performance
- Custom wage type result for easy evaluation access
- Payrun result to store other, including non-numerical results
Low-code example of how to set a custom attribute used in the wage type value expression.
SetResultAttribute("MyAttribute", 2560)Low-code example of how to add a custom result used in the wage type value expression.
AddCustomResult("MySource", 9217)No-code example of how to set a payrun result used in the wage type value action.
^|MyPayrunResult = PeriodStartDate- Regulation Design guidelines
- Lookups design guidelines
- Case Model design guidelines
🤝 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