Available for the following plans: Lite, Plus, Unlimited HR, Engage, Elite, Unlimited HR+Payroll
Available for the following User Access level: Admin
Importing employees from an XLSX or CSV file is a great way to get set up and running quickly, and a handy way to perform bulk updates of employee data. A short video on this setup can be found here. You can find the Import Employees feature in the menu under the Add Employee tab.
Warning
Do not delete any columns in your XLSX/CSV file. If you delete or remove columns and upload the file, this will clear the corresponding data on the platform, leading to errors and affecting your records and system.
Getting started
The best way to get started is by exporting the XLSX or CSV template file, adding your data, and then re-importing it. To export the template, click the Export button, then click the down arrow to choose an Empty Template and select either XLSX or CSV.
The file contains column headers for the import. Add one row per employee you wish to import. Once you have finished editing the file, upload it by clicking the Select File… button.
- Navigate to the Add Employee tab and select Import Employees.
- Click the Export button and select Empty Template, then choose XLSX or CSV.
- Add a row for each employee in the template file and save it.
-
Review the Automatically create missing locations setting. When selected, any location names in the PrimaryLocation or Locations columns that don't already exist in the platform will be created automatically. If not selected, an import error will occur for any unrecognised location names.
- Click Select File…, choose your completed file, then click Confirm Upload to begin the import.
When the import is complete, the results will display on screen showing the status of each employee updated.
File specification
The import file contains a number of fields broken into sections. Not all sections are mandatory. Please note: if your business has over 200 locations configured, the export feature will not automatically apply a lookup table to relevant data.
Note
Either Tax File Number or First Name + Surname + Date of Birth must be present to uniquely identify the employee.
| Field name | Data type | Notes |
|---|---|---|
| EmployeeId | Number | Leave blank for new employees — the system auto-generates the next available unique number. |
| TaxFileNumber | Number | |
| Title | Text | Valid values: Mr, Mrs, Miss, Ms, Dr |
| PreferredName | Text | |
| FirstName | Text | |
| MiddleName | Text | |
| Surname | Text | |
| DateOfBirth | Date | |
| Gender | Text | Valid values: Male, Female, Unspecified, Non-Binary |
| ExternalId | Text | Can be the ID of the employee in another system (e.g. HR). If the unique external ID setting is on, a previously used ID cannot be saved for a new employee. If the ID is linked to an existing employee, their record will be updated. This setting is in Payroll settings > Advanced settings. See here for more information. |
| ResidentialStreetAddress | Text | |
| ResidentialAddressLine2 | Text | |
| ResidentialSuburb | Text | |
| ResidentialState | Text | |
| ResidentialPostCode | Number | |
| ResidentialCountry | Text | Only required if ResidentialAddressIsManuallyEntered = True |
| ResidentialAddressIsManuallyEntered | Text | Valid values: True, False |
| PostalStreetAddress | Text | |
| PostalAddressLine2 | Text | |
| PostalSuburb | Text | |
| PostalState | Text | |
| PostalPostCode | Number | |
| PostalCountry | Text | Only required if PostalAddressIsManuallyEntered = True |
| PostalAddressIsManuallyEntered | Text | Valid values: True, False |
| EmailAddress | Text | |
| HomePhone | Text | |
| WorkPhone | Text | |
| MobilePhone | Text | |
| StartDate | Date | |
| EndDate | Date | Date that employment was terminated (if the employee has finalised their employment) |
| AnniversaryDate | Date | E.g. the date the employee received their qualifications |
| TerminationReason | Text | Pre-determined dropdown list. Can only be used if EndDate has been completed. |
| Tags | Text | Pipe ('|') separated list of tags to associate with this employee |
| Field name | Data type | Notes |
|---|---|---|
| EmployingEntityABN | Number | You cannot change an employee's employing entity using this import file. See here for instructions. |
| EmploymentType | Text | Valid values: Full Time, Part Time, Casual, Labour Hire, Superannuation Income Stream |
| PreviousSurname | Text | |
| AustralianResident | TrueFalse | |
| ClaimTaxFreeThreshold | TrueFalse | |
| SeniorsTaxOffset | TrueFalse | |
| OtherTaxOffset | TrueFalse | |
| StslDebt | TrueFalse | |
| StslCalculationType | Text | Enter a value where StslDebt = True. Valid values: Taxable Earnings, Repayment Income. If blank and StslDebt = True, defaults to Taxable Earnings. |
| IsExemptFromFloodLevy | TrueFalse | Only used for the 2011/2012 financial year. |
| HasApprovedWorkingHolidayVisa | TrueFalse | |
| WorkingHolidayVisaCountry | Select from dropdown | Only required if HasApprovedWorkingHolidayVisa = True. Must match the country stated in the employee's visa. |
| IsSeasonalWorker | TrueFalse | |
| HasWithholdingVariation | TrueFalse | |
| TaxVariation | Number | Should only be specified if HasWithholdingVariation = True |
| TaxCategory | Select from dropdown | |
| MedicareLevyExemption | Text | Valid values: None, Full, Half |
| MedicareLevySurchargeWithholdingTier | Select from dropdown | If a value is selected, the employee cannot also claim a Medicare levy exemption or reduction. |
| ClaimMedicareLevyReduction | TrueFalse | Valid values: True, False |
| MedicareLevyReductionSpouse | TrueFalse | Enter True only if ClaimMedicareLevyReduction = True and the employee has a spouse wholly or partly maintained by them. |
| MedicareLevyReductionDependentCount | Number | Only required if ClaimMedicareLevyReduction = True |
| DateTaxFileDeclarationSigned | Date | Date that the tax file declaration was signed |
| DateTaxFileDeclarationReported | Date | Date that the tax file declaration was reported to the ATO |
| Field name | Data type | Notes |
|---|---|---|
| JobTitle | Text | |
| PaySchedule | Text | Corresponds to the name of a pay schedule already created, e.g. 'Weekly' |
| PrimaryPayCategory | Text | Corresponds to the name of a pay category already created, e.g. 'Full Time – Standard' |
| PrimaryLocation | Text | Corresponds to the fully qualified name of a location already created. See the Fully Qualified Locations section below for details. |
| PaySlipNotificationType | Text | Valid values: Email, SMS, Manual, None |
| Rate | Number | How much the employee is paid (per hour or per annum) |
| RateUnit | Text | Valid values: Hourly, Annually, Daily |
| OverrideTemplateRate | Text | Valid values: True, False |
| HoursPerWeek | Number | Standard number of hours per week for this employee |
| HoursPerDay | Number | Standard number of hours worked per day. Value cannot be '0'. |
| AutomaticallyPayEmployee | TrueFalse | Determines whether the employee's standard weekly hours are automatically added as earnings lines to a new pay run |
| LeaveTemplate | Text | Name of the Leave Allowance Template to apply |
| PayRateTemplate | Text | Name of the Pay Rate Template to apply |
| PayConditionRuleSet | Text | Name of the pay condition rule set to assign to this employee |
| EmploymentAgreement | Text | Name of an existing employment agreement to associate with this employee |
| IsEnabledForTimesheets | Text | Valid values: Enabled, Disabled, EnabledForExceptions |
| IsExemptFromPayrollTax | TrueFalse | |
| Locations | Text | Pipe ('|') separated list of fully qualified locations this employee works at |
| WorkTypes | Text | Pipe ('|') separated list of work types to enable this employee to submit timesheets for |
| Field name | Data type | Notes |
|---|---|---|
| EmergencyContact1_Name | Text | |
| EmergencyContact1_Relationship | Text | |
| EmergencyContact1_Address | Text | |
| EmergencyContact1_ContactNumber | Text | |
| EmergencyContact1_AlternateContactNumber | Text | |
| EmergencyContact2_Name | Text | |
| EmergencyContact2_Relationship | Text | |
| EmergencyContact2_Address | Text | |
| EmergencyContact2_ContactNumber | Text | |
| EmergencyContact2_AlternateContactNumber | Text |
Note
- Up to 3 bank or BPAY accounts may be specified; only 1 is required.
- Percentages across all bank/BPAY accounts must total 100.
- To indicate remaining balance, use an allocated percentage of 100 on only 1 account. In this case the total across all accounts may exceed 100, and validation will pass if only 1 account is allocated 100 percent.
| Field name | Data type | Notes |
|---|---|---|
| BankAccount1_BSB | Text | Also maps to the BPAY Biller Code. |
| BankAccount1_AccountNumber | Text | Also maps to the BPAY Customer Reference Number. |
| BankAccount1_AccountName | Text | For a BPAY account, the value must be 'BPAY'. |
| BankAccount1_AllocatedPercentage | Text | Use 100 to nominate remaining balance |
| BankAccount1_FixedAmount | Text | Percentage or fixed amount may be specified. |
| BankAccount2_BSB | Text | |
| BankAccount2_AccountNumber | Text | |
| BankAccount2_AccountName | Text | |
| BankAccount2_AllocatedPercentage | Text | Use 100 to nominate remaining balance |
| BankAccount2_FixedAmount | Text | Percentage or fixed amount may be specified. |
| BankAccount3_BSB | Text | |
| BankAccount3_AccountNumber | Text | |
| BankAccount3_AccountName | Text | |
| BankAccount3_AllocatedPercentage | Text | Use 100 to nominate remaining balance |
| BankAccount3_FixedAmount | Text | Percentage or fixed amount may be specified. |
Note
- Up to 3 super funds may be specified; only 1 is required.
- Percentages across all super funds must total 100.
- To indicate remaining balance, use an allocated percentage of 100 on only 1 fund. In this case the total may exceed 100, and validation will pass if only 1 fund is allocated 100 percent.
| Field name | Data type | Notes |
|---|---|---|
| SuperFund1_ProductCode | Text | |
| SuperFund1_FundName | Text | |
| SuperFund1_MemberNumber | Text | |
| SuperFund1_AllocatedPercentage | Text | Use 100 to nominate remaining balance |
| SuperFund1_EmployerNominatedFund | TrueFalse | Value can only be TRUE if the employer nominated fund has been set up via the Superannuation screen |
| SuperFund1_FixedAmount | Text | Percentage or fixed amount may be specified. |
| SuperFund2_ProductCode | Text | |
| SuperFund2_FundName | Text | |
| SuperFund2_MemberNumber | Text | |
| SuperFund2_AllocatedPercentage | Text | Use 100 to nominate remaining balance |
| SuperFund2_FixedAmount | Text | Percentage or fixed amount may be specified. |
| SuperFund2_EmployerNominatedFund | TrueFalse | Value can only be TRUE if the employer nominated fund has been set up via the Superannuation screen |
| SuperFund3_ProductCode | Text | |
| SuperFund3_FundName | Text | |
| SuperFund3_MemberNumber | Text | |
| SuperFund3_AllocatedPercentage | Text | Use 100 to nominate remaining balance |
| SuperFund3_FixedAmount | Text | Percentage or fixed amount may be specified. |
| SuperFund3_EmployerNominatedFund | TrueFalse | Value can only be TRUE if the employer nominated fund has been set up via the Superannuation screen |
| SuperThresholdAmount | Number | |
| MaximumQuarterlySuperContributionsBase | Number |
| Field name | Data type | Notes |
|---|---|---|
| RosteringNotificationChoices | Text | Valid values: Email, SMS, None |
| LeaveAccrualStartDateType | Text | Valid values: LeaveAccrualStartDateType, SpecifiedDate |
| LeaveYearStart | Date | Only enter a date if LeaveAccrualStartDateType is set to "SpecifiedDate". Otherwise leave blank. |
| CloselyHeldReporting | Text | Enter a value if SingleTouchPayroll = Closely held employee. Valid values: Per quarter, Per pay run. If blank, defaults to Per quarter. |
| SingleTouchPayroll | Select from dropdown | Complete this field if your employee is classified with an income type that is NOT salary and wages, working holiday maker or seasonal worker. See here for more information on income types. |
| PayrollId | Text | This ID can only be changed if the business has changed the BMS ID in accordance with these procedures. |
Further information
To set up an employee to be processed in a pay run, the following fields are required as a minimum:
- TaxFileNumber
- FirstName
- Surname
- DateOfBirth
- ResidentialStreetAddress
- ResidentialSuburb
- ResidentialState
- ResidentialPostCode
- PostalStreetAddress
- PostalSuburb
- PostalState
- PostalPostCode
- StartDate
- EmploymentType
- PaySchedule
- PrimaryPayCategory
- PrimaryLocation
- PaySlipNotificationType
- Rate
- RateUnit
- HoursPerWeek
- BankAccount1_BSB
- BankAccount1_AccountNumber
- BankAccount1_AccountName
- BankAccount1_AllocatedPercentage
- SuperFund1_FundName
- SuperFund1_MemberNumber
- SuperFund1_AllocatedPercentage
- MedicareLevyExemption
- ClaimMedicareLevyReduction
- MedicareLevyReductionSpouse
- HigherOfSuperEnabled
- HigherOfSuperWeeklyAmount
Once an employee is set up, subsequent import files may contain a smaller subset of fields, but must always include one of the following to identify the employee to update:
- TaxFileNumber, or
- EmployeeId
Note
Gender information will revert to Unspecified if the gender field is deleted prior to uploading.
Since locations may be nested, it is important to specify the fully qualified location when importing. For example, given the following location structure:
- All Offices
- NSW Offices
- Strathfield
- QLD Offices
- Logan
- NSW Offices
The fully qualified location for 'Strathfield' would be: All Offices / NSW Offices / Strathfield
To remove data from employee records in bulk via an import file, enter the value (clear) (without quotes) in the appropriate field. This will remove the value from the matching field on the employee record.
Comments
Article is closed for comments.