Skip to main content

Overview

A payroll schedule determines the length of your pay period and how often you pay your employees. The most common payroll schedules are weekly, biweekly, semimonthly, and monthly. Your payroll schedule is dependent upon a few factors, including provincial laws and regulations. Many provinces have pay schedule frequency requirements that you’ll need to meet. On top of provincial laws, your pay schedule should also fit the needs of your employees and your business. If you employ mostly hourly workers, your pay schedule may look different from a business with mostly salaried employees. Your province, your industry, and the types of workers you employ all impact your payroll schedule. Typical pay frequencies include:
  • Weekly
  • Bi-weekly
  • Semi-monthly
  • Monthly
Each frequency type requires specific configuration parameters.

Pay Schedule Parameters

Pay Day Movement Options

  • inherit (default): Use the Business Entity setting.
  • previous_business_day: Move to the previous working day.
  • next_business_day: Move to the next working day.

Non-Standard Period Counts

Weekly and bi-weekly schedules carry an extra pay period in some years, a 53rd or 27th payroll, which lowers the per-period amount of an annual salary. Some employers prefer to divide the salary over the standard 52 or 26 periods regardless, so an employee’s per-period pay stays the same from year to year. custom_pay_periods_per_year may be used to override the count that salaries are divided by. See Years With an Extra Pay Period.

Custom Pay Schedules

For more information on Custom Pay Schedules, please see the
Custom Pay Schedules guide.

Creating a Pay Schedule

Endpoint

POST /services/payroll/pay_schedules

Request Example

Success Response

Error Response Example


Behavior by Pay Frequency

Weekly

  • Projects payrolls weekly based on the weekday value of anchor_pay_date and anchor_end_of_pay_period.

Bi-Weekly

  • Projects payrolls every two weeks based on the weekday value of anchor_pay_date and anchor_end_of_pay_period.

Semi-Monthly

  • Two pay periods per month, paid on fixed pay dates set by day_1 and day_2.
  • day_1 and day_2 are any two different days of the month, from 1 to 31, or -1 for the last day of the month. The two days can be in either order.
  • day_1 and day_2 can’t both be 28 or later (-1 counts as 31), because those days land on the same date in February.
  • If day_1 or day_2 doesn’t exist in a shorter month, the payroll’s original_pay_date is that month’s last day. For example, a pay day of 30 gives an original_pay_date of February 28 in a non-leap year.
  • anchor_pay_date must fall on day_1 or day_2. In a month where the pay day doesn’t exist, the month’s last day counts as the pay day.
  • The anchor dates set which pay period each pay date pays, so a schedule can pay after a pay period closes or before it closes. For example, a schedule with pay days 7 and 22 and an anchor_end_of_pay_period of January 15 pays the January 1 to 15 pay period on January 22 when anchor_pay_date is January 22, or on January 7 when anchor_pay_date is January 7.

Monthly

  • One payroll per month.
  • day_1 defines the pay date. Use -1 to indicate “last day of the month”.
  • If day_1 would fall on an invalid date (e.g., September 31st), the payroll’s original_pay_date will be adjusted to the prior valid date.

Notes

  • Date Validations: Invalid dates automatically roll back to the nearest valid day.
  • Pay Date adjustment: If the payrolls original_pay_date falls on a weekend or holiday, the payrolls pay_date will be adjusted to a valid date based on the pay_day_movement_setting.
  • Defaults: If pay_day_movement_setting is not provided, the Business Entity default is used.