Product: ZonePayroll Region: Canada Category: Payroll Configuration
Overview
This article explains how to configure a Bonus pay component subtype in NetSuite for Canadian payroll, and why the Marginal Tax Method must be used when paying bonuses.
Tax Method
Bonuses are considered irregular (non-recurring) payments by the CRA and Revenu Québec. If a bonus is taxed using the same method as regular salary, the employee may not have enough income tax withheld — particularly if the bonus pushes them into a higher tax bracket.
Both the CRA and Revenu Québec require employers to apply the Bonus Tax Method, which works as follows:
- The bonus amount is annualized.
- Tax withholding is calculated based on the employee's total projected yearly income.
- Any shortfall — the additional tax the employee would have owed had their salary been that high all year — is withheld from the bonus payment.
In NetSuite, this is handled by selecting Marginal as the Tax Calculation Method on the pay component subtype.
📌 ZonePayroll terminology: The CRA's Bonus Tax Method is called "Marginal Tax" in ZonePayroll. These refer to the same calculation — when you see "Marginal" in the Tax Calculation Method field, that is the Bonus Tax Method.
Understanding Bonus Types
The type of bonus will determine whether vacation pay is calculated or not. Some payrolls have a Bonus and Bonus ND (Non-Discretionary) code set up separately for this reason.
Not all bonuses are configured the same way. According to the NPI Earnings Chart, bonuses must be categorized based on their purpose, as each type carries different payroll implications for CPP/QPP, EI, income tax, vacation pay, and reporting.
Discretionary Bonus
Awarded at the discretion of the employer, usually without criteria in place for awarding the bonus. It is a form of additional compensation that an employer may decide to give to an employee. The employee does not expect it.
Examples:
- An employer wants to surprise an employee with a holiday bonus
- An employee goes above and beyond their job duties
- A team overcame a challenging day with high volumes of work
Non-Discretionary Bonus
Awarded in addition to an employee's regular wages, and most often tied to employee performance. May be part of an employee's work contract. The employee expects it.
Examples:
- Hiring bonuses
- Production bonuses
- Bonuses for reaching sales goals
Payroll Implications at a Glance
| Attribute | Discretionary | Non-Discretionary |
|---|---|---|
| Taxable income | Yes | Yes |
| Pensionable (CPP/QPP) | Yes | Yes |
| Insurable (EI) | Yes | Yes |
| Marginal Tax Method required | Yes | Yes |
| WCB insurable | Yes | Yes |
| Vacationable earnings | No | Yes (all provinces except NL) |
| T4 reporting box | Box 14 | Box 14 |
| Relevé 1 (Quebec only) | Box A | Box A |
Recommendation: It is recommended to set up two separate bonus pay component subtypes — one for Discretionary and one for Non-Discretionary — since their vacationability differs. Use the appropriate code based on the situation: apply the Discretionary code when the bonus is employer-initiated and unexpected, and the Non-Discretionary code when the bonus is tied to performance, a contract, or an expectation of the employee. Using the wrong code will result in vacation pay being incorrectly calculated or missed.
How to Set Up a Bonus Pay Component in ZonePayroll
Step 1: Navigate to Pay Component Subtypes
Go to Payroll Administration > Payroll Setup > Pay Component Subtypes and click New.
Step 2: Complete the Primary Info Fields
| Field | Recommended Value |
|---|---|
| Name | Bonus – [Discretionary or Non-Discretionary] |
| Pay Component Type | Salary/Wages |
| Pay Component Category | Bonus |
| OTE | Checked |
| Variable | Optional |
| Taxable | Checked |
| Earnings for Pensions | Checked (If applicable) |
| Jurisdiction | Canada |
| P&L Account | Salaries & Wages (or your preferred account) |
Step 3: Complete the Main Tab
| Setting | Value |
|---|---|
| Show in Pay Components | Checked |
| Show in Time Entry | Optional — based on your entry method |
| Percent Type | Gross Pay |
| Payslip Group | Bonus |
Step 4: Complete the Canada Compliance Fields
This is the most critical section. These settings ensure the bonus is treated correctly for all statutory deductions.
| Field | Value |
|---|---|
| Insurable Earnings | Yes |
| Pensionable Earnings | Yes |
| WCB Insurable | Yes |
| Vacation Pay Earnings | No (for discretionary) / Yes (for non-discretionary, except NL) |
| Reporting Box | 14 – Employment Income |
| Tax Calculation Method | Marginal |
⚠️ Important: The Tax Calculation Method must be set to Marginal. This is what triggers the CRA Bonus Tax Method calculation in NetSuite. Using any other method will result in incorrect income tax withholding on bonus payments.
Step 5: Reporting Codes
Both bonus types report to the same boxes:
| Bonus Type | T4 Box | Relevé 1 (QC) |
|---|---|---|
| Discretionary | Box 14 | Box A |
| Non-Discretionary | Box 14 | Box A |
Validating Your Setup
After configuring any bonus pay component, validate the tax calculation output against the CRA's Payroll Deductions Online Calculator (PDOC) before running live payroll.
Run a test scenario in NetSuite using a known salary and bonus amount, then enter the same values into PDOC and compare the income tax withholding results. The figures should align.
Summary
- Bonuses in Canada must use the Marginal Tax Calculation Method in ZonePayroll to comply with CRA and Revenu Québec requirements.
- Discretionary and non-discretionary bonuses share the same tax and deduction treatment, with one key difference: non-discretionary bonuses are vacationable earnings (in all provinces except Newfoundland and Labrador); discretionary bonuses are not.
- Both bonus types report to T4 Box 14 and Relevé 1 Box A (Quebec).
- Always validate your setup using the CRA PDOC calculator before processing bonus payments.