Employee Checks

With Zeal, paying employees is a simple matter of creating Employee Checks with the desired check_date (or payday). Zeal does all the heavily lifting of batching payroll runs, calculating gross-to-net pay, and moving money to ensure all stakeholders are paid on time.

In this guide, we'll first cover some important components of an Employee Check, and then show how to create one!

Components of an Employee Check

Reporting Period

Reporting Periods refer to the period of time for which the employee is being compensated. Reporting periods correlate with the pay schedule for the employee. For example, if the employee is on a semi-monthly pay schedule, a normal reporting period may span Jan. 1st - Jan. 15. If the employee is on a daily pay schedule, the reporting period could be any day of the year. See Pay Frequency, Reporting Periods and Check Dates for more details.

Check Date

The Check Date states what day the employee should be paid. This date is essential to how Zeal runs payroll. At 2 PM Pacific Time two days prior to any given Check Date, Zeal will batch all Employee Checks with the same check_date together into one Employer Check (essentially a payroll run). Zeal will debit the employer’s bank account the gross total and use it to pay out the net earnings to all employees by the Check Date.


Shifts define the compensation the employee has earned. Shifts will include one or many earning components such as hourly wages, overtime wages, PTO, commission, etc. You can manage Shifts by creating the Employee Check upfront and then adding shifts to the existing check or by including all Shifts directly in the initial request to create the Employee Check.

Deductions (Optional)

Deductions refer to specific withholdings from an employee’s pay. Common deductions include 401K, HSA, and garnishments. Deductions are important for the calculation of taxes and the reporting on paystubs. Zeal will use the deduction in our gross-to-net calculation but will not debit the deduction from the employer’s bank account. The employer is responsible for paying out the proper stakeholders for the deduction.


  1. Call Get Reporting Period by Date Range to get the proper reporting period for this check.



Remember to replace the placeholders such as {{testApiKey}} in the code samples below.

curl --request GET \
     --url 'https://api.zeal.com/reportingPeriod?companyID={companyID}&pay_schedule=semimonthly&searchStart=2022-01-01&searchEnd=2022-01-15' \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {{testApiKey}}'
  1. Call Create Employee Check.
curl --request POST \
     --url https://api.zeal.com/employeeCheck \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {{testApiKey}}' \
     --header 'Content-Type: application/json' \
     --data '
     "approval_required": false,
     "disbursement": {
          "method": "direct_deposit"
     "shifts": [
               "flat": {
                    "hours": 80,
                    "amount": 2500
     "companyID": "{{companyID}}",
     "employeeID": "{{employeeID}}",
     "reportingPeriodID": "{{reportingPeriodID}}",
     "check_date": "2022-01-14"

You've created your first Employee Check.


  1. Navigate to your Super Admin Dashboard and ensure that Test Mode is enabled.
  2. Click on a Company to access the Employer Dashboard as a Super Admin.

  1. Navigate to Pay > Pending and click Create New Check

  1. Fill the details for the check and click Add New Shift to enter the Shift data.

  1. Click Create Employee Check.



When an Employee Check is successfully created through the whitelabel, data about the check is sent to the webhook URL set for the Employee Check Event.

You've created your first Employee Check.

What’s Next