Salary Structures and Payroll Processing
Managing payroll in a Nepali business means juggling earnings structures, statutory deductions like PF and SSF, festival bonuses, and IRD compliance — all while keeping your accounts balanced. Udyot ERP’s payroll module handles all of this end-to-end: you define salary structures once, assign them to employees, and run a monthly pay run that auto-computes every deduction, posts a balanced journal to your ledger, and generates employee payslips. A built-in four-eyes approval workflow ensures that no one can both process and approve their own payroll run.
Salary Components
A salary component is the smallest building block of payroll — an individual line item that is either an earning, a deduction, or an employer contribution. Udyot seeds a standard set of Nepal-compliant components automatically when you set up a new company. You can view and extend them at HR → Salary → Components.
| Component | Type | Taxable? | Notes |
|---|---|---|---|
| Basic Salary | Earning | Yes | The base figure set per employee; other components are often a percentage of this |
| House Rent Allowance (HRA) | Earning | Yes | Typically 20% of basic |
| Dearness Allowance (DA) | Earning | Yes | Typically 10% of basic |
| Transport Allowance | Earning | No | Fixed amount, non-taxable |
| Medical Allowance | Earning | No | Fixed amount, non-taxable |
| Festival Bonus (Dashain) | Earning — One-time | Yes | Added to annual taxable income once, not multiplied across 12 months |
| Provident Fund — Employee (PF_EMP) | Deduction | No | 10% of basic (employee share) |
| Provident Fund — Employer (PF_ER) | Employer Contribution | No | 10% of basic (employer expense) |
| SSF — Employee (SSF_EMP) | Deduction | No | 11% of basic (employee share per SSF Act 2074) |
| SSF — Employer (SSF_ER) | Employer Contribution | No | 20% of basic (employer share per SSF Act 2074) |
| TDS on Salary | Deduction | — | Progressive Income Tax slab; see TDS on Salaries |
| Social Security Tax (SST) | Deduction | — | 1% flat deduction, shown separately from TDS on payslips and Annex-10 |
| Gratuity | Employer Contribution | No | Provisioned monthly as an employer expense |
| CIT (Citizen Investment Trust) | Deduction | No | Optional voluntary deduction |
You can add custom components — for example a Fuel Allowance or a Telephone Allowance — by clicking + New Component and specifying whether it is a fixed amount or a percentage of basic, and whether it is taxable.
Nepal Statutory Rates at a Glance
The following statutory rates apply under Nepali law. Udyot applies these automatically when you process a pay run.
| Deduction | Employee Rate | Employer Rate | Basis |
|---|---|---|---|
| Provident Fund (PF) | 10% | 10% | Basic salary |
| Social Security Fund (SSF) | 11% | 20% | Basic salary (SSF Act 2074) |
| Social Security Tax (SST) | 1% | — | Gross taxable income |
| TDS on Salary | Progressive slabs | — | Annual taxable income; married employees have a wider first band |
Note on PF vs SSF: A company runs either PF or SSF, not both simultaneously. By default Udyot enables PF. To switch to SSF, go to HR → Settings and enable the Social Security Fund. Re-process the payroll month after changing the setting.
Creating a Salary Structure
A salary structure is a reusable template that defines which components apply to a category of employees and at what rates. The actual basic-salary figure is set per employee when you assign the structure.
- Go to HR → Salary → Structures and click + New Structure.
- Give the structure a name (for example, Standard Monthly or Sales Grade B).
- Set the Effective from (BS) date — for example,
2082-04-01. Udyot uses Bikram Sambat dates throughout the payroll module. - Click + Add Component for each line item. For each component choose either a fixed Amount (NPR) or a Percentage of basic — fill one and leave the other blank.
- Click Save.
A structure must have at least one component. You can create as many structures as you need — for example, separate structures for permanent staff, contract workers, or factory employees.
Assigning a Basic Salary to Each Employee
Once you have a structure, assign it to each employee along with their basic salary figure.
- Go to HR → Salary → Assignment. The page lists all active employees and their current assignment.
- For each employee, select the Salary Structure, enter the Basic Salary (NPR), set an Effective From (BS) date, and add an optional revision reason (for example, Initial assignment or Annual increment).
- Click Save.
When an employee receives a salary revision, create a new assignment rather than editing the old one. Udyot marks the new assignment as current and archives the previous one, giving you a complete revision history.
Processing a Monthly Pay Run
Once all employees have a current salary assignment, you are ready to run payroll.
- Go to HR → Payroll and click + Process Payroll.
- Enter the Payroll Month (BS) — for example,
2082-04for Shrawan 2082. - Click Process. Udyot calculates earnings and all statutory deductions for every employee who has a current salary assignment effective that month. The pay run is created with a Draft status.
- Click into the pay run to open the Review page. Check the per-employee figures: basic, gross, PF, SSF (if enabled), SST, TDS, employer contributions, and net salary.
If you spot an error — for example the wrong basic salary or a missing allowance — you can add a one-time bonus or override individual figures before the run is approved (see the next section). Once you are happy with the numbers, proceed to the approval step.
One-Time Components: Festival Bonus and Similar Payments
Some payments, such as the Dashain festival bonus, are made once a year and must be handled differently from regular monthly salary. In Udyot these are marked as one-time components.
To add a one-time bonus to a specific employee’s entry on a draft pay run:
- On the Review page, find the employee’s row and click + Bonus.
- Select the one-time component (for example, Festival Bonus — Dashain) from the dropdown, enter the amount, and optionally tick Recompute TDS.
- Click Save.
When you tick Recompute TDS, Udyot adds the bonus to the employee’s annual taxable income once — it is not multiplied by 12 months. This is the correct treatment under Nepal income tax rules: a one-time bonus raises the annual tax liability modestly, not dramatically. If the pay run was already approved, it reverts to Draft and requires re-approval.
Manual Overrides
If you need to set a specific TDS amount or net salary for an employee (for example, to match an IRD advance-tax payment or to handle a special case), use the Override function on the Review page. Enter the manual TDS or net figure, add an explanatory note, and save. The entry is marked is_manual so it is easy to identify.
Important: if you re-process a payroll month, Udyot preserves all manually overridden entries. Re-processing recomputes auto-calculated rows but will not clobber a row that an admin deliberately adjusted.
The Four-Eyes Approval Workflow
Udyot enforces a separation-of-duties rule: the person who processes a pay run cannot be the same person who approves it. This is the four-eyes control that most Nepali finance teams require before any figure hits the General Ledger.
- Draft — the processor runs the pay run. They can review, add bonuses, and override entries, but cannot approve their own run.
- Approved — a different user (the approver) reviews the run and clicks Approve. The approver can revoke approval if a correction is needed, which returns the run to Draft.
- Posted — the approver (or an admin) clicks Post. Udyot creates a balanced Journal voucher in the General Ledger and locks the pay run. A posted run cannot be edited or reversed through the payroll module.
To enable the four-eyes workflow, make sure you have at least two user accounts with the appropriate permissions. You can invite a second team member at Settings → Team Members. For details on user roles and permissions, see Adding Team Members and Setting Permissions.
What Posting Payroll Does to Your Accounts
When you post a pay run, Udyot creates a single balanced Journal voucher covering all employees. The typical structure is:
| Side | Ledger | Amount |
|---|---|---|
| Debit | Salary & Wages Expense | Total gross salary |
| Debit | PF Employer Contribution | Employer PF total |
| Debit | SSF Employer Contribution | Employer SSF total (if SSF enabled) |
| Debit | Gratuity Expense | Monthly gratuity provision |
| Credit | Salary Payable | Total net salaries |
| Credit | PF Payable | Employee PF + Employer PF |
| Credit | SSF Payable | Employee SSF + Employer SSF |
| Credit | TDS on Salary Payable | TDS + SST (remitted together to IRD) |
| Credit | Gratuity Payable | Gratuity provision |
The salary and contribution expenses flow to your Profit & Loss statement. The payables sit on the Balance Sheet until you make the corresponding payment to IRD, the Provident Fund office, or SSF — at which point you record a payment voucher to clear them. See Payment and Receipt Vouchers for how to record those settlements.
Viewing and Printing Payslips
Once a pay run is approved or posted, each employee’s payslip is available.
- Admin view: from the Review page, click any employee’s name to open their payslip. The payslip shows the earnings block, deductions block (including PF, SSF, SST, and TDS as separate lines), employer contributions, gross salary, total deductions, and net salary.
- Employee self-service: employees linked to a user account can view and print their own payslips at My Payslips under the self-service portal. A draft pay run is not visible to employees — payslips appear only after the run is approved. For more on the self-service portal, see Employee Self-Service Portal.
Statutory Returns from Payroll
After posting payroll you can generate the statutory return files required by Nepali law directly from the HR Reports menu:
- EPF Return — fixed-width text file for upload to the Provident Fund office, with employee PF account numbers and contribution amounts in paisa.
- SSF Return — same format for the Social Security Fund portal (employee 11%, employer 20%).
- TDS Annex-10 — 110-character fixed-width file for IRD’s e-TDS portal, with SST and TDS as separate columns and the
A10form code in the final field. - Section 90 TDS Certificate — per-employee annual TDS certificate showing each month’s gross, taxable income, and TDS deducted, suitable for the employee’s personal tax filing.
For a detailed guide on filing these returns, see Statutory Returns — EPF, SSF, and Annex-10 and TDS on Salaries.