Contractor Onboarding

1099 Contractors can be onboarded to the payroll solution via the API or white-label components. Thankfully, since employers aren’t responsible for paying taxes on or withholding taxes from a contractor’s pay, much less information needs to be collected to onboard a contractor than a W-2 Employee.



API

  1. Call Create Contractor.

🚧

Code Samples

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

curl --request POST \
     --url https://api.zeal.com/contractors \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {{testApiKey}}' \
     --header 'Content-Type: application/json' \
     --data '
{
     "new_contractors": [
          {
               "email": "[email protected]",
               "working_state": "CA",
               "first_name": "Monica",
               "middle_name": "string",
               "last_name": "Hall",
               "type": "individual",
               "ssn": "123456789",
               "ein": "string",
               "business_name": "string",
               "address": "1 Market St.",
               "city": "San Francisco",
               "state": "CA",
               "zip": "94110",
               "onboarded": false
          }
     ],
     "companyID": "{{companyID}}"
}
'
  1. Gather a signature from the contractor and convert it to a base64 string.
  2. Included the base64 string in a call to Get Contractor Paperwork in order to display/save the W-9 form.
curl --request POST \
     --url https://api.zeal.com/paperwork/contractorPaperwork \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {{testApiKey}}' \
     --header 'Content-Type: application/json' \
     --data '
{
     "companyID": "{{companyID}}",
     "contractorID": "{{contractorID}}",
     "signature_text": "iVBORw23goAAAANSUhEUgAAAtsAAABdCAYAAAB0BqpEAAABRmlDQ1BJQ0MgUHJvZmlscccKJFjYGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8bAwiDLwMfAxSCYmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsispF"
}
'
  1. Call Set Onboarded Status to True.
curl --request POST \
     --url https://api.zeal.com/contractors/setOnboardedStatusToTrue \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {{testApiKey}}' \
     --header 'Content-Type: application/json' \
     --data '
{
     "contractorID": "{{contractorID}}",
     "companyID": "{{companyID}}"
}
'

Congratulations
You've onboarded your first contractor!



White-Label

  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.
28672867
  1. Navigate to the People page, click the Contractor tab, then click Add New Contractor .
28802880
  1. Fill the contractor information and click Add Contractor.
28782878
  1. Back on the People page, find the Contractor and click the arrow icon to email the onboarding link directly to the contractor or click the copy icon to copy it to your clipboard.
28802880

📘

Get Contractor Onboarding Link

The link can also be accessed programmatically by calling Get Contractor Onboarding Link.

  1. When the contractor navigates to the page, they see the white-label component on your domain with your logo.
22442244
  1. The contractor completes the onboarding flow. You can view the information in the Admin/Employer Dashboard.

👍

Contractor Onboarding Event

When the Contractor Onboarding flow is completed successfully through the white-label, data about the Contractor is sent to the webhook established for the Contractor Event Webhook.

Congratulations
You've onboarded your first contractor!


What’s Next

Now that we've onboarded our first employee, the next step is to pay them.

Did this page help you?