Wage Types
Wage types are the central configuration objects of the PS module: each wage type describes a salary component (fixed payment, variable payment or absence) that is recorded per person in the salary accounting, calculated and exported to the payroll system. They are managed through the overview ps_showWageTypes (filterable by usage and valuation type) and the detail form ps_editWageType.
Common fields
- Name and description: shown in forms and lists.
-
Code (required): the technical key of the wage type. It is referenced in calculation scripts as the variable
wt<Code>– do not change it after go-live. - Usage type (required, at creation): fixed salary component, variable salary component or absence. The selection reveals the corresponding field group (see below).
-
Valuation type (required): manual – the value is entered in the accounting form – or calculated with a JavaScript expression. The script context provides all manual wage types as variables
wt<Code>and the person asperson(with the HR person data). Example:wtGEHALT * 0.1for a 10% supplement. - Export code: the general code for the export to the payroll system. It only applies when no system-specific export code is stored on the assigned payroll system (see below).
Fixed salary component
For monthly recurring payments (salary, allowances, benefits in kind, ...). Additional fields:
- Salary code (HR-Expert): links the wage type to a salary code from HR-Expert. Through this link, the accounting reads the current payment from the person's salary history – and the workflow system step "write salary changes back" writes amounts changed in the accounting back into the HR-Expert salary history (for amount 0, the existing salary entry is historicized).
- JS expression salary code option: optional boolean JavaScript expression determining for which persons the salary-code link applies (e.g. only certain employment types).
Fixed positions carry a valid-from date; changes relative to the previous month set the change marker of the person statement.
Variable salary component
For one-off or monthly varying payments (overtime, bonuses, travel expenses, ...). Additional fields:
- Subtype: amount, hourly rate or quantity – determines how the entered value is interpreted.
-
Default / minimum / maximum value: each with a value type:
- number – fixed value,
- script – JavaScript expression,
- time account – name of a TA account; the value is pre-filled or limited from the account balance (industrial minutes) at the ultimo of the completed previous month.
- Time account processing mode with source account and target account: controls what the workflow system step "process time accounts" does after approval – an account correction (relative or absolute) or a transfer from the source to the target account at the start of the period.
Typical example, overtime payout: default value = time account "Überstunden" (pre-filled with the previous month's balance), maximum value = the same account (never pay out more than available), processing mode = transfer from source account "Überstunden" → target account "Ausbezahlte Überstunden".
Absence
Links an absence reason from time and attendance to the accounting. Additional fields:
- Absence reason: the absence reason to be accounted (e.g. sick leave, vacation).
- Recording mode: full day, intraday (hours per single day) or days and hours. Caution: this mode cannot be changed after creation – if needed, a new wage type must be created.
Absences are maintained per person and accounting period as intervals (from/to, hours) and exported via the absence connector.
Client assignment
The Clients section defines which clients the wage type applies to. The assignment is historicized to the day and carries a ranking that determines the display order of the wage types in the accounting form. The ranked tables per client are also visible in the client configuration (tab "Payroll services").
Assignment to payroll systems and export codes
The Payroll systems section assigns the wage type to one or more systems, each with an optional system-specific export code (the same assignment can also be maintained from the system form ps_editSystem; duplicates are rejected in both directions).
Precedence rule for exports: the export code of the assignment to the client's payroll system applies; if missing, the wage type's general export code. This way, the same business wage type can carry different codes per target system (BMD, DATEV, ...).
Runtime usage
- When an accounting is created, every person statement automatically receives positions for all fixed and variable wage types assigned to the client.
- Calculated wage types are evaluated after the manual values have been entered.
- The exports (fixed/variable components, absences) deliver, per position, the company number, employee ID, period, value/hours and the resolved export code to the respective connector link.
Practical notes
-
Keep codes stable: calculation scripts (
wt<Code>) and export assignments depend on the code – avoid renaming after go-live. - Usage type and absence recording mode are fixed after creation; a wrong setup requires a new wage type.
- Switching the client's payroll system removes wage-type assignments not contained in the new system – fully maintain the assignments in the target system before switching.
- Maintain the ranking: a consistent ranking per client considerably eases the consultant's monthly data entry.
Related pages: Salary Accounting Process, Payroll Services Module.
Keine Kommentare vorhanden.