Documentation

Payroll Levels

Requires. Payroll with View to open a level. Creating a level requires Payroll with Create. Editing rows, assignments, or deleting a level requires the matching Modify or Delete grant.

A level is the tier used by a function. Levels let one function pay different amounts to different users or entities without duplicating the whole function. For example, an install function might have Level 1, Level 2, and Level 3 tiers with different amounts.

Level fields

Field Required? Type Validation Notes
Name Yes Text Up to 255 characters The tier name shown in Payroll Admin and user payroll assignments.
Active No Checkbox On or off Inactive levels remain in history but should not be used for new assignments.
Description No Text Up to 255 characters Short internal explanation of when this level should be used.

Save the level before configuring payable rows or assigning users.

Payable rows

Payable rows define who receives money and how the amount is calculated. A level can have one row for a simple payout or several rows for split payouts, bonuses, overrides, and conditional amounts.

Row field Required? Type Validation Notes
Name Yes Text Up to 255 characters Use a short label such as "Base", "Trainer Override", or "Self-gen Bonus".
Active No Checkbox On or off Turn off a row without deleting its history.
Description No Text Up to 255 characters Explain the row's purpose when the label is not enough.
Sort No Number Numeric Controls the display order of rows. New rows are created in increments of 10.
Pay To Yes Select Must be one of the available payee sources Choices are Payee that triggered the calculation, Customer Rep, Customer Lead Rep, Customer Trainer, Customer Rep's Manager (hierarchy parent), and Specific User.
Payee User ID Conditional Number Required when Pay To is a specific user Enter the exact user ID for fixed-user payouts.
Amount Source Yes Select Limited by Operations Plus availability Without Operations Plus, only Fixed amount is available. Operations Plus adds From field x multiplier, From lookup table, From arithmetic expression, and Scheduled count lookup.
Payout Amount Required for fixed amounts Number Numeric The dollar amount for Fixed amount rows.
Lookup Table Required for lookup rows and scheduled count lookup rows Select Must be an active lookup table Available only with Operations Plus.
Field Required for field multiplier rows Select Must be a numeric payroll variable Available only with Operations Plus.
Multiplier Required for field multiplier rows Number Numeric Use 1 to keep the field amount as-is, 0.1 for 10%, and similar decimal multipliers.
Expression Required for expression rows Token editor Arithmetic over numeric payroll variables Supports +, -, *, /, parentheses, min, max, and abs. Active payroll schedules are available as tokens ({payroll_schedule.N} where N is the schedule ID). The installed quantity of a specific equipment catalog item is available as {customer_equipment.N} where N is the equipment catalog ID — enter the ID in the customer equipment group of the Insert field picker. Bad expressions resolve to 0.
Schedule Required for scheduled count lookup rows Select Must be an active payroll schedule Available only with Operations Plus. Determines what is counted and over which time window.
Notes (shown on the payable line) No Token editor Free text with supported placeholders Available only with Operations Plus. Supports placeholders such as {amount}, payroll variables, active payroll schedule counts ({payroll_schedule.N} where N is the schedule ID), customer equipment quantities ({customer_equipment.N} where N is the equipment catalog ID), and customer equipment names ({customer_equipment_name.N} where N is the equipment catalog ID).

To delete a row, click the trash button in the row's header. SecurityTrax asks you to confirm before the row is deleted. To keep a row's history instead, turn off its Active checkbox rather than deleting it.

Row conditions

Operations Plus rows can include Only auto-generate this row when... filters so a row only pays when selected customer or payroll variables match. Use row filters for add-on bonuses, state-specific amounts, partner-specific payouts, and similar exceptions.

The available operators are equals, does not equal, greater than, greater than or equal, less than, less than or equal, in, not in, contains, does not contain, is empty, and is set. Boolean variables use equals, does not equal, is empty, and is set.

For in, not in, contains, and does not contain, the Value field accepts a comma-separated list of numeric IDs to match against any one of them — for example, 1217,1072 matches if the variable equals either ID. Saving validates this: a comma-separated value must be all numeric IDs, or SecurityTrax rejects it with "A comma-separated value must contain only numeric IDs (e.g. 1217,1072)" instead of silently saving a filter that can never match.

When a row filter does not match, SecurityTrax skips that row. Other rows on the same level can still pay if their own setup matches.

Assigned users

When the function's list method pays users, the level page shows Assigned Users. Use it to review which active users are currently assigned to this level, add another active user, or remove an existing assignment.

Assignments decide which level SecurityTrax uses for future payroll generation. Existing payable entries do not change retroactively when assignments move.

Legacy-managed levels

Some older levels are managed by the SecurityTrax Team. When a level is legacy-managed, Payroll Admin shows a locked message instead of editable fields, rows, assignments, save actions, or delete actions.

Related

Ask about the docs
Ask about the docs
Answers from the SecurityTrax documentation

Ask about a feature, setting, or workflow.

Answers come from the documentation. Double-check anything important. AI features are subject to the AI Terms.