Salary components and pay structures
Salary components
A salary component is one line of pay, such as Basic, HRA or Professional Tax. Create them in Payroll configuration → Salary components, or select Add from library to pick standard ones.
| Field | What it does |
|---|
| Code | Short code, also used in formulas, for example BASIC. |
| Name | The name on payslips. |
| Category | Earning, deduction, employer contribution and so on. |
| Component type | How it behaves, for example fixed or variable. |
| Frequency | How often it's paid. |
| Statutory | Whether it's a statutory component such as PF or ESI. |
| Sort order | Order on payslips. |
Pay structures
A pay structure turns an employee's salary into monthly component amounts. Create one in Payroll configuration → Pay structure → Add Pay Structure.
| Field | What it does |
|---|
| Structure name | Identifies the structure. |
| Policy, country, Currency | Inherited from the payroll policy. Override only if this structure needs different values. |
| Salary entered as | How salaries on this structure are entered: Gross Salary, Total Package (called CTC in India), or Any (chosen on each revision). Formulas are checked against it. |
| Statutory setup | Uses its own PF, ESI, PT and LWF rows where it has them, otherwise the Default rows. |
Components and value types
Add components with Add earnings, Add deductions and Add statutory, or Bulk add. For each, choose a Value type:
| Value type | Amount is… |
|---|
| Fixed | A fixed monthly amount. |
| Percentage | A percentage of Basic (default), Gross salary or Total package. |
| Formula | Calculated from a formula. |
| Balance | Takes whatever is left of the salary after the other components. Only one per structure. |
| Statutory | From the PF / ESI / PT setup for the employee. Nothing to enter; it's calculated once, so it isn't counted twice. |
Other settings per component:
| Setting | What it does |
|---|
| Calc. priority | The order components are calculated in. Components used in formulas must be calculated first. |
| Can be changed per employee | The amount can be overridden on a salary revision. |
The formula editor checks a formula as you type. Click a component or function to insert it, and use Try it with sample values to test.
| Value | Meaning |
|---|
SALARY | The salary amount entered on the revision. |
GROSS | Gross pay; only when the salary is entered as gross. |
PACKAGE | Total package (gross pay plus employer contributions); only when the salary is entered as Total Package. |
CTC | Same as PACKAGE. Older formulas that use it keep working. |
| Component codes | The amount of another component, for example BASIC. |
| Function | Example |
|---|
MIN(a, b) / MAX(a, b) | MIN(BASIC * 0.1, 1250) |
IF(condition, then, else) | IF(BASIC > 15000, 1800, BASIC * 0.12) |
ROUND(value, decimals) | ROUND(BASIC * 0.4, 0) |
FLOOR(value) / CEIL(value) / ABS(value) | FLOOR(GROSS / 26) |
Worked example
Structure entered as Gross. Annual gross 4,80,000, so 40,000 a month.
| Component | Value type | Setting | Monthly amount |
|---|
| Basic | Percentage | 50% of Gross salary | 20,000 |
| HRA | Percentage | 40% of Basic | 8,000 |
| Conveyance | Fixed | 1,600 | 1,600 |
| Medical | Formula | MIN(BASIC * 0.1, 1250) | 1,250 |
| Special allowance | Balance | — | 40,000 − 30,850 = 9,150 |
| PF (employee) | Statutory | From PF setup | Calculated in the run |