Skip to content
OneForce Care
Browse help topics

Bulk import workers

Bring many workers in at once from a spreadsheet, with SCHADS pay columns.

Last updated · 3 July 2026


Setting up more than a handful of workers one at a time is slow. Import brings many in at once from a single spreadsheet, SCHADS pay classification included, all checked before anything is saved. Imported workers are created without a login; you add sign-in access for each one afterwards, from their profile.

Open Import

Go to Workforce Workers and select Import at the top right, just to the left of Invite worker. The dialog opens, titled Import workers.

The Import workers dialog: a Download template link, a note reading .xlsx or .csv, up to 500 rows per sheet, 5 MB, a file control reading No file selected with a Browse button, and Cancel and Import buttons at the bottom with Import disabled. 1 2 3
1 Download template gets the workbook, with the SCHADS pay columns included.
2 Browse for your filled-in file: .xlsx or .csv, up to 500 rows per sheet, 5 MB.
3 Import stays disabled until every row passes the checks.

Note

Import is available when your role can create workers, the same permission Invite worker needs. If your role can’t, neither button appears on the page.

Download the template and fill it in

Select Download template to get workers-import.xlsx. Unlike the participants import, which spans several sheets, this is a single sheet, Workers. See The Workers sheet below for the full field list, including the SCHADS pay columns.

  • Required columns carry a trailing * in the header.
  • Enum columns (like State or Worker category) are real Excel dropdowns.
  • Hover over a column header for notes on its format and rules, for example “7 or more digits” on NDIS Worker Screening ID.
  • Two grey, italicised EXAMPLE rows sit under the header, already filled in as a worked example. Leave them, delete them, or type over them: the import skips any row whose first cell starts with “EXAMPLE”, so an untouched template can never import sample data by accident.
  • Columns are matched by their header text, not by position, so you can delete columns you don’t need, as long as every required header is still there and reads the same.

Upload your file

Back in the dialog, select Browse and choose your filled-in file. Uploading starts checking it immediately: while it runs, the file control is disabled. When it finishes, you land on either an issues list or a ready summary.

If the file is over 5 MB, you’ll see “That file is over the 5 MB import limit.” and the file is cleared. If it can’t be read as a workbook (wrong format, corrupted, or not really .xlsx/.csv), you’ll see “Could not read that file. Save it as .xlsx or .csv and try again.”

Fix issues, or import

  • Issues found: you’ll see “1 issue must be fixed before importing.” or “N issues must be fixed before importing.”, with a scrollable list, each line starting with Row N (or File for a file-level problem) and the message. Select Download issue report for a CSV with a Sheet, Row, Column and Problem column for every issue. Fix your file and select Browse again to re-run the checks; there is no partial re-check.
  • Ready to import: you’ll see “Ready to import.” with the row count, “Workers: N rows”, plus a reminder that the import is all-or-nothing: if anything fails, no rows are saved.

Select Import. It stays disabled until every issue is cleared and there is at least one row.

See the result

Once the import runs, the dialog shows “Import complete.” with “Workers: N created”. The Workers register refreshes in the background as soon as this happens, so the new workers are already there when you close the dialog, each showing Account: No login until you create one for them. Select Close to finish.

If the import itself fails (for example a database problem after the checks already passed), nothing is saved and you’ll see an error toast, “The import failed. Nothing was saved.” Fix it and upload again.

The Workers sheet

Personal, contact and address

ColumnRequiredNotes
First nameYes
Middle nameNo
Last nameYes
EmailYesAlso becomes the worker’s login email if you create a login later. Must be unique within the file, and not already used by another worker for your provider
PhoneYesAustralian format, e.g. 04XX XXX XXX or 0X XXXX XXXX
ABNNo11 digits
NDIS Worker Screening IDYes7 or more digits. Must be unique within the file, and not already used by another worker for your provider
WWCC numberNoState WWCC or equivalent, e.g. NSW WWC1234567E, QLD 12345/1, VIC 1234567A
Default travel vehicleNoStandard vehicle, or Modified vehicle or bus. Used for travel planning and the per-km vehicle allowance
Address lineYes
SuburbNo
StateYesNSW, VIC, QLD, WA, SA, TAS, NT or ACT. The worker’s residential state
PostcodeYesA valid Australian postcode, e.g. 2000

SCHADS pay classification

Watch out

SCHADS stream, Employment type, Classification level, Pay point, Work state and Worker category are all-or-none: fill in all six together, or leave all six blank and classify the worker later on their Payroll tab.

ColumnNotes
SCHADS streamSocial and Community Services (SACS), Home Care: Disability, or Home Care: Aged Care. Sets which pay table applies
Employment typeFull-time, Part-time or Casual. Drives minimum engagement, weekly overtime and the casual loading
Classification level1 to 8. SCHADS Schedule B classification by the duties actually performed
Pay point1 to 4, within the classification level
Work stateThe state whose public holidays apply to this worker’s pay. Can differ from their residential State above
Worker categoryDay worker (work outside 6am-8pm is overtime, cl. 28.2) or Shift worker (the afternoon/night shift loading applies to the whole shift instead, cl. 29.3)

Pay and travel

ColumnRequiredNotes
Agreed weekly hoursSometimesRequired when Employment type is Part-time. Maximum 38
Agreed hourly rateNoLeave blank to pay the SCHADS award rate (it follows the annual sync)
Travel payNoY when the worker is paid for provider travel time. Payroll counts travel minutes, and scheduling plans travel legs, only when this is Y

Watch out

On a fully SCHADS-classified row, an Agreed hourly rate below the SCHADS award minimum for that exact classification is rejected: “Pay rate too low: $[rate]/h is below the SCHADS minimum of $[award rate]/h.” This is the same rule the Payroll tab’s Agreed hourly rate enforces on Save.

Reading the issue list

Most issues name the field and the rule, for example “First name is required.”, “State must be one of: NSW, VIC, QLD, WA, SA, TAS, NT, ACT.”, “Agreed weekly hours must be at most 38.” or “Agreed weekly hours is required for part-time workers.” Format checks (email, phone, ABN, NDIS Worker Screening ID, WWCC, postcode) show the same message you’d see filling in the field by hand, for example “Enter a valid email address.” or “Enter a valid Australian postcode.”

A few issues are file-level rather than row-level, and show against File instead of a row number:

  • “The “Workers” sheet is missing.” if the workbook has no sheet by that name.
  • “The “Workers” sheet is missing the ”…” column.” if a required column’s header was renamed or deleted.
  • “The “Workers” sheet has more than 500 data rows (limit 500 per import).”
  • “Unsupported file type. Upload a .xlsx or .csv file.” if the extension isn’t .xlsx or .csv.

Watch out

Every issue in the file must clear before Import turns on. The import is all-or-nothing, so a single bad row blocks the whole file rather than being skipped or imported partially.

Tip

Only need a handful of workers? Invite them one at a time instead; Import is for bringing in a batch.