Skip to Content
ERPX Documentation — Your complete guide to the ERPX platform

Payroll Setup

Go to: HR → Setup → Payroll Setup

Payroll Setup creates the building blocks of pay. Operational payroll (assignments, payroll entry, salary slips) is under Payroll & Salaries.


1. Salary Component

Go to: HR → Setup → Payroll Setup → Salary Component

A Salary Component is one line on a payslip — Basic, HRA, Medical, Provident Fund, Income Tax, and so on.

FieldWhat it means
Name / AbbreviationFull name and short code on slips
TypeEarning or Deduction
Amount TypeFixed, Percentage or Per-hour based
Calculation BasisWorking days, overtime, short hours, monthly or one-time
FormulaOptional expression for the payslip line or benefit entitlement
TaxableWhether included in tax calculation
Pay against Benefit ClaimClaimable benefit earning (with yearly max / pro-rate options)
AccountLedger account for accounting posts

Status: Draft → Approved → Cancel

Benefit Claims apply to earnings only. Benefit claims later pay against that flexible component.

Amount formula

Go to: HR → Setup → Payroll Setup → Salary Component → Calculation

Turn on Use formula for an ordinary earning or deduction. The expression replaces the fixed amount or percentage. Payroll does not prorate that result again.

A flexible benefit that pays against a claim uses a benefit entitlement formula instead. That result is the full HR Period entitlement. Pro-rate and accrual still apply after it.

Formulas are unavailable on system components, statistical components, employer contributions and per-hour components. Enabling Use formula clears any existing calculation basis and hours-adjustment rate basis. Turning it off clears the formula; review the amount and calculation settings before saving.

VariableWhat it is
basePayslip base after joining-date proration. On a benefit this is the full assignment base.
full_baseAssignment base before joining-date proration. On a benefit this matches base.
present_daysDays present on the slip. Present counts as 1 and Half Day as 0.5. Zero is valid. Payroll only.
working_daysFull-period payroll working-day denominator, following the shift’s custom working days or the organization’s Default Working Days where configured, with existing payroll fallbacks. This is not necessarily a count of calendar working days. Must be greater than zero. Payroll only.
expected_hoursFull-period expected hours. With a shift this is working days times net shift hours after breaks. With no shift it equals Default Working Days. Payroll only.
hourly_rateFull assignment base divided by expected hours. Payroll only.

Use +, -, * and / with parentheses. Multiplication and division run before addition and subtraction.

Variable and function names are case-sensitive: use base, not Base. Enter numbers without thousands separators, such as 100000 or 1000.50. Scientific notation and comments are unsupported. A formula can contain up to 512 characters and 32 levels of expression nesting.

FunctionPurposeExample
min(value, limit)Smaller value. Use it as a cap.min(base * 10 / 100, 5000)
max(value, limit)Larger value. Use it as a floor.max(base * 10 / 100, 2000)
round(value, precision)Round to 0–6 decimal places. Enter the precision directly as an integer from 0 to 6, not a variable or expression.round(base * 10 / 100, 2)

The saved amount is rounded to 3 decimal places and must be zero or positive.

SituationExpressionResult
10% of a 100000 basebase * 10 / 10010000
Same base joined 16 May in a 31-day monthbase * 10 / 1005161.29
Full salary for that partial monthfull_base * 10 / 10010000
1 present day and 1 half day capped at 6000min(300 * present_days, 6000)450

A 22-day period on an 8 hour shift with no break has 176 expected hours. With no shift and Default Working Days of 20, expected hours are 20 and a 100000 base has an hourly rate of 5000.

Preview a formula:

  1. Enter the expression, or use Insert variable, Insert function or an example to build it.
  2. Enter Sample base salary. Additional sample fields appear for other variables referenced by a valid formula; fill those in too. Samples must be non-negative, and working_days and expected_hours must be greater than zero.
  3. Click Preview calculation and review the result or error.

Preview uses hypothetical numbers only. It does not load an employee’s salary or attendance, or save the component. Payroll supplies the actual assignment, shift and attendance values when generating slips. Syntax valid checks the expression’s syntax; division by zero, a negative result or unavailable values can still cause calculation to fail. For example, base / present_days cannot calculate when present_days is zero.

A new salary structure line copies the component formula. Changing the component later does not automatically update existing structure lines. See Salary Structure to adopt the latest formula or switch a line back to an amount or percentage.

Benefit entitlement example: With an effective assignment base of 100000, base * 10 / 100 sets a full HR Period entitlement of 10000 and replaces the yearly maximum amount or percentage calculation. If pro-rate reduces entitlement to 50%, that becomes 5000. If accrual then releases 50% of that entitlement, 2500 is available before accounting for claims. These percentages illustrate the order of calculation; actual factors follow the employee’s dates and working-day rules.

For a benefit claim, base and full_base come from the employee’s latest active salary structure assignment effective on the claim date. Its structure must include the benefit component. A later salary increase does not raise the entitlement for an earlier claim.

Write a percentage as base * 10 / 100. The % sign, component abbreviations and conditions are not allowed. Benefit formulas can use only base and full_base. A missing day or hour value stops slip generation for that employee. Zero present days is allowed when attendance exists.


2. Salary Structure

Go to: HR → Setup → Payroll Setup → Salary Structure

A Salary Structure is a named pay package: which components apply, and how often payroll runs for that package.

FieldWhat it means
Namee.g. Staff Monthly, Worker Monthly
Payroll FrequencyHow often this structure is paid
Salary DetailsComponent lines with an amount, a percentage or a formula

Status: Draft → Approved → Cancelled

Employees are not paid from the structure alone — you must later create a Salary Structure Assignment with a base salary.

For a component line with a formula, Use component formula copies the component’s current formula into that line. Use this to update an existing line after changing the component; editing an unrelated field does not refresh the copy. Use fixed / percentage removes the line’s formula and restores the component’s amount and applicable percentage setting. Review the line and save the structure after either action. Benefit entitlement formulas are copied into structure lines in the same way.


3. Income Tax Slab

Go to: HR → Setup → Payroll Setup → Income Tax Slab

Income Tax Slabs define tax brackets used when calculating payroll tax.

FieldWhat it means
Namee.g. Standard Tax Slab 2026
Is DefaultDefault slab when assignment does not override
BracketsMin/Max income, rate %, fixed tax, sort order

Status: Draft → Approved → Inactive

Bracket ranges must not overlap. On an employee’s salary structure assignment you can pick a slab or bypass tax slab calculation when required.


After Payroll Setup

Continue in Payroll & Salaries:

  1. Assign salary structures to employees (single or bulk)
  2. Create a Payroll Entry for the period
  3. Generate, approve, and pay salary slips
  4. Use Additional Salary, Benefit Claims, or Retention Bonus when needed