Before Generate Payroll
- Employees must be Active and have Employment Status ACTIVE or ON_LEAVE.
- Joining/exit dates must overlap the payroll period.
- Each employee needs an ACTIVE salary structure effective for the period.
- The structure’s Payroll Scheme and required Salary Components must be Active.
- Monthly Attendance for the same year/month must exist with Working Days and Final Payable Days.
- Every posting ledger and debit/credit side must produce a balanced journal.
Payroll Run header
| Field | What it controls | Example |
|---|---|---|
| Year / Month | Identifies the payroll month. One run of the same Run Type is allowed for a year/month. | 2026 / 8 |
| Period From / To | Eligibility/effective-date boundaries and attendance period. | 01-08-2026 to 31-08-2026 |
| Payroll Date | Accounting voucher date when status becomes POSTED. | 31-08-2026 |
| Run Type | Separates regular, supplementary, arrear and final-settlement runs. | REGULAR |
| Status | Controls review lifecycle and payroll accrual posting. | CALCULATED |
| Narration | Explanation carried into payroll posting narration. | Payroll August 2026 |
Run Type
| Value | Behaviour | Choose it when |
|---|---|---|
REGULAR | Normal payroll for the month. | — |
SUPPLEMENTARY | Additional payroll run for selected corrections/late items under company process. | — |
ARREAR | Back-period difference/arrear run. | — |
FINAL_SETTLEMENT | Payroll-oriented run classification for separation amounts; the dedicated Final Settlement module stores the detailed settlement. | — |
What Generate Payroll does
- 01Validates the period
Rejects an invalid/duplicate year-month/run-type and refuses to recalculate Approved, Finalised, Posted or Reversed runs.
- 02Selects eligible employees
Loads active/on-leave employees and the latest active salary structure overlapping the period.
- 03Applies attendance
Uses Final Payable Days ÷ Working Days, capped between zero and one. NO_ATTENDANCE schemes use a ratio of one.
- 04Calculates ordered components
Merges scheme and employee lines, applies amount/percentage/formula, attendance, advance recovery, min/max and rounding.
- 05Builds employee totals
Gross, attendance adjustment, additions, deductions, contributions, reimbursements and Net Pay are saved as snapshots.
- 06Builds accounting
Aggregates component postings and Salary Payable. The run fails when debits and credits differ by more than ₹0.01.
Generated child sections
One row per calculated employee with salary structure, attendance, bank snapshot, days and stage totals. Employee Count and parent totals are derived by summing these rows.
One row per employee/component with method snapshot, calculated/final amount and posting ledger/side. Use this for the most detailed verification.
Aggregated debit/credit totals by posting ledger. These lines become the Journal Voucher when Payroll Status is POSTED.
Payroll Status
| Value | Behaviour | Choose it when |
|---|---|---|
DRAFT | Header preparation before calculation. | — |
CALCULATED | Generated details exist and may be checked/recalculated. | — |
REVIEWED | Payroll has undergone operational review. | — |
APPROVED | Authorised; the generator will no longer recalculate it. | — |
FINALISED | Amounts are locked for final processing; recalculation is blocked. | — |
POSTED | Creates the Payroll Accrual Journal from posting lines. | — |
REVERSED | Marks a reversed payroll under controlled process; recalculation is blocked. | — |
The voucher condition is Payroll Status = POSTED. Inspect employee, component and posting lines before changing to POSTED.
How totals are interpreted
| Field | What it controls | Example |
|---|---|---|
| Configured Gross | Unadjusted gross salary before attendance reduction. | ₹50,000 |
| Attendance Adjustment | Adjusted Gross minus Configured Gross; normally negative for unpaid absence. | −₹5,000 |
| Adjusted Gross | Total GROSS_EARNING after attendance. | ₹45,000 |
| Total Additions | Separate ADDITION stage amounts added to net. | ₹1,000 |
| Employee Deductions | EMPLOYEE_DEDUCTION amounts subtracted from net. | ₹4,500 |
| Employer Contributions | Employer cost retained separately; not added to Net Pay. | ₹3,000 |
| Reimbursements | Approved REIMBURSEMENT amounts added to net. | ₹2,000 |
| Net Pay | Adjusted Gross + Additions + Reimbursements − Employee Deductions. | ₹43,500 |
Salary Payment
Create a Salary Payment after payroll is ready. Select the Payroll Run, Payment Mode, actual Bank/Cash Account, Salary Payable Account and Amount Paid. Financial Year and Booking No provide document identity.
| Value | Behaviour | Choose it when |
|---|---|---|
BANK | Debits Salary Payable and credits the selected bank account using the Bank Payment voucher configuration. | — |
CASH | Debits Salary Payable and credits the selected cash account using the Cash Payment voucher configuration. | — |
| Field | What it controls | Example |
|---|---|---|
| Total Payroll Net | Control total from the selected payroll. | ₹4,35,000 |
| Amount Paid | Actual amount posted between Salary Payable and payment account. | ₹4,30,000 |
| Unpaid Amount | Difference retained for follow-up/partial payment. | ₹5,000 |
| Bank Reference / Date | Bank transaction/batch reference and its date. | NEFT-0826-04 |
| Salary Payment Lines | Employee bank snapshot, net/paid amount, status and reference for payment file/print/reconciliation. | One row per employee |
The current Salary Payment voucher selection is driven by Payment Mode. Save the record only with verified ledgers and Amount Paid; do not rely on a DRAFT status alone to suppress accounting.