Support for paying contractors

by 
Nicole Lee

Today we’re excited to announce support for independent contractors. Your customers will now be able to pay their entire workforce through the Check API, while we handle all 1099 form filing.

Thanks to Eric Little, our PM intern this summer, who shepherded this project from the earliest stages.

The contractor object

To create a contractor, make a POST request to the /contractors endpoint. For example:

A contractor object can be updated by making a PATCH request to /contractors/:id with the fields to update included in the request body.

To retrieve a contractor, make a GET request to /contractors/:id. To retrieve a list of contractors, make a GET request to /contractors, optionally including the company query parameter to list a specific company’s contractors. For example:

Each contractor will have the following fields.

  • type: a string value representing the entity type of the contractor. Required for 1099 filing. Possible values are individual and business.
  • company: the company the contractor performs work for
  • first_name: the first name of the individual or of the business’s primary contact
  • middle_name: the middle name of the individual or of the business’s primary contact
  • last_name: the last name of the individual or of the business’s primary contact
  • business_name: the business name of the contractor if they are a business entity
  • email: the contractor’s primary email
  • bank_accounts: array of ids representing the contractor’s linked bank accounts
  • ssn_last_four: a read-only field with the last four digits of the individual’s Social Security Number
  • ein: the EIN of the contractor if they are a business entity
  • address: the contractor’s primary address

Note that even if the contractor type is business, the primary contact's name is needed. This is for 1099 filing purposes.

The contractor payment object

To represent the non-employee compensation paid from a company to a contractor, we’ve created the contractor payment object, which can be defined using the following fields:

  • contractor: the contractor who is being paid
  • payment_method: the way the contractor will be paid, direct_deposit if they should be paid through Check or manual if they will be paid outside of our system, via paper check for example
  • amount: the amount the contractor should be paid. If the contractor is paid multiple amounts during a particular period, add them together and set this field to the total.
  • reimbursement_amount: amount to reimburse the contractor, 0 by default. This is a convenience field that will not be reported on the contractor’s 1099.

The following is an example contractor payment object

To create contractor payments, leverage the existing payroll object and define them in the contractor_payments list field. Note that contractors and employees can either be paid together or separately. To pay separately simply add elements to only the contractor_payments list field or the items list fields, respectively.

The following is an example request to create a payroll to pay a single contractor.

When previewing or approving a payroll, a net_pay field will be available on each contractor payment object. We’ve also added the following aggregate fields to the payroll.total object, which will also be populated on previewed and approved payrolls.

  • contractor_gross: the total amount of contractor pay
  • contractor_reimbursements: the total amount of contractor reimbursements
  • contractor_net: the amount transferred from the company to contractors; the sum of contractor_gross and contractor_reimbursements

Check out the contractor payment docs for more details.

More from the Check blog

Check + SimplyInsured: Extend your payroll business with embedded health benefits

Today, we’re very excited to announce our first benefits integration through SimplyInsured, the online platform for small business health insurance plans. Platforms who embed payroll with Check can now power instant quotes for medical, dental, and vision insurance, and help small business customers compare and purchase health insurance without leaving their app.

Read more >

July 8, 2022

Payroll 101: A few tips on tips

Let’s take a look at how tips drive a massive piece of the payroll world and offer a great segue into the value of an embedded payroll solution.

Read more >