Setting Up Your Organization
Create the work locations, approval groups, payroll calendars, pay codes, and cost centers that workers and wages refer to.
Before you create your first worker or send your first hour, Everee needs to know the shape of your organization: where people work, who approves their time, when they're paid, and how you categorize what they earn. Workers and wage items refer to these records by ID or key, so they have to exist first.
You can create all of them in the Everee admin portal, with the API, or with a mix of both. Integrations that serve many customers usually create them with the API, so each customer's setup matches their own system with no manual steps.
What to set up, and in what order
| Order | Record | Why it matters | API |
|---|---|---|---|
| 1 | Work locations | A wage is taxed according to where it was earned. The location's address decides the tax jurisdictions and which leave rules apply. | Create a work location |
| 2 | Payroll calendars | A calendar sets how often workers are paid and when pay periods start. | Create a payroll calendar |
| 3 | Approval groups | A group is a set of workers whose hours are verified and approved together. You can also filter reports by group, and give different groups different GL codes. | Create an approval group |
| 4 | Cost centers | Up to three categories, like client, job, or department, to tag wages with for cost allocation. | Create a cost center |
| 5 | Pay codes | The categories wages, reimbursements, and one-time deductions are placed into. Everee provides defaults, like REGULAR_HOURLY and BONUS. Create your own only for categories that don't fit a default. | Create a pay code |
| 6 | Leave types and policies | Only if you administer paid time off. See Managing leave and PTO. | Leave Accrual API |
Two more things are configured in the Everee admin portal rather than the API: Workers' Comp classes, which Everee enters during company onboarding and updates at each coverage renewal, and each company's webhook endpoints. You can list Workers' Comp classes to find the codes you'll attach to hours.
Work locations
Every wage is assigned to a work location, either explicitly on the shift or payable item, or by default from the worker's profile. Staffing and multi-site employers should assign one explicitly every time. A wage assigned to the wrong location is taxed in the wrong jurisdiction.
POST https://api.everee.com/integration/v1/work-locations
{
"name": "Salt Lake Office",
"line1": "100 S Main St",
"city": "Salt Lake City",
"state": "UT",
"postalCode": "84101",
"effectiveDate": "2026-01-01",
"externalId": "site-0042"
}- Send an
externalIdso you can match locations to your own sites. List work locations returns it. - Everee works out the coordinates from the address if you don't send them.
- Validate the address before you create a location, ideally on a map. Changing an address later applies only to upcoming payroll. It doesn't correct taxes already paid.
- Archive a location you no longer use. This frees its name for reuse.
Payroll calendars
A payroll calendar defines pay period length and start day (WEEKLY, BI_WEEKLY, SEMI_MONTHLY, or MONTHLY). A new calendar's effectiveDate must be tomorrow or later.
You assign a worker to a calendar with payrollCalendarId when you create or invite them, and can move them later. Workers you don't assign go on the company's default calendar. Contractors aren't paid on a calendar.
See the Guide to the Payroll Calendar API for naming, archiving, and the effects of moving a worker between calendars.
Approval groups
An approval group has only a unique name.
POST https://api.everee.com/integration/v1/approval-groups
{ "name": "Warehouse - Day Shift" }Assign a worker to a group with approvalGroupId when you create them, or later with Update approval group. Groups are one of the two dimensions you can scope GL code mappings by.
Cost centers
A company can have up to three active cost center types, one per slot. A type has a case-sensitive key, like clientId, that you can't change later. Values within a type, like "Acme Co.", are created automatically the first time you use them.
Create the types before you send any wages that use them, because an unknown or archived key rejects the whole request. You can also set default values on a worker's position, which apply to hours that don't specify their own.
See Working with cost centers, including how to change a cost center's meaning safely. Rename it only to fix a label. If the meaning changes, archive it and create a new one.
Pay codes
For most integrations, the default pay codes are enough. Create a custom pay code when you need wages of a kind to be tracked, displayed, and mapped to a GL code separately: for example FIELD_HOURS or ON_TIME_BONUS.
Pick the payCodeType carefully because it decides tax treatment:
payCodeType | Use it for |
|---|---|
TAXABLE_PAY | Wages and contractor pay |
NON_TAXABLE_PAY | Reimbursements and other non-wage amounts |
DEDUCTION | One-time post-tax deductions. This doesn't create a recurring deduction. See Syncing benefit and retirement deductions. |
Keys use only uppercase letters, numbers, and underscores. See the Guide to the Pay Codes API for the full list of defaults.
Keep your IDs
Store the Everee IDs of the records you create, next to your own, so later requests can refer to them without a lookup:
| Everee record | Where you'll use its ID |
|---|---|
| Work location | workLocationId on workers, shifts, classified hours, and payable items |
| Payroll calendar | payrollCalendarId when creating or updating a worker |
| Approval group | approvalGroupId when creating or updating a worker |
| Cost center | the type key in costCenters on workers, shifts, and payable items |
| Pay code | the apiKey as payCode on payable items and deductions |
Next steps
Updated about 3 hours ago