Contractor Payment Object

The Contractor Payment Object represents a payment made out to a Contractor Object .

attribute

type

description

contractorPaymentID

string

Zeal Contractor Payment ID

contractorID

string

Zeal Contractor ID

companyID

string

Zeal Company ID

status

string

Holds one of the following values:
pending
pre-processed
processed

approval_required

boolean

optional

Whether manual approval is required for this payment or not. By default, Zeal automatically processes the payment two business days before the pay date. However, if approval is required and the payment is not approved by time of processing, Zeal will NOT process the payment.

approved

boolean

optional

Whether this payment has been manually approved or not (only relevant if approval_required is true)

pay_date

date

Date of Pay Date for this contractor payment, in the ISO-8601 format in UTC. Zeal will pay this contractor on this date. Example 2019-10-01

amount

number

Amount to be paid to the contractor

disbursement_status

string

  • *Part of the object provided upon response of Contractor Payment creation** Provides an up-to-date status of the payment. The disbursement_status will hold one of the following values:
Show disbursement_status values
  • pending* - Status of all checks until net pay has been started
  • settled* - Funds have successfully settled in employee’s account
  • void* - When an Employer pays out the wrong person or the wrong amount and wants to void the check This will be solved by automatically creating a DL link for a check from the EE to the ER for the entire amount that they can DL
  • returned* - Net pay did not successfully get disbursed refunded - (Only applicable to direct deposit payments) Status of checks that failed but then the employer wants to pay out in-house
  • canceled* - (Only applicable to direct deposit payments) The check got canceled due to:
  • Going to an inactive user
  • Having a transaction going to a watchlist match
  • Check is going a locked node

disbursement

object

This object includes information regarding how the pay is disbursed to the contractor. Zeal supports the following disbursement methods for contractors: Direct Deposit, Direct Deposit (Same Day), Physical Check, Prepaid, and Paycards (Early Access).

Show disbursement fields method type: string default: direct_deposit description: These are the options:- direct_deposit: Zeal will make a direct deposit (Next Day ACH) to the contractor's bank account

  • direct_deposit_same_day: Zeal will make a direct deposit (Same Day ACH) using to the contractor's bank account
  • physical_check: Zeal will send a physical check to the employee's home address on file.
  • prepaid: Zeal will not debit from the employer account to pay the contractor, the employer is responsible for paying the contractor directly e.g. in cash, check etc.
  • paycard: Zeal will transfer funds to the contractor's paycard. This is only an option if the contractor has enrolled for paycards Note: This is only available for Paycards product (Early Access)

type

string

Type of payment. Only regular payments are reported on a contractor's Form 1099-NEC. Holds one of the following values -
regular,
reimbursement

speed

string

The ACH speed of the check, accepts two_day, one_day or one_day_no_reserve, zero_day as values. (Early Access)

triggered

boolean

Whether a disbursement has been triggered for this contractor payment. Only applicable to contractor payments of disbursement method paycard

triggered_at

datetime

Timestamp of when the disbursement was triggered, in the ISO-8601 format in UTC.

customerAccountID (Early Access)

string

Can be used to attach a customer account to a contractor payment

{
  "contractorPaymentID": "246863894",
  "contractorID": "1234567890",
  "companyID": "0987654321",
  "status": "pending",
  "approval_required": false,
  "approved": false,
  "pay_date": "2024-10-01",
  "amount": "100",
  "disbursement_status": "pending",
  "disbursement": {
    "method": "direct_deposit"
  },
  "type": "regular",
  "triggered": true,
  "triggered_at": "2025-03-04T23:18:09Z",
  "customerAccountID": null
}