Payroll Management helps businesses automate salary calculations, overtime and premium pay, tax deductions, bonuses, and paystub generation. Office-X supports Bangladesh payroll, including Bangladesh-specific tax rules, salary structures, and minimum tax calculations.
Payroll Management is a paid add-on for the Advanced plan. If your organization has Bangladesh selected as its country, you can purchase Payroll from Business → Billing & Payment. Once added, the Payroll menu and related payroll features become available.
With Payroll, you can:
- Generate paystubs and tax statements
- View employees pay history
- Run payroll for a selected month
- Review detailed pay breakdowns
Who Can Use This Feature #
Subscriber Admin can always run and manage payroll for every employee in the company, without needing any specific permission.
Every employee can always see their own row on the Payroll list, their own paycheck history and paystubs, and generate their own Income and Tax Statement that part never needs a permission either.


Seeing or running payroll for other employees needs one of the permissions below.
Permission Behavior
This is controlled from: Admin → Permission → Payroll
- View Payroll (For All)
Lets you see every employee’s payroll data and paycheck history, but you cannot open Run Payroll — attempting to reach that page directly shows Access Denied, not just a hidden button. - Run Payroll (For All)
Gives full access to run, review, and submit payroll for any employee — the same as Subscriber Admin, for the payroll run itself.
Without either of these, an employee still isn’t locked out of Payroll entirely — they just fall back to seeing only their own row, history, and statement, as described above.
Good to know: Run Payroll (For All) only gives access to run and submit payroll.
It does not give access to:
- Manage Business Payroll Configuration — controls company-wide overtime and tax settings under Business → Payroll Config.
- Manage Payroll Config (For All) — controls an individual employee’s payroll settings under Employees → Action → Payroll Config.
These permissions are separate and belong to the Business and Employee permission groups.
So, someone can have Run Payroll (For All) without being able to change payroll settings, and someone with payroll configuration permissions may not be able to run payroll.
This permission can be assigned directly to an employee, or to an entire team at once. See the Permissions Management guide for how to assign permissions.
Before You Run Payroll — Required Setup #
Before running payroll for the first time, make sure the following are configured. Missing any of these will block payroll processing.
1. Business Payroll Configuration
Go to Business → Payroll Config. This page is split into two sections:
Common Payroll Configuration (applies to all organisations):
- Overtime Calculation Setting — enable the overtime and premium rules your organization uses (Daily / Weekly / Daily Tier 2 / Monthly Excess overtime, plus Rest Day, Holiday and Night premiums), set the late-night window, the salary-to-hourly divisor, and the default compensation method for rest-day/holiday work. See the Payroll Configuration guide for full details and examples.
- Hourly Rate Calculation Basis — choose how the per-hour salary rate is calculated:
→ Monthly Basis (recommended for Bangladesh): Hourly Rate = Monthly Salary ÷ Expected Working Hours This Month - Bonus Types — define the bonus categories used across the organisation (e.g., Eid Bonus, Performance Bonus). These will appear as options when configuring individual employee bonuses.
Payroll Configuration for Bangladesh (visible only for Bangladesh organizations):
Deduction Calculation Basis — choose whether hour-based deductions (such as absent deductions and leave deductions) are calculated using the employee’s Basic salary only, or their Gross salary (Basic plus benefits). If you never pick one, Bangladesh companies use Gross.
2. Employee Payroll Configuration
Go to Employees → Action → Payroll Config for each employee. This page is also split into sections.
Common Payroll Configuration (all organisations):
- Bonuses — assign bonus types and amounts for the employee. Multiple bonus types can be added, one per type. Good to know: every bonus you set up here counts toward that employee’s taxable income for the year, all at once — not just whichever bonus an admin later picks during a specific payroll run.

Bangladesh Payroll Configuration (Bangladesh organisations only):
- Tax Information — set the employee’s personal tax status. These answers determine which tax exemption limit applies, which minimum tax applies, and whether an Investment Rebate is credited. See the Payroll Configuration for Bangladesh guide for each question in detail.

- Work Location Settings — specify the employee’s work location.
⚠️ This is required for every employee who gets income tax — all salary employees, and all hourly employees except those whose Employment Type is Contractor. If it’s not saved, the payroll run is blocked with the message: “Work location not set for {Name}. Please add work location from Employee Payroll Config.”

3. Employee Work Schedule
Every employee must have a work schedule assigned under Employees → Actions → Work Hours — all salary employees, and all hourly employees except Contractors. The work schedule defines daily working hours and working days per week, which the system uses to calculate expected monthly hours and deductions. For hourly employees it is also what the yearly taxable amount is built from.


If no work schedule is found, payroll will be blocked with the message: “No work schedule found for {Name}.”
Employee Payroll List #
When you go to Payroll → BD, you will see a list of all payroll-eligible employees.
Eligible employees are those with an employment status of Active or on an approved leave (Maternity, Paternity, Sick, or Vacation Leave).

- Admin / Run Payroll permission: can see all employees, search, filter, and run payroll.
- View Payroll permission: can see all employees and their paycheck history, with the same search and filter tools, but cannot run payroll.
- No payroll permission: sees only their own row, without the Employee ID column, search box, or filters (there’s nothing to search or filter when you can only see yourself).
From each row you can click View Paycheck to see that employee’s full paycheck history, or Income and Tax Statement to generate a yearly income and tax report. The list supports search (by name, email, or employee ID), Pay Type / Pay Method filters, column show/hide, and pagination (default 10 rows; 10/20/30 options).
Paycheck History #
Clicking View Paycheck takes you to the employee’s Paycheck History page, showing all submitted payroll records, most recent first.

You can filter records by a date range using the From Date and To Date pickers and clicking Date Filter. Click Show All to clear the filter. If both dates are not selected, you will see: “Please select a date range to filter.” If the employee has no records yet, the page shows: “No paycheck data available. Paycheck details will appear here once processed.”
Click View Paystub on any row to open the detailed salary breakdown for that pay period.
Running Payroll #
Admins and employees with Run Payroll permission can generate payroll. Click the Run Payroll button from the Payroll List page.

Step 1 — Set the Pay Period

| Field | Description |
|---|---|
| Pay Month | The month for which payroll is being processed (e.g., October). |
| Pay Year | The year of payment (e.g., 2025). |
| Pay Date | The actual disbursement date (e.g., 23/10/2025). |
Step 2 — Select Employees

The table shows Active employees (and those on approved leave) who hold a valid licence. Select employees individually or use the header checkbox to select all. Your selections, chosen pay methods, and edited hours are kept even as you move between pages.
| Employee ID | Employee | Pay Type | Pay Rate | Last Paycheck | Status | Pay Method |
|---|---|---|---|---|---|---|
| DEV25005 | Minhaz Mazumder | Salary | ৳60,000/month | No Paycheck Found | Active | Select Method |
| DEV25004 | Md. Anisur Rahman | Hourly | ৳180.00 × 160 hr | No Paycheck Found | Active | Select Method |
Step 3 — Set Pay Method per Employee
Each selected employee must have a Pay Method chosen before payroll can proceed.
| Method | Description |
|---|---|
| Direct Deposit | Salary transferred directly to the employee’s bank account. Requires valid bank details on the employee record. |
| Cash | Paid in cash. |
| Check | Paid via company cheque. |
⚠️ If a pay method is missing for any selected employee: “Please select a pay method for {Name}.” If bank details are missing and Direct Deposit is chosen: “Bank details not found for {Name} for direct deposit!”
Step 4 — Set Hours for Hourly Employees

For hourly employees, the system automatically pulls total worked hours from the Attendance module for the selected Pay Month. You can edit the hours manually before running payroll if needed.
Example: ৳180/hour × 160 hours = ৳28,800 Basic Salary
⚠️ If an hourly employee has zero hours and no manual entry, payroll will be blocked with: “Please set hours for hourly employee: {Name}.”
Step 5 — Click Run Payroll
Once all inputs are set, click Run Payroll. The system validates each selected employee in a five-step process:
- Validating employee data
- Calculating attendance hours
- Processing leave balances
- Computing tax deductions
- Finalising salary calculations
If any validation fails — for example a missing work schedule, missing work location, missing pay method, or a duplicate payroll already processed for that month (“Payroll already processed for {Name} for {Month} {Year}!”) — the entire payroll run is stopped for every selected employee, not just the one with the problem, and a message tells you exactly what needs to be fixed.
How Salary is Calculated #
Salary Employees
The system calculates a per-hour rate based on the Hourly Rate Basis you configured in Business Payroll Config.
Monthly Basis example:
Monthly Salary: ৳60,000
Working Days in October: 22 days
Daily Work Hours: 8 hours
Expected Hours: 22 × 8 = 176 hours
Per Hour Rate: ৳60,000 ÷ 176 = ৳340.91/hour
The Basic Salary always shows the employee’s full monthly salary on the paystub. If the employee was absent, an Absent deduction line is added separately — the Basic Salary amount itself does not change.
Absent Hours example:
Expected Hours: 176
Worked Hours (attendance + leave + holidays + lieu): 168
Absent Hours: 176 − 168 = 8 hours
Absent Deduction: 8 × ৳340.91 = ৳2,727.27
Good to know: The per-hour rate is displayed rounded to two decimal places, but Office-X uses the full, unrounded rate for calculations.
When Deduction Calculation Basis is set to Gross in Business Payroll Config, the per-hour rate for deductions uses Monthly Salary plus all monthly benefits instead of Basic Salary alone.
Overtime & Premium Pay
If an employee is overtime-eligible, the system automatically calculates their overtime and premium pay from their approved attendance. Every extra hour is already sorted into a category — Daily Overtime, Night Premium, Rest Day Premium/Overtime, Holiday Premium/Overtime, Monthly Excess Overtime, and so on — by the time it reaches payroll (see the Attendance Records guide for how hours get bucketed). Payroll’s job is simply to price each category.
Every category is priced the same way:
Amount = Hours in that category × Regular Overtime Rate × that category’s Multiplier
Regular Overtime Rate = Basic Salary ÷ the company’s configured Divisor (set in Business Payroll Config; a common value is 208, based on a 26-day month at 8 hours/day). This is the same starting point for every overtime category — only the multiplier changes from one category to another.
Multipliers are set per employee, on the employee’s own record — via Employees → Action → Edit, under the “Eligible for Overtime” section (this is separate from the Payroll Config action, which only covers Bonuses, Work Location, and Bangladesh Tax Information). The values in Business Payroll Config only act as suggested defaults when you’re adding a new employee — once saved on the employee, payroll always uses their own saved numbers. This means two employees can be paid differently for the exact same extra hours, if their personal multiplier settings differ.
Good to know: a category only appears at all if it’s switched on for that employee. If, say, Rest Day Premium isn’t enabled for someone, hours worked on their rest day simply won’t produce a Rest Day Premium line — even if they show up as rest-day hours in Attendance.
Worked example — Employee with Basic Salary ৳52,000, Divisor 208:
Regular Overtime Rate = 52,000 ÷ 208 = ৳250.00/hour
Say this employee’s own Overtime & Premium settings are: Daily OT multiplier 1.5, Night Premium +20%, Rest Day Premium +50% with a dedicated Rest Day OT factor of 2.0, Holiday Premium +100% (no dedicated Holiday OT factor set). Here’s how a few categories would price out:
| Category | Hours | Rate/hr (Multiplier × ৳250) | Amount |
|---|---|---|---|
| Daily Overtime Pay | 5.00 | 1.5 × 250 = ৳375.00 | ৳1,875.00 |
| Daily Overtime (Night) Pay | 2.00 | (1.5 + 0.20) × 250 = ৳425.00 | ৳850.00 |
| Rest Day Overtime Pay | 3.00 | 2.0 × 250 = ৳500.00 | ৳1,500.00 |
| Holiday Overtime Pay | 3.00 | (1 + 1.00 + 0.5) × 250 = ৳625.00 | ৳1,875.00 |
Good to know — Rest Day / Holiday Overtime is priced in one of two ways:
- A dedicated factor is set → that number is used as it is. This is the Rest Day Overtime row above, at 2.0.
- No dedicated factor is set → the system builds one from the numbers you did set:
1 + day premium + (Daily OT multiplier − 1)
For the Holiday Overtime row above: 1 + 1.00 + (1.5 − 1) = 2.5×. That is where the 0.5 comes from — it is the extra that the 1.5 Daily OT multiplier adds beyond 1×.
Monthly Excess Overtime — if enabled, this category acts as a monthly cap on the regular overtime categories (Daily OT, Weekly OT, and their Night and Tier 2 variants; Rest Day and Holiday hours are unaffected). Once an employee’s running overtime hours for the month cross the configured threshold, any further hours in that pay period are automatically moved into Monthly Excess Overtime and priced at its own multiplier instead — never both. So if today’s overtime pushes the employee 3 hours past a 60-hour monthly cap, only those 3 hours are re-priced at the Monthly Excess Overtime rate; the rest of today’s hours are still paid at their original category’s rate.
Each category always appears as its own separate row — on the Payroll Records review page and on the final paystub — showing its hours, its effective rate per hour, and its amount, never combined into one lump “Overtime Pay” total.
Employees who are eligible for both overtime and lieu (compensatory) off follow their own Default Compensation setting for rest-day and holiday work: OT Pay Only, Lieu Off Only, or OT Pay + Lieu Off.
Good to know: this choice is actually made earlier, when the employee’s attendance for that rest day/holiday is approved (see the Attendance Records guide) — not during the payroll run itself. By the time payroll runs, it simply prices whatever hours have already been sorted into overtime versus lieu; it doesn’t re-decide the split.
Hourly Employees
For hourly employees, the calculation is straightforward:
Basic Salary = Hourly Rate × Total Worked Hours
Example: ৳180/hour × 160 hours = ৳28,800
Hourly employees can also earn overtime and premium pay, and income tax is calculated for them too — see Bangladesh Income Tax Calculation below. The only hourly employees exempt from tax are those whose Employment Type is Contractor (paid gross) and any month in which the employee earned nothing.
Good to know: an hourly employee’s yearly taxable amount is built from their assigned work schedule for the whole year, not from the hours they actually worked. So, a quiet month with fewer hours does not reduce that month’s tax. This mirrors how a salary employee’s tax doesn’t drop because they were absent for a few days.
Payroll Records — Review Before Submitting #
After running payroll, you are taken to the Payroll Records page. Here you can review and adjust values for each employee before final submission.
The three KPI cards at the top of the page show the running Total Payroll Cost, Total Additions, and Total Deductions across all employees.

The review table is split across Earnings and Deductions. The overtime area is dynamic: the system shows one column per overtime or premium category in which the employee actually earned hours (for example Daily OT, Night Premium, Holiday Premium, Rest Day OT). The example below is simplified for readability.
Earnings Side
| Employee | Basic Salary | Daily OT (hr) | ¹ Bonus | ² Adjustment (+/−) | ³ Taxable Adjustment (+/−) | Additions | Gross Pay |
|---|---|---|---|---|---|---|---|
| Minhaz Mazumder | ৳60,000.00 | 5.00 | — | ৳0.00 | ৳0.00 | ৳5,500.00 | ৳65,500.00 |
| Md. Anisur Rahman | ৳28,800.00 | 0.00 | — | ৳0.00 | ৳0.00 | ৳1,000.00 | ৳29,800.00 |
Deductions Side
| Employee | ⁴ Tax Adjustment (+/−) | Deductions | Net Amount | Memo |
|---|---|---|---|---|
| Minhaz Mazumder | ৳0.00 | ৳3,738.64 | ৳61,761.36 | — |
| Md. Anisur Rahman | ৳0.00 | ৳0.00 | ৳29,800.00 | — |
What Each Column Does
| Column | Explanation |
|---|---|
| Basic Salary | Full monthly salary for salary employees, or hourly rate × hours worked for hourly employees. |
| Overtime & Premium columns | One column appears per category the employee earned (Daily OT, Night Premium, Holiday Premium, Rest Day OT, etc.). You can reduce the hours in any column, but not increase them beyond what attendance recorded. Editing overtime triggers an income-tax recalculation for any employee who gets tax. If you try to exceed the recorded hours you will see: “{Category}: you can request up to {X}h based on your attendance. Entered hours cannot exceed this limit.” |
| ¹ Bonus | Pick one of the employee’s configured Bonus Types to reference for this pay period. Use the header option to apply one bonus type to all eligible employees at once. Select None to remove. |
| ² Adjustment (+/−) | A non-taxable adjustment — for example, a bill reimbursement or a salary recovery. Positive adds to Additions; negative adds to Deductions. Does not affect income tax. |
| ³ Taxable Adjustment (+/−) | A taxable adjustment that changes the employee’s taxable income. Triggers income tax recalculation. |
| Additions | Auto-added benefits (health insurance, transport allowance, etc.), overtime and premium pay, backdated leave adjustment, and any positive adjustments. |
| Gross Pay | Total of Basic Salary plus all addition lines before deductions. |
| ⁴ Tax Adjustment (+/−) | Directly corrects the income tax amount — useful when a previous month’s tax needs adjustment. Updates the Income Tax deduction line and Net Amount. |
| Deductions | Includes absent deduction, excess leave deduction, income tax, opening balance deduction (on an employee’s first payroll only), and any negative adjustments. |
| Net Amount | Final payable amount after all deductions. |
| Memo | Add an optional note for this payroll record. The memo appears on the saved paystub. |
Bangladesh Income Tax Calculation #
In Bangladesh the system automatically calculates income tax for salary employees and hourly employees alike. The only exceptions are employees whose Employment Type is Contractor (paid gross, no tax withheld) and any month in which the employee earned nothing.
Step 1 — Annualise Monthly Income
Salary employees: Monthly Income for Tax = Full Monthly Salary + taxable additions (benefits, taxable adjustments, etc.)
Hourly employees: the yearly figure is built from the assigned work schedule for the whole year (full-year scheduled hours × hourly rate) plus monthly benefits, then treated as a monthly-equivalent so the remaining steps work the same way. Hours actually worked on assigned weekend or holiday days are added on top.
Annual Income = Monthly Income × 12, then add annual Bonus and the current month’s Overtime Pay.
Step 2 — Apply One-Third Non-Taxable Rebate
Taxable Income = Annual Income − (Annual Income ÷ 3)
Step 3 — Apply Progressive Tax Slabs
The applicable exemption limit is automatically selected based on the employee’s tax status (disabled, freedom fighter, guardian of disabled children, etc.) configured in their Employee Payroll Config. The actual slab amounts and rates are set by your Office-X platform administrator and can vary; a typical example looks like:
| Income Range (Annual) | Tax Rate |
|---|---|
| First ৳375,000 | 0% (tax-free) |
| Next ৳300,000 | 10% |
| Next ৳400,000 | 15% |
| Next ৳500,000 | 20% |
| Next ৳2,000,000 | 25% |
| Remaining income | 30% |
Step 4 — Apply Minimum Tax
Once the tax slabs above are applied, the system compares that calculated annual tax against a minimum tax floor, and uses whichever is higher. The minimum tax is a flat amount, split into two tiers:
| Employee Type | Typical Annual Minimum Tax |
|---|---|
| General Minimum Tax (most employees) | ৳5,000 |
| New Taxpayers (only during the income tax year they’re declared as a new taxpayer) | ৳1,000 |
The minimum tax only steps in when the slab calculation already produces some tax above zero — an employee whose entire taxable income falls inside their 0% exemption bracket isn’t bumped up to it. When the minimum tax does apply, the paystub shows a row titled Minimum Tax Applied (Yearly).
Investment Scheme Tax Rebate
This is set per employee, not company-wide. If the employee answered Yes to “Do you make any contribution to any investment or retirement plan?” on their Payroll Config and a rate is saved, an additional rebate is credited against their monthly income tax, on top of the slab and minimum tax rules above.
- Yearly rebate = the saved percentage × the employee’s annual gross salary (Basic plus benefits). The rebate itself is capped at ৳1 crore (৳10,000,000) per year.
- That yearly rebate is divided by 12 and taken off the same month’s income tax.
- The rebate can only lower tax down to the applicable minimum tax floor from Step 4 (New Taxpayer or General) — it’s never allowed to push the tax below that floor. If the rebate is larger than the room available, only the part that fits is credited.
Example: Gross Salary ৳100,000/month (Annual Gross ৳1,200,000), with a 10% rate saved. Yearly rebate = 10% × ৳1,200,000 = ৳120,000 (well under the ৳1 crore cap), credited monthly as ৳120,000 ÷ 12 = ৳10,000 off that month’s Income Tax.
Where you see it: the Income Tax deduction line shows the final amount, already net of the rebate — there is no separate rebate row on the deductions side. The rebate itself appears in the paystub’s Tax Breakdown section, as Investment Rebate (Yearly) and Investment Rebate (Monthly) rows.
If no investment or retirement contribution is saved for the employee, this rebate simply doesn’t apply and won’t appear on the paystub. The question itself only appears on Payroll Config for companies whose active Tax Rate Calendar includes it.
Step 5 — Convert to Monthly Tax
Monthly Tax = Annual Tax ÷ 12. This monthly tax amount appears as the Income Tax deduction line on the paystub.
Example for a salary of ৳60,000/month (using the example slabs above):
Annual Income = ৳60,000 × 12 = ৳720,000
One-third rebate: ৳720,000 ÷ 3 = ৳240,000
Taxable Income = ৳720,000 − ৳240,000 = ৳480,000
Tax on first ৳375,000 at 0% = ৳0
Tax on remaining ৳105,000 at 10% = ৳10,500
Total Annual Tax = ৳10,500
Monthly Tax = ৳10,500 ÷ 12 = ৳875.00
Preview Payroll #
Before submitting, click Preview to review the full per-employee breakdown. The preview shows everything that will appear on the final paystub, including earnings, deductions, tax breakdown, work summary, leave details, and year-to-date totals.
No payroll records are saved at the preview stage. Clicking Back returns you to the Payroll Records page to make further adjustments. Clicking Cancel exits the payroll flow entirely without saving anything.
When you are satisfied, click Submit Payroll to finalise.
Submitting Payroll #
Clicking Submit Payroll on the Preview page finalises payroll. Each employee’s record is saved independently. If one employee’s submission fails, the others are not affected — you will see a per-employee success or error notification.
Once submitted:
- Payroll records are locked and cannot be re-submitted for the same period.
- Records immediately appear in each employee’s Paycheck History.
- Each overtime / premium category’s quota is decremented by the hours paid.
- Leave balances are updated for any excess or unpaid leave deducted, and backdated leave hours are reset.
- An Activity Log entry is created recording the payroll run details.
Each saved record also freezes a snapshot of the deduction basis, payroll configuration, employee details, hours-per-day, year-to-date totals, and tax details — so later changes to settings or profiles never alter an already-issued paystub.
Paystub #
Clicking View Paystub from Paycheck History opens the saved paystub for that pay period. The paystub is read-only and reflects data as it was at the time of submission.
Example Paystub —


Note: Overtime and premium pay appears as separate lines per category (for example, Daily Overtime Pay, Night Premium Pay, Holiday Premium Pay). Deduction line hours are shown to two decimal places. The Basic salary row always shows the full monthly salary — absent hours do not reduce it directly; they appear as a separate deduction line instead.
Net Pay and Year-to-Date Summary
YTD (Year-to-Date) totals accumulate from 1 July of the current income tax year up to the current payroll month. They do not reset on 1 January. Deductions YTD and Tax YTD are shown separately to avoid double counting.
Tax Breakdown
When the minimum tax applies instead, an extra row appears — titled Minimum Tax Applied (Yearly) — and the slab values are visually distinguished.
The paystub footer reads: “This is a computer-generated paystub. For questions regarding your pay, please contact HR.” You can download the paystub as a PDF at any time — downloading never changes any payroll data.
Leave Summary (Preview Only)
The Leave Details section appears on the Payroll Preview page only, not on the saved paystub.
| Leave Type | Entitled | Used (Paid / Unpaid) | Earned | Remaining |
|---|---|---|---|---|
| Casual Leave | 11.00 days | 1.00 (Paid: 1.00 / Unpaid: 0.00) | 3.50 days | 2.50 days |
| Sick Leave | 3.00 days | 0.00 (Paid: 0.00 / Unpaid: 0.00) | 1.00 day | 1.00 day |
Income and Tax Statement #
From the Payroll List, click Income and Tax Statement on any employee row to generate a yearly income and tax report.
- Select the year from the dropdown, labelled Assessment Year (Income Tax Year). Options look like “2027–2028 (July 1, 2026 – June 30, 2027)” — pick the one whose bracketed dates cover the months you want. Available years are limited by the employee’s joining date, and you can select the current, still-running year too — as long as at least one payroll has been run for the employee within it. If none are available, you’ll see “No income tax years available.”
- Click Generate Statement.
The statement shows yearly income totals, deductions, and tax details added up across all payroll records within the July-to-June income tax year. If some months have no payroll data, a banner reads “This statement is based on partial payroll data. Data is available for the following months only,” listing the months that do have data, and the statement is still generated using them. If there are no records at all for the selected year, you will see: “No payroll records found for the selected income tax year. Run at least one payroll to generate this statement.”
You can download the statement as a PDF.