Calculators
Total hours from a timesheet, and what they pay
Add up a timesheet and turn it into gross pay.
Each day takes a start, a finish and an unpaid break in minutes. Leave days off out of the list rather than sending zeros.
An overnight shift is handled, not rejected: a finish at or before the start is treated as the next day, so 22:00 to 06:00 is eight hours. A break longer than the shift floors the day at zero rather than going negative.
Pay is GROSS. For what is left after PAYE, ACC, KiwiSaver and a student loan, send the hourly rate and hours to /v1/hourly-to-salary.
Does not apply overtime or penal rates, public holiday entitlements, or a minimum wage check.
post/v1/work-hours
Request
- Base URL: https://api.calculate.co.nz
- URL: https://api.calculate.co.nz/v1/work-hours
- Auth: API key in header X-API-Key
Request body
Example request
{
"days": [
{
"break_minutes": 30,
"finish": "17:00",
"label": "Monday",
"start": "08:30"
},
{
"break_minutes": 30,
"finish": "17:00",
"label": "Tuesday",
"start": "08:30"
},
{
"break_minutes": 30,
"finish": "17:00",
"label": "Wednesday",
"start": "08:30"
},
{
"break_minutes": 45,
"finish": "19:30",
"label": "Thursday",
"start": "08:30"
},
{
"break_minutes": 30,
"finish": "15:00",
"label": "Friday",
"start": "08:30"
}
],
"hourly_rate": 32.5
}Response
Hours per day, the total, and gross pay at each frequency.
Example response
{
"disclaimer": "Gross hours and pay only. Does not apply overtime or penal rates, public holiday entitlements, or minimum wage checks, and does not deduct tax. Not legal advice.",
"result": {
"annual_pay": 68022.5,
"days": [
{
"break_minutes": 30,
"finish": "17:00",
"hours": 8,
"label": "Monday",
"overnight": false,
"start": "08:30"
},
{
"break_minutes": 30,
"finish": "17:00",
"hours": 8,
"label": "Tuesday",
"overnight": false,
"start": "08:30"
},
{
"break_minutes": 30,
"finish": "17:00",
"hours": 8,
"label": "Wednesday",
"overnight": false,
"start": "08:30"
},
{
"break_minutes": 45,
"finish": "19:30",
"hours": 10.25,
"label": "Thursday",
"overnight": false,
"start": "08:30"
},
{
"break_minutes": 30,
"finish": "15:00",
"hours": 6,
"label": "Friday",
"overnight": false,
"start": "08:30"
}
],
"days_worked": 5,
"fortnightly_pay": 2616.25,
"hourly_rate": 32.5,
"monthly_pay": 5668.54,
"total_hours": 40.25,
"weekly_pay": 1308.13
}
}Changes
No recorded changes to this operation across all 1 revision of this API.