GuidesAPI ReferenceChangelog
Guides

Managing task-based contractors

Organizations with workforces consisting of independent contractors who perform task-based work can face significant operational challenges when it comes to hiring, tracking, paying, and offboarding contractors. This is common in organizations that hire translators, designers, or other professionals engaged in project-based work.

This article illustrates how organizations with such characteristics can build applications that leverage the Deel API to automate the contractor working relationship throughout their lifecycle, including hiring, task tracking, payments, offboarding, and reporting.

In this guide

Part 1: Hiring contractors

To begin, you need to hire contractors by creating and signing contracts.

Step 1: Creating the contract

When a contractor joins your platform, you can automatically initiate the contract creation process using the Deel API.
This can be done using the Create a new contract (POST) endpoint to create a task-based pay as you go contract.

For more information, visit Create a contract.

Step 2: Signing the contract

After the contract is created, the next step is to sign the contract. The signature is usually done first by the manager, then the contractor.

Manager signature

You can build your system to sign the contract as the employer:

  1. (Optional) Show a preview of the contract using Preview a contract agreement (GET) endpoint.
  2. Sign the contract using Sign a contract (POST) endpoint.
  3. Send the contract to the contractor using Send contract to worker (POST) endpoint.

Contractor signature

Once the contractor receives the invite to sign the contract, they can do so through Deel's UI. They will be prompted to sign up and then sign the contract.

For more information, visit Contractor account overview.

Keeping the signature status in sync

Once the contractor signs the contract, you can build your system to keep the signature status in sync.
This can be done using the signature object returned for each contract through the List of contracts (GET) or the Retrieve a single contract (GET) endpoints.

    "signatures": {
      "client_signature": "string",
      "client_signed_at": "2022-05-24T09:38:46.235Z",
      "worker_signature": "string",
      "worker_signed_at": "2022-05-24T09:38:46.235Z",
      "signed_at": "2022-05-24T09:38:46.235Z"
    },

Part 2: Tracking work

Once the contract becomes effective, both parties can start tracking work. Tracking work is done through tasks.
Tasks can either be submitted by the manager or by the contractor.

Step 3: Submitting tasks

You can build your system so that, once contractors complete their work, they can submit tasks using the Create new task (POST) endpoint.

Tasks that are submitted by the contractor must be approved by the manager.
Tasks that are submitted by the manager are automatically approved.

The status of a task is defined using the status parameter in the task object.

Step 4: Reviewing tasks

If tasks were submitted by the contractor, they must be approved by the manager to be paid out.

Depending on your workflow:

  • Managers can review and approve submitted tasks through your system. The approval can be done either in bulk or for single tasks using the dedicated endpoints.
  • Alternatively, tasks can be automatically marked as approved upon submission if your business logic allows it.

Part 3: Handling payments

Once tasks are approved, contractors can be paid for their work.

Step 5: Paying workers

Managers must initiate payments through Deel's UI using one of the available payment methods.

Deel also offers bulk-payment options to pay multiple contractors at once and supports several payment methods.

Contractors can be paid at the end of the payroll cycle or with a one-time payment.

Part 4: Accounting and reporting

After processing payments, you can use Deel's APIs also for accounting and reporting purposes, so that your system is in sync regarding payments and invoices.

Step 6: Retrieving invoiced tasks

For example, if you're looking to understand which tasks have been invoiced,
you can use the Detailed payments report (GET) endpoint, where each task is listed as a line item and linked to an invoice.

Other invoicing endpoints

There are additional endpoints that you can use to track invoices and payments between your organization and Deel.

For more information, visit Accounting API.

Part 5: Offboarding contractors

When a contractor's services are no longer required, you can trigger the contract termination directly from your system.

Step 7: Terminating the contract

To terminate a contract, you can use the Terminate contract (POST) endpoint.

The data structure allows to terminate a contract immediately or schedule it for a future date.