Payroll: running, approving, posting and releasing payslips
Set up salary structures and country packs, run payroll for a month, get it approved and posted to the ledger, and release payslips to employees.
On this page
Process at a glance
- Set upPayroll adminComponents, structures and country packs.
- Create the runPayroll adminDraft run for a month and year.
- ExecutePayroll adminPayslips calculated; run Completed.
- Submit for approvalPayroll adminJV-PAYROLL approval.
- Post to ledgerSystem on approvalSalary expense and payables journal.
- Release payslipsPayroll adminEmployees see payslips and are notified.
#Before you start
- Salary components (earnings and deductions) and structures (Salary structures); each employee has a basic salary or a structure.
- Country packs (Country packs) with effective-dated tax slabs and statutory deductions.
- Payroll posting ledgers (salary expense, tax payable, statutory payable, net pay, employer contribution) in the payroll posting configuration.
- The HR Payroll Admin role for the people who run payroll.
#1. Create and scope the run
- In Payroll runs create a run for the month and year, optionally choosing a country pack.
- While the run is Draft, you can limit it to selected employees.
#2. Execute
Execute (superuser or HR Payroll Admin) calculates every active employee of the company:
- Gross = basic salary, or the sum of the structure’s earning components.
- Proration by attendance when attendance exists: present, work-from-home, on duty, paid leave, holiday and week-off count as a full day; half day as half; anything else as zero.
- Progressive income tax from the country pack plus the employee’s statutory deductions.
- A payslip PAY-yyyyMM-<employee code> in Draft with basic, tax and statutory lines.
| Status | Meaning |
|---|---|
| Draft | Created; can be scoped |
| Running | Calculating |
| Completed | Payslips created; ready to submit |
| Failed | See the error message on the run |
#3. Approve and post
- On a Completed run choose Submit for approval (JV-PAYROLL workflow). If no workflow is configured it posts immediately.
- On approval BSuit posts the payroll journal PAYRUN-yyyyMM: debit salary expense (gross); credit tax payable, statutory payable and net pay; plus the employer-contribution debit and credit.
- If approval is rejected, fix and resubmit.
| Message | Meaning |
|---|---|
| “Payroll run must be Completed before posting.” | Execute first. |
| “Already posted as …” | The run is in the ledger. |
| “Payroll posting ledgers are not configured…” | See Before you start. |
| “Payroll run gross total must be positive…” | No pay was calculated. |
#4. Release payslips
Employees see only released payslips (web My payslips and the phone app). Releasing notifies them in-app, by push, email (with the PDF) and WhatsApp.
- On a Completed, posted run open the run in Payroll runs and choose Release all payslips. Slips already released or cancelled are skipped.
- To release one slip, choose Release on it in Salary slips.
About this guide
- Status
- Partially reviewed
- Application
- BSuit ERP
- Audience
- Payroll administrators, HR and finance
- Owner
- BSuit documentation team
- Reviewer
- Editorial review pending
- Last verified
- 2026-09-25
- Checked against
- cb3691bbf
- Seen on a running system
- Not yet
- Help version
- 2026.0.0-preview
- Guide ID
erp:article/guide/payroll
Known limits: Written from a line-by-line read of the implementation (every statement traced to source). Not yet walked through end to end by a trainer on a running system.
Was this helpful?