GuidesAPI ReferenceChangelogAPI PolicyAPI StatusGusto Security

Contractors

Independent 1099 Contractors

A 1099 Contractor, unlike a W2 Employee, requires no tax withholding information when being paid by your payroll/HR system. Contractors can be either a business (EIN) or an individual (SSN) while W2 employees are limited to individuals only (SSN). 1099 payments do not incorporate any employee or employer taxes (ex. unemployment taxes, social security taxes) and are more or less a direct transfer of cash from employer to contractor. These payments are then reported at the end of the year (on a 1099). Given there are no tax withholdings required as part of payroll for contractors, there is significantly less information required to complete their compared to a W2 employee.

1099 Contractors or W2 employees?

It is very important that employers do their due diligence when classifying whether or not an individual is classified as W2 or 1099. Here are some common factors that establish an individual as a W2 employee vs a 1099 contractor:

  • Pay Basis - If you pay the individual on an hourly, weekly, or monthly basis, the IRS will typically consider it a sign the worker is a W2 employee, if the individual is generally paid by the job, project, assignment, etc., or receives a commission or similar fee the IRS will typically consider the individual a 1099 contractor.
  • Payment of business or travel expenses- 1099 contractors typically bear the cost of travel or business expenses, and most contractors set their fees high enough to cover these costs. Direct reimbursement of travel and other business costs by a company suggests W2 employee relationship.
  • Demands for full-time work - Full-time work gives an employer control over most of a person's time, which supports a finding of a W2 employment relationship.
  • Work for multiple companies - Individuals who simultaneously provide services for several unrelated companies are likely to qualify as 1099 contractors.

πŸ“˜

IRS 20 Factor Test – Independent Contractor or Employee?

A complete breakdown of what IRS will look for in determining the appropriate classification is available here.

Note, if an employer is looking for guidance they should consult a certified HR professional.

Onboarding a Contractor

The following Information is used to fully onboard a 1099 Contractor.

Basic Contractor Detail:

  • Name of Contractor
  • Classification of Contractor - Business or Individual
  • SSN (Individual) or EIN (Business)
  • Start Date
  • Work state (note this is optional, but required for new hire reporting)
  • Compensation type: Hourly or Fixed? (Hourly means an Employer will enter the number of hours worked (which Gusto will multiple by their hourly rate) for a contractor when submitting their payment whereas fixed means the Employer will enter a total dollar amount for the payment)
  • Hourly Rate (if notated as hourly)
  • Email (note this is optional as a step but required for individual form signing)

Contractor Address:

  • Street Name
  • City Name
  • State
  • Zip
  • Country

Contractor Payment Information:

  • The payment method can be either β€œpaid by check” or β€œdirect deposit”. When paid by check, there is no additional information required.
  • For direct deposit we require:
    • Routing Number
    • Name
    • Account Number
    • Account Type

There are two additional optional fields that can be used when onboarding a Contractor:

  1. Filing of a new hire report : simply mark file new hire report to true and we will submit a new hire report on behalf of the business when onboarding is completed.
  2. Signing of a Form W-9: this form will be a requirement for 1099 filings at the end of the year, BUT it being unsigned will not block a contractor from being paid after onboarding is completed. It does utilize a separate endpoint that requires a contractor email.

Onboarding a 1099 Contractor with the Gusto API

Step One: Send a POST request to the contractors endpoint to create the contractor.

The minimum requirements for the initial API call are as follows but you can include all the basic contractor details in this request:

  • Contractor type
  • Name
  • Wage type (hourly rate if hourly)
  • Start date

Additional basic details such as SSN or FEIN, email, new hire report (true/false), or work state can be sent in subsequent PUT requests using the unique contractor ID that is returned upon creation.

SSN/EIN is the only piece of information required to complete the basic details of a contractor for onboarding purposes. An SSN is used for Individual Contractors and EINs are for Business Contractors.

Step Two: Send a request to GET a Contractor to grab the Version ID used to update the address. Everything will be null initially.

Send a PUT request to to complete the address step of onboarding. The body should include:

  • Street
  • City
  • State
  • Zip

Step Three: Configure the contractor payment method.

If you wish to pay the contractor by printed check, send a GET request to the Contractor's Payment Method endpoint to obtain the version ID for the payment method.

Then send a PUT request to update the payment method. Simply include the type of method as check along with the version ID and you are good to go.

If you wish to pay the contractor by direct deposit, first create a bank account by sending a POST request to create the Contractor's bank account. The request needs to include:

  • The name of the account
  • The account number
  • The routing number
  • The account type (either checking or savings)

From here, a GET request to the Contractor's Payment Method endpoint needs to be made to obtain the version ID for the payment method.

Then you will want to update the payment method to direct_deposit including the version ID

Step Four: Mark the contractor as onboarded. With the basic detail, address, and payment method complete, the final step is to mark the contractor as onboarding_completed. This is done with a call to the Contractor Onboarding Status endpoint. You will want to change the status to onboarding_completed in the body.

Your request will error out if there are basic details missing, or if the address or payment method are incomplete. To review which steps still need to be completed you can check the onboarding status via the same endpoint by sending a GET request.

If you marked the file_new_hire_report option as true in Step One with a work state, once the contractor is marked as onboarding_completed we will submit the new hire report.

πŸ“˜

W9 Requirement

Although required for filing a 1099 at the end of the year, the signature of the W9 is not required for payment.

However, Gusto can generate a W9 for signature if an email is associated with the contractor and return it via the API.


What’s Next