> ## Documentation Index
> Fetch the complete documentation index at: https://support.visualcare.com.au/llms.txt
> Use this file to discover all available pages before exploring further.

# Contractor setup

> Set up contractors in Visualcare, configure pay rates, and export contractor data to Xero

Contractors are handled differently from employees in Visualcare. They're created as suppliers or contacts in Xero (not as employees), and when you export contractor data, Visualcare exports the actual pay rate as an invoice under "Bills to Pay" in Xero rather than just hours.

<Note>Many providers don't export contractor data from Visualcare - they handle contractor invoicing separately. Check with your finance team before setting up the full export workflow. If you're not exporting, you only need to set **Worker Type** to **Contractor** on the worker profile.</Note>

## Setting up the worker profile

<Steps>
  <Step title="Open the worker profile">
    Go to **Workers** → **Profile** and select the contractor.
  </Step>

  <Step title="Configure the Finance tab">
    Scroll to the **Finance** tab and set:

    * **Accounting Code** - select the contractor from the **Suppliers** list (not from Employees). If they don't appear in the list, they need to be created as a contact in Xero first.
    * **Worker Type** - select **Contractor**. This also allows them to add shifts for themselves in Vworker.

    Click **Save**.
  </Step>
</Steps>

## Choosing a pay rate method

If you're exporting contractor data, you need to decide how to handle pay rates. There are two methods:

| Situation                                                 | Recommended method                     |
| --------------------------------------------------------- | -------------------------------------- |
| Fewer than 10 contractors                                 | Method 1: Specific pay level           |
| All contractors charge the same rate for the same service | Method 1: Specific pay level           |
| 10 or more contractors with different rates               | Method 2: Contractor-specific services |
| Brokerage or large providers                              | Method 2: Contractor-specific services |

### Method 1: Specific pay level per contractor

This method creates a unique pay level for each contractor (or group of contractors at the same rate).

<Steps>
  <Step title="Create the pay level label">
    Go to **Settings** → **Data Export** → **Finance**. Scroll to the **Pay Level** section, select an unused pay level, and rename it to identify the contractor (for example, "Contractor - John" or "Contractor Level 1"). Click **Save**.
  </Step>

  <Step title="Assign the pay level to the worker">
    Go to **Workers** → **Profile**, select the contractor, open the **Finance** tab, and set **Pay Rate Level** to the pay level you created. Click **Save**.
  </Step>

  <Step title="Add pay rates to services">
    Go to **Maintenance** → **Services**. For each service the contractor provides, enter their pay rate against the pay level you created. Click **Save**.
  </Step>
</Steps>

<Warning>There is a hard cap of 48 pay levels. If you have multiple contractors at different rates for the same service, each needs a separate pay level. If you hit the cap, switch to Method 2.</Warning>

### Method 2: Contractor-specific services

This method creates a unique service for each contractor. It involves more setup but has no pay level limit.

<Steps>
  <Step title="Create the contractor-specific service">
    Go to **Maintenance** → **Services**. Find the service the contractor provides and click **Copy** (or create a new service). Rename it to include the contractor's name - for example, "Self-Care, Weekday, Daytime - Contractor Jack". Enter the contractor's pay rate for the appropriate pay level. Leave the billing and accounting codes the same. Click **Save**.
  </Step>

  <Step title="Assign the service when rostering">
    When rostering this contractor, select their contractor-specific service. The correct pay rate applies automatically.
  </Step>
</Steps>

<Tip>Use clear naming conventions like "Service Name - Contractor FirstName" so rostering staff can easily find the right service.</Tip>

<Accordion title="Trade-offs of Method 2">
  * No limit on the number of contractors
  * The service list gets longer (multiplied by the number of contractors)
  * Rostering staff need to select the correct contractor-specific service
  * Each contractor-specific service needs to be added to the relevant client agreements
</Accordion>

## Exporting contractor data to Xero

Once contractors are rostered and shifts are confirmed:

<Steps>
  <Step title="Open data export">
    Go to **Timesheets** → **Data Export** and select your date range.
  </Step>

  <Step title="Select and export">
    Select the contractor shifts you want to export. Click **Export Timesheets** → **Export Supply to Xero**.

    The system checks that each worker has an accounting code mapped to a supplier and that each service has an accounting code.
  </Step>

  <Step title="Process the export">
    Click **Process Export**. In Xero, the export appears as an invoice under **Bills to Pay** with the contractor's name and the amount based on their pay rate.
  </Step>
</Steps>

<Warning>If you get a "No accounting code" error, make sure the service has an accounting code set (not the payroll code).</Warning>

## Running into issues?

See [Finance troubleshooting](/troubleshooting/general) for common errors and fixes.

## Related articles

<CardGroup cols={2}>
  <Card title="Creating a worker profile" icon="user-plus" href="/worker-management/creating-a-worker-profile">
    Set up worker profiles in Visualcare
  </Card>

  <Card title="Pay rates" icon="money-bill" href="/worker-management/pay-rates">
    Configure pay rates and pay levels
  </Card>

  <Card title="Service management" icon="list-check" href="/operations/service-management">
    Manage services and service codes
  </Card>

  <Card title="Exporting payroll data" icon="file-export" href="/finance/exporting-payroll-data">
    Export timesheet data to your payroll software
  </Card>
</CardGroup>
