to select ↑↓ to navigate
Smooth HR

Smooth HR

Salary Structure

A Salary Structure is a reusable template that defines how an employee's pay is calculated — listing earnings, deductions, and formulas that produce each line on a Salary Slip. Structures are assigned to employees via Salary Structure Assignment and are the single source of truth for compensation logic in Smooth HR Payroll.

Help URL: smoothhiring.com/help/hrms/payroll/salary-structure


Table of Contents

  1. Overview
  2. Where to find it
  3. Salary Components first
  4. Creating a Salary Structure
  5. Structure rows explained
  6. Formulas and conditions
  7. Assigning to employees
  8. Key fields reference
  9. Common structure patterns
  10. Tips
  11. Troubleshooting
  12. Related guides

Overview

Aspect Detail
DocType Salary Structure
Desk path /app/salary-structure
Related Salary Component, Salary Structure Assignment, Salary Slip
Purpose Template of pay components with amounts or formulas

Think of Salary Structure as a recipe: Salary Components are ingredients; the structure defines how much of each goes into every payslip for employees assigned to it.


Where to find it

Location Path
Payroll sidebar → Setup → Salary Structure /app/salary-structure
Payroll workspace → Masters card Salary Structure link
Search bar Type "Salary Structure"

Related paths:

record Path
Salary Component /app/salary-component
Salary Structure Assignment /app/salary-structure-assignment
Bulk Salary Structure Assignment /app/bulk-salary-structure-assignment

Salary Components first

Before creating a structure, ensure Salary Components exist at /app/salary-component:

Component setting Why it matters
Type (Earning / Deduction) Determines slip section
Depends on Payment Days Prorates for partial months
Is Tax Applicable Included in taxable income
Variable Based On Taxable Salary Affects TDS calculation
Account GL mapping for journal entries
Do Not Include in Total Statistical components (e.g., employer PF)

Create components for every distinct line on your payslip: Basic, HRA, Special Allowance, Employee PF, Professional Tax, TDS, etc.


Creating a Salary Structure

Step 1: New structure

  1. Salary StructureAdd Salary Structure.
  2. Enter Name — e.g., "Staff Grade A – Monthly" or "Hourly Warehouse".
  3. Select Company.
  4. Choose Payroll Frequency — must match how you run Payroll Entry (Monthly, etc.).
  5. Set Currency.
  6. Enable Is Active (or Is Default if one structure applies broadly).

Step 2: Add earnings rows

In the Earnings table, click Add Row for each earning component:

  1. Select Salary Component (e.g., Basic).
  2. Enter Amount (fixed) OR check Formula Based and enter Formula.
  3. Set Depends on Payment Days if amount should prorate (almost always yes for Basic).

Repeat for HRA, conveyance, and other allowances.

Step 3: Add deductions rows

In the Deductions table, add PF, PT, TDS, loan recovery, etc. Deductions can also be formula-based (e.g., 12% of Basic for PF).

Step 4: Save and validate

  1. Save the structure.
  2. Optionally use Preview Salary Slip (if available) with a test employee assignment to validate amounts.

Structure rows explained

Column Description
Salary Component Link to master component
Abbr Short code used in formulas (e.g., B for Basic)
Amount Fixed value when not formula-based
Formula Based Use expression instead of fixed amount
Formula e.g., B * 0.40 for HRA at 40% of Basic
Condition Optional — row applies only if expression is true
Depends on Payment Days Prorate by payment days / total working days

Order matters for formulas — components referenced in formulas must appear above the row that references them, or use abbreviations of already-defined rows.


Formulas and conditions

Smooth HR supports safe formula expressions on structure rows:

Example formula Meaning
base Reference fixed amount in Amount column
B * 0.50 50% of Basic (B)
min(B * 0.40, 20000) HRA capped at 20,000
payment_days / total_working_days * base Manual proration (if Depends on Payment Days off)

Condition examples:

Condition Effect
employment_type == "Intern" Row only for interns
branch == "Mumbai" Location-specific allowance

Use Condition sparingly — prefer separate structures when rules diverge significantly.


Assigning to employees

A structure alone does not pay anyone. Create Salary Structure Assignment:

  1. Go to /app/salary-structure-assignment.
  2. Select Employee, Salary Structure, From Date.
  3. Optional To Date for temporary assignments.
  4. Enter Base if structure uses variable base (some formulas reference base).
  5. Submit the assignment.

For bulk onboarding, use Bulk Salary Structure Assignment at /app/bulk-salary-structure-assignment.

Rule Detail
One active assignment Typically one open assignment per employee per company
Effective dating From Date must be ≤ payroll period start for inclusion
Changes mid-period New assignment with later From Date; payroll may need split runs

Key fields reference

Header:

Field Description Required
Name Unique structure name Yes
Company Company scope Yes
Payroll Frequency Monthly / Weekly / etc. Yes
Currency Pay currency Yes
Is Active Available for assignment Recommended
Letter Head For printed payslip No
Mode of Payment Default payment mode No

Per row (Earnings / Deductions):

Field Description Required
Salary Component Component link Yes
Amount or Formula Value logic One required
Depends on Payment Days Proration flag Per component

Common structure patterns

Standard salaried (India example)

Row Component Amount / Formula
1 Basic Fixed 50% of CTC
2 HRA B * 0.40
3 Special Allowance Balance to CTC
4 Employee PF B * 0.12
5 Professional Tax Fixed per state
6 TDS Auto from tax engine

Hourly worker

Row Component Formula
1 Hourly Wage hourly_rate * payment_days * hours_per_day

Link hourly rate via Additional Salary or custom field on assignment.

Executive with variable pay

Base structure + Additional Salary for quarterly bonus — keeps structure stable, variable pay separate.


Tips

  • Use abbreviations consistently — document B, HRA, SA in an internal wiki.
  • Minimize structures — one per grade/role, not one per employee.
  • Mark statistical components — employer PF should not inflate net pay display incorrectly.
  • Test with edge cases — join mid-month, exit mid-month, full LWP month.
  • Version by name — "Grade A v2026" when changing formulas mid-year with care.
  • Map accounts early — finance needs GL mapping before first payroll post.

Troubleshooting

Issue What to do
Formula error on slip Check abbreviation exists; row order; syntax
HRA / allowance zero Condition failed; or referenced component zero
Duplicate component on slip Component appears twice in structure — remove row
Assignment not picking structure Frequency mismatch; inactive structure; wrong company
PF / TDS wrong Verify component flags (tax applicable, variable); check declaration
Proration incorrect Enable Depends on Payment Days; verify attendance
Cannot delete structure Cancel assignments first; structure may be linked to submitted slips


Last updated: May 2026

Last updated 1 week ago
Was this helpful?
Thanks!