- Employer Benefits: Contributions paid by the employer towards employee benefit plans.
- Employee Benefits: Contributions deducted from the employees earnings to contribute to their benefits.
Employer Contributions
Employer Benefits
Employer Benefits represent the configuration of recurring contributions made by the employer towards benefit plans, such as health insurance or retirement contributions.- Employer Benefits are contributions made by the employer towards employee benefit plans.
- They can be fixed amounts, amounts per hour worked, or calculated based on employee earnings.
- During the effective dates, these contributions are automatically applied to the payroll as an Employer Benefit Line Item.
- Employer Benefits can be inherited from a Business Preset, allowing for consistent benefit configurations across multiple work assignments.
For the complete list of accepted fields, see the Create an Employer Benefit API reference.
🔍 Note: employee_benefit_id is used only for UI grouping. No values are inherited, and changes to one do not affect the other.
Employee Contributions
Employee Benefits represent the configuration of recurring contributions deducted from the employees earnings towards benefit plans, such as health insurance or retirement contributions.- They can be fixed amounts, amounts per hour worked, or calculated based on employee earnings.
- During the effective dates, these contributions are automatically applied to the payroll as an Employee Benefit Line Item.
- Employee Benefits can be inherited from a Business Preset, allowing for consistent benefit configurations across multiple work assignments.
Key Fields
For the complete list of accepted fields, see the Create an Employee Benefit API reference.
🔍 Note: employer_benefit_id is used only for UI grouping. No values are inherited, and changes to one do not affect the other.
Amount Types
A benefit contributes a dollar amount, a dollar amount per hour, or a percentage of income.amount carries the value and amount_type says how to read it.
fixed:amountis a dollar figure, up to 99999.fixed_per_hour:amountis a dollar figure per hour. Nmbr multiplies it by the hours on the pay stub’s earning line items. See Defining Hours for Per-Hour Benefits.percent:amountis a percentage between 0 and 100, applied to the income for the pay period.
amount_type defaults to fixed.
percent field, which is deprecated. Send amount with an amount_type of percent instead. While you migrate, you can pin either shape per request with a Prefer: deprecate_benefit_percent=true|false header.
Defining Hours for Per-Hour Benefits
hours_basis selects the earning line items on the pay stub whose hours count.
hours_includes adds specific earning subtypes on top of the basis. Each entry names a type of earning and a subtype.
To count salary, wage and overtime hours, but not the hours on stat holiday pay or any other earning:
hours_basis and hours_includes only apply to per-hour benefits. Changing either one on any other benefit returns a validation error.
Defining Income for Percentage Benefits
A percentage benefit needs to know what counts as income.income_basis selects the line items on the pay stub that make up that figure.
income_includes adds specific subtypes on top of the basis. Each entry names a type (earning, allowance, or reimbursement) and a subtype.
To calculate a benefit on commissions alone, start from none and name the one subtype you want:
Frequency and Allocation
frequency decides how often a benefit reaches a pay stub. Contributions are applied to the next regular draft payroll that falls inside the effective window.
once: applied to the next payroll, then not repeated once that payroll is no longer a draft.per_payroll: the full amount on every payroll in the effective window.per_month: the amount is divided across the selected payrolls in each calendar month.
per_month requires an amount_type of fixed. Percentage and per-hour benefits already recalculate against each period’s income or hours, so per_month would behave the same as per_payroll, and the API rejects the combination.
Two fields shape a per_month allocation.
date_basis decides which calendar month a payroll belongs to: by_period_start_date (the default), by_period_end_date, or by_pay_date.
pay_period_cadence lists the pay periods in the month that receive a share, as 1-based positions. -1 means the final period of the month. When omitted, every period in the month receives a share.
A $300 monthly benefit on a bi-weekly schedule with a `pay_period_cadence` of `[1, 2]` contributes $150 on each of the first two payrolls of the month, and nothing on a third. If a selected position doesn’t exist in a given month, its share is redistributed across the remaining selected periods.
Both fields are read only for
per_month fixed-amount benefits. Sending either one on any other benefit returns a validation error instead of storing a value that would never be used.
Sales Tax on Contributions
Ontario, Quebec, and Manitoba levy a sales tax on insurance premiums. Setapply_sales_tax to true and Nmbr adds that tax to the contribution, using the rate for the employee’s province of residence, the benefit type, and the payroll year.
The tax covers insurance benefit types such as health, dental, group_term_life_insurance, group_dependent_life_insurance, accident_insurance_plan, and critical_illness. Employees in other provinces, and benefit types with no rate for that province, contribute the untaxed amount.
Sales tax is added before max_annual_contribution is applied, so the cap bounds the premium plus tax.
Contribution Limits
Each benefit can have amax_annual_contribution defined to set an annual limit, which is enforced during payroll processing. The payroll that reaches the limit contributes only what’s left of it, and later payrolls contribute nothing until the next tax year.
max_annual_contribution_basis sets what the cap counts:
this_benefit(the default) counts only the line items this benefit created earlier in the tax year.all_line_items_of_typecounts every line item of the same benefit type on the work assignment earlier in the tax year. That includes line items created by other benefits of the same type and one-off line items added straight to a pay stub, so two separate RRSP plans on one work assignment count towards a single yearly limit.
- The limit resets at the start of each tax year. For Canadian business entities that is the calendar year, measured on the payroll’s pay date.
- Only line items on approved payrolls count towards the limit, including those since paid. A draft payroll doesn’t consume the cap until it is approved.
- Where a line item’s amount was overridden with
custom_amount, the overridden amount is what counts. - Changing
max_annual_contributionmid-year changes the limit, not the remaining amount. Contributions already made this tax year count towards the new value, so lowering it below what has been contributed stops contributions until the next tax year. - Contributions recorded outside Nmbr are not considered. Year-to-date figures come from pay stubs in Nmbr only.
Validations
amountmust be between 0 and 100 whenamount_typeispercent, and between 0 and 99999 when it isfixedorfixed_per_hour.max_annual_contributionmust be between 0 and 99999.99, with at most two decimal places.- Only one of
amountorpercentmay be set per benefit. Attempts to set both will result in a validation error. - A benefit must include a
*_benefit_typeunless inherited from a Business Preset. frequencymay only beper_monthwhenamount_typeisfixed.date_basisandpay_period_cadencemay only be set onper_monthfixed-amount benefits.hours_basisandhours_includesmay only be changed onfixed_per_hourbenefits.effective_tomust be on or aftereffective_from.- The work assignment must belong to an Employee. Benefits are not available on contractor work assignments.
Benefit Line Items
Employer Benefit Line Items
Employer Benefit Line Items represent the actual contributions made by the employer towards employee benefit plans during payroll processing. These line items are generated based on the configured Employer Benefits, or can be created directly for one-time contributions.Employee Benefit Line Items
Employee Benefit Line Items represent the actual contributions made by the employee towards benefit plans during payroll processing. These line items are generated based on the configured Employee Benefits, or can be created directly for one-time contributions.Benefit Types
Employee and employer benefits each have their own set of supported benefit types, which may overlap. You can retrieve the lists using the following endpoints:GET /employee_benefit_types: Returns all employee benefit typesGET /employer_benefit_types: Returns all employer benefit types
type: the unique identifier used in the API, e.g.critical_illness,pension_dcpp.label: a human-readable name for display purposes, e.g “Critical Illness”, “Defined Contribution Pension Plan (DCPP)”.
Example Scenarios
A. One-Time Dental Contribution
Creates a one-time $125 employee-only dental benefit:Recurring Employee RRSP contribution
A recurring RRSP contribution of $150 each payroll with an annual maximum of $600, starting from January 1, 2025:Two RRSP plans under one annual cap
An employee contributes to two RRSP plans and the combined total must stay under $5,000 for the year. Set the same cap on both benefits with a basis ofall_line_items_of_type, and every RRSP line item on the work assignment counts towards it:
Monthly health premium on the last payroll of the month
A $120 monthly employer health premium, allocated in full to the final payroll of each calendar month, with provincial sales tax added:Employer pension contribution per hour worked
A $2.50 employer pension contribution for every hour worked, counting salary, wage and overtime hours but not stat holiday pay or paid leave:Shared Health Plan
A recurring Health contribution:- Employer contributes $50 per payroll.
- Employee contributes $25 per payroll.
- The two benefits are linked, allowing the two benefits to be displayed together in payroll.

