The Salary Module in DaaI Business Suite is designed to simplify, automate, and manage employee salary processing, statutory deductions, and related compliance activities. It ensures accurate, efficient, and transparent payroll handling, with data inputs spread across multiple sections of the system.
This article provides a complete overview by consolidating all related processes, pre-requisites, sub-modules, and logic already documented in the following articles:
๐ฏ 1. Purpose of the Module
The Salary module helps you:
- Calculate salaries based on the effective salary structure, working days, and unpaid leaves.
- Auto-deduct statutory amounts like TDS, PF, ESIC, and Professional Tax.
- Handle mid-month joining or resignation with pro-rata calculation.
- Record a full salary breakup and maintain a changelog for every revision.
- Stay aligned with Indian financial-year handling for taxes.
- Generate a branded Salary Slip ready for download or printing.
๐งพ 2. Salary List Screen โ At a Glance
๐ Screen: HRM โ Salary. The list opens with one row per employee per month.
Each row in the Salary list shows the key payroll figures so you can scan a month’s payroll at a glance. The visible columns are:
| Column | What it shows |
|---|---|
| Pay | A green Pay button on every unpaid row. Once the salary is paid the button is replaced by a Paid chip. |
| Username | Login username of the employee. |
| First Name / Last Name | Employee’s full name. |
| Month / Year | Pay period the row belongs to. |
| Monthly CTC | Monthly cost-to-company in effect for that month. |
| Total Days | Total days in the pay period (calendar or working, based on company setting). |
| Total Leave | All leaves (paid + unpaid) the employee took in the month. |
| Total Paid Leave | Approved paid-leave days only. |
| LWP | Leave Without Pay days. |
| Paid Days | Days for which the employee is being paid. |
| Earned | Gross earnings for the month. |
| Net Salary | Final take-home amount after all deductions. |
| One-click Print icon to download the branded Salary Slip PDF for that row. |
๐ Screen: The grid header carries Filter Salary, Generate, and Actions โ Export. Use Filter Salary to narrow the list to a specific Month + Year before reviewing or paying.
โ๏ธ 3. Key Processes
A. Add or Update Salary Data
๐ Screen: HRM โ Employee (or Users โ Users) โ open the employee โ Edit โ Salary section.
Before any salary can be generated, the employee must have an active salary record with the following fields:
- CTC, Basic %, HRA %, Conveyance, Variable %
- Employee PF, Employer PF, Employee ESIC, Employer ESIC
- Effective Month and Effective Year โ the month from which the salary structure becomes active
- A revised salary should be added as a new record with a later effective month / year. The system always picks the most recent applicable record for the pay month.
- Salary is non-negative and is mandatory only when the user is marked as Employee.
๐ก The full step-by-step is in the Add Salary Data guide.
B. TDS Setup (Optional)
๐ Screen: HRM โ Employee โ open the employee โ TDS section.
- TDS is entered per Financial Year in the TDS Entry Section under each user.
- You can now record multiple TDS rows per employee within the same financial year โ useful for prior-employer figures, mid-year revisions, etc.
- The annual figure is auto-distributed across the remaining months of the financial year. The system handles redistribution if TDS is added or revised mid-year.
๐ก See How TDS is Calculated for the full mechanic.
C. Generate Salary
๐ Screen: HRM โ Salary โ click Generate at the top-right of the list.
- Pick the Month and Year for the cycle you want to run.
- The system runs a series of pre-checks and shows you any missing inputs:
- Each employee has a valid salary record effective for that month.
- All leave applications for the period are approved (no pending approvals).
- The employee is active (joined before the run, not yet resigned).
- TDS, unpaid leaves, deductions, and leave-encashment eligibility are picked up.
- Leave Start month / year is set, and the starting leave balance is imported (the system will offer to import it before generation if required).
- Confirm the cycle and click Create Salary โ one row is generated per eligible employee.
โ ๏ธ Edge cases the generator protects against
- If the company is set to “Calculate Salary Based on Working Days” and a Sandwich-leave rule is also active, a warning popup is shown so you confirm before continuing.
- If an opening balance is zero or no salary record exists, a confirmation popup appears to prevent an accidental zero-month payroll.
- If salary for that month already exists for an employee, the system skips regeneration for that row.
- Once a salary is paid, the row cannot be regenerated for that month โ recalculation and edits are blocked after payment.
D. Recalculate (before Payment)
From an open salary record (Details tab) you will see a Recalculate button at the top-right of the aside header. Use it when:
- You added or revised a leave after generation,
- You corrected the salary structure, or
- You updated TDS / allowance values.
The Recalculate button is hidden once the salary is paid.
E. Pay (Record Salary Payment)
๐ Screen: Click the green Pay button directly from the Salary list, or open the salary row and use the payment dialog.
The Payment dialog captures payment date, mode, transaction reference, and the bank/cash wallet the salary is paid from. Once saved:
- The row’s status flips from unpaid to Paid (a green chip appears in the Pay column).
- Linked allowances for that month are auto-marked as paid.
- The associated Payroll Credit rows (PF / ESIC / Pro Tax) and the TDS Challan remain independently payable from the Liability and TDS Challan screens.
๐ Permission tip: A user who only has Read Own permission on the Salary module can still Pay their own salary record (typical for self-payment workflows).
๐ 4. Tabs Inside a Salary Record
๐ Screen: Open any row from HRM โ Salary. The aside opens on the right with a tab strip at the top โ each tab is a separate screen, click a tab to switch the view.
- Details โ the salary breakdown / form. In View mode you see the printable Salary Slip; in Edit / Add mode you see the fields you can modify.
- Attachments โ supporting documents attached to this salary record (PDF / image). Files appear as doc chips with view and download icons.
- Logs โ full change history of every edit on this record (uses the standard
dd-MMM-yyyy HH:mmtimestamp format).
๐งพ 5. The Salary Slip
๐ Screen: HRM โ Salary โ open any salary row โ Details tab (in View mode), or click the Print icon directly from the list row.
Every saved salary renders a branded Salary Slip with these sections:
- Header โ Company logo, name, address, CIN, GST, PAN, TAN, and the pay-period chip.
- Employee block โ Employee ID, Name, Department, Designation, Location, Joining Date, PAN, PF No., Bank, A/c No., Insurance ID, Mode of Payment, Transaction ID.
- Attendance summary โ Calendar Days, Working Days, Present Days, Paid Leaves, LWP, Payable Days.
- Earnings โ Basic, House Rent Allowance, Other Allowance, Commission, Ex Gracia, Travel Allowance, Conveyance Allowance, Variable Pay, and (if applicable) Leave Encashment. Total is shown as Gross Earnings.
- Deductions โ PF (Employee + Employer share shown separately), ESIC (Employee + Employer share), Professional Tax, Income Tax (TDS), and (if applicable) Loss of Pay. Total is shown as Gross Deductions.
- Net Pay โ final take-home amount in a highlighted band.
The slip carries a “computer-generated document, no signature required” footer note.
๐งฎ 6. Salary Calculation Logic
A. Per-Day Salary
- If “Calculate Salary Based on Working Days” = Yes โ Paid Days = Working Days โ Unpaid Leaves.
- If No โ Paid Days = Calendar Days โ Unpaid Leaves.
B. Paid-Days Adjustments
- Mid-month joining or resignation โ pro-rata paid days.
- Unapproved or unpaid leaves reduce paid days.
- Paid days are never negative even when calculation is non-working-days based.
C. Component-wise Calculation
| Component | How it is computed |
|---|---|
| Basic | (Basic % of Monthly CTC) ร Paid Days / Total Days |
| HRA | (HRA % of Monthly Basic) ร Paid Days / Total Days |
| Conveyance | Fixed amount ร Paid Days / Total Days (paid-day proportional) |
| Variable Pay | (Variable % of Monthly CTC) ร Paid Days / Total Days |
| Leave Encashment | Encashable Days ร (Basic / Total Days). Carry-forward encashment uses / 30 days. |
D. Deductions
| Deduction | How it is set |
|---|---|
| TDS | Monthly portion of the annual TDS entered for that financial year. |
| Professional Tax | Slab-based โ picked from the configurable Professional Tax slab in Salary Settings. |
| PF (Employee + Employer) | From the salary record (applies only if Basic โค โน15,000). |
| ESIC (Employee + Employer) | From the salary record. ESI Act 1948 threshold is enforced โ applies only if Gross โค โน21,000. |
| Unpaid Leave (Loss of Pay) | Deducted on a per-day-salary basis. |
E. Final Salary
- Gross Earnings = Sum of all earning components.
- Gross Deductions = Sum of all deductions.
- Net Salary = Gross Earnings โ Gross Deductions.
โ๏ธ 7. Special Cases Handled
- Multiple Salary Records: The system always picks the most recent salary record applicable for the pay month.
- Mid-month Join / Exit: Pro-rata salary is auto-calculated.
- Unpaid or Over-used Leave: Reduces paid days and may trigger a Loss of Pay deduction.
- Variable Pay or Bonus: Included if marked for that salary month.
- Cross-month Leave: Correctly attributed to the right month โ earlier rounding bugs have been fixed.
๐ฆ 8. Stored Information
- Per-employee salary breakup with month and year.
- Basis of calculation (Calendar or Working Days).
- Changelog of every salary update.
- TDS ledger and TDS Challan tracking (auto-created when salary with TDS is generated).
- Payroll Credit rows โ one row per statutory liability (PF, ESIC, Professional Tax) per employee per month.
- These rows are strictly per-month with no carry-forward โ each month’s row stands alone, independent of any earlier unpaid amount.
- Statutory liabilities are no longer mixed into the Expense table; the Liability screen is the single place to view and pay them.
- Payment of a Payroll Credit row updates only its Paid Amount, Balance Amount, and Status (Unpaid / Partial / Paid). Detailed payment-date, reference, and challan fields are deferred and will land in a future release.
โ๏ธ 9. Editing Salary Data of Employees
From the Employee Module
๐ Screen: HRM โ Employee.
- Click the employee you want to edit.
- Click Edit in the aside header.
- Modify the salary record, allowances, or TDS values.
- Click Update (top-right of the aside) to save.
From the Users Module
๐ Screen: Users โ Users.
- Open the user.
- Click Edit and update the salary block.
- Save your changes.
๐ With the User & Employee module split: the User aside owns account fields only (First Name, Last Name, Personal Email, Role, Password, Profile Image, Active, Is Employee). All HR data โ salary, TDS, exit process, bank details, documents โ lives on the Employee aside. A user can be saved with Is Employee = true without filling employee data; HR can complete it later from the Employee module. For the full guide, see Add Salary Data.
๐ 10. Reporting & Liability Linkage
- Reporting โ PnL Report โ under PnL v2, Salary, PF, ESIC, and Professional Tax are grouped under a dedicated PAYROLL bucket (yearly layout, with month columns). The Total Taxes row covers TDS + Net GST Payable only.
- Liability โ surfaces every statutory / payable obligation in one screen:
- PF / ESIC / Pro Tax rows come from Payroll Credit.
- Salary rows show only when Net Salary > 0 and the payment has not been recorded yet.
- TDS Challan rows show as Unpaid / Partially Paid / Filed / Advanced.
- Reimbursement and Expense liabilities also appear here.
- Finance โ TDS Challan โ auto-created or updated for every salary cycle that touches TDS. The TDS grid uses a unified Source column (Salary ยท employee name / Vendor ยท expense number) so Salary-side and Expense-side TDS sit in one consolidated view.
โ 11. Final Note
Before running payroll, make sure:
- All salary structures are filled and effective for the target month.
- TDS (if applicable) is updated for the financial year.
- All leave applications for the cycle are approved.
- The salary policy (calendar vs. working days) and the Professional Tax slab are correctly configured under Settings โ Salary.
โ Tips
- Any mismatch or missing record will result in incorrect or failed salary generation. Always cross-check before running payroll.
- Professional Tax is auto-fetched from the configurable slab in Salary Settings (no manual entry per employee).
- The system retrieves Company Details (including TAN) at salary generation, so the printed slip stays accurate.
- Before updating leaves at generation time, the system takes a backup of leave records.
- If salary for a month already exists for an employee, the system skips regeneration.
- Additional salary components are supported: Travel Allowance, Commission, Ex Gracia, Other Allowance.
- PF applies only if Basic โค โน15,000; ESIC applies only if Gross โค โน21,000.
- After salary is generated, related allowances are auto-marked as paid.
- When salary with TDS is generated, the system auto-creates a TDS Challan (initially Unpaid) and writes a changelog entry.
- Salary record updates are logged in the changelog for audit; timestamps follow dd-MMM-yyyy HH:mm.
- Use the Filter Salary button on the list to slice payroll by Month + Year before reviewing or paying.
- Use Actions โ Export to download a payroll register for your records.

