Employee Checks

Learn how to work with employee checks in Zeal

One of Zeal's most important concepts is the employee check. An employee check represents when and how to pay a W2 employee. As with the vast majority of components in Zeal, employee checks can be created, updated, and/or deleted on the dashboard and/or API.

What is in an employee check?

See how Zeal models an employee check in the API here.

The major parts of the check include:

  1. employeeCheckID: The unique identifier for this check
  2. status: The status of the check (pending, pre-processed, processed)
  3. employeeID: The ID of the employee that this check is for
  4. reportingPeriodID: Zeal's Reporting Period ID. A Reporting Period, also known as pay period, describes the span of time that the work was completed (or the dates the check payment is covering). Query Zeal's system for the correct Reporting Period ID to attach to the employee check. Learn more here.
  5. check_date: The date that the employee should receive this check. By default, if you give an invalid check date (check date falls on a weekend or holiday) Zeal will automatically roll forward the check date to the next feasible date. Read more in the API Reference.
  6. approval_required: By default set to false, this field dictates whether manual approval is required for this check or not. Zeal typically automatically processes the check the day before the check date. However, IF approval is required and the check is not approved by time of processing, Zeal will NOT process the check.
  7. disbursement: This field dictates the method of payment for this check. Zeal currently offers two disbursement methods: direct deposit and download check.
  8. gross_pay
  9. net_pay: Total pay after taxes are withheld (this field only applies for processed checks).
  10. taxes: List all employee and employer taxes (this field only applies for processed checks).
  11. total_employer_taxes: Sum of all taxes owed by the employer (this field only applies for processed checks).
  12. total_employee_taxes: Sum of all taxes withheld from the gross pay for the employee (this field only applies for processed checks).
  13. shifts: List of all shifts. See below for more information about a shift.

What is in a Shift?

A shift embodies completed work by the employee and consists of multiple earning components that describe the type of work performed. Zeal uses the shifts of an employee check to calculate the check's gross pay.

The major parts of the shift include:

  1. shiftID: The unique identifier for this shift
  2. status: The status of the shift
  3. employeeCheckID: The ID of the employee check that this shift is associated with

Every shift also requires at least 1 earning component. Zeal supports all types of earning components from hourly and overtime to PTO and charged tips. See how Zeal models a shift and it's earning components in the API here.

Reach out to Zeal if you'd like help in mapping your existing earning components to Zeal's.

Create an Employee Check

  1. Super Admin Dashboard
  1. Create Employee Check
curl --location --requests POST 'https://api.joinpuzzl.com/employeeCheck'
 --header 'Content-Type: application/json'
 --header 'Authorization: Bearer <YOUR API KEY>'
 --data-raw '{
   "companyID": "1b5n28nrideucd24",
   "employeeID": "3f8a4ae74047215b5b218463",
   "reportingPeriodID": "5f8f4ae71044215a6b608464",
   "check_date": "2020-01-07",
   "shifts": [
         "time": "2020-04-15T14:00:00Z",
         "hourly": {
               "hours": 8,
               "wage": 25
         "overtime": {
               "hours": 2
         "reimbursement": {
               "amount": 8

See Employee Checks

You can monitor employee checks through the dashboard and API

  1. Super Admin Dashboard
  1. Retrieve Employee Checks by Employee
curl --location --requests GET 'https://api.joinpuzzl.com/employeeCheck?companyID={companyID}&employeeID={employeeID}'
 --header 'Authorization: Bearer <YOUR API KEY>'

Did this page help you?