Importing employees via Excel/CSV
Importing employees from an XLSX or CSV file is a great way to get set up and running quickly.
Your implementation team is here to help but if you are having some trouble with the template this article will assist with any questions you may have.
There are quite a few fields in the import file; however, they are broken into sections as shown below and not all sections need to be present.
Core Data
Either TaxFileNumber or FirstName + Surname + DateOfBirth must be present in the file to uniquely identify the employee.
Field Name | Data Type | Notes |
---|---|---|
EmployeeId | Number | This column must stay blank for new employees as the system will auto generate 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 | |
ExternalId | Text | Can be the id of the employee in some other system (eg: HR) |
ResidentialStreetAddress | Text | |
ResidentialAddressLine2 | Text | |
ResidentialSuburb | Text | |
ResidentialState | Text | |
ResidentialPostCode | Number | |
ResidentialCountry | Text | This field only needs to be completed if ResidentialAddressIsManuallyEntered = True |
ResidentialAddressIsManuallyEntered | Text | Valid values: True, False |
PostalStreetAddress | Text | |
PostalAddressLine2 | Text | |
PostalSuburb | Text | |
PostalState | Text | |
PostalPostCode | Number | |
PostalCountry | Text | This field only needs to be completed 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 employee has finalised their employment) |
AnniversaryDate | Date | E.g. the date the employee received their qualifications |
Tags | Text | Pipe (‘|’) separated list of tags to associate with this employee |
Tax File Declaration
Field Name | Data Type | Notes |
---|---|---|
EmployingEntityABN | Number | You cannot change an employee's employing entity using this import file. |
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 | |
IsExemptFromFloodLevy | TrueFalse | |
HasApprovedWorkingHolidayVisa | TrueFalse | |
HasWithholdingVariation | TrueFalse | |
TaxVariation | Number | Should only be specified if HasWithholdingVariation is 'Yes' |
MedicareLevyExemption | Text | Valid values: None, Full, Half |
DateTaxFileDeclarationSigned | Date | Date when the tax file declaration was signed |
DateTaxFileDeclarationReported | Date | Date when the tax file declaration was reported to the ATO |
Pay Run Setup
Field Name | Data Type | Notes |
---|---|---|
JobTitle | Text | |
PaySchedule | Text | Corresponds to the name of a Pay Schedule that you have already created. For example ‘Weekly’ |
PrimaryPayCategory | Text | Corresponds to the name of a Pay Category that you have already created. For example ‘Full Time – Standard’ |
PrimaryLocation | Text | Corresponds to the fully qualified name of a Location that you have already created. See below for details on Fully Qualified Locations. |
PaySlipNotificationType | Text | Valid values: Email, SMS, Manual, None |
Rate | Number | How much is the employee paid (may be specified as a ‘per hour’ or ‘per annum’ value) |
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 for this employee. 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 to this employee |
PayRateTemplate | Text | Name of the Pay Rate Template to apply to this employee |
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 that this employee works at |
WorkTypes | Text | Pipe (‘|’) separated list of work types to enable this employee to submit timesheets for |
Emergency Contacts
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 |
Bank Accounts
Up to 3 bank or BPAY accounts may be specified however only 1 is required.
Percentages across all bank/BPAY accounts must total 100
Use an Allocated Percentage of 100 on only 1 of the bank accounts to indicate remaining balance. Note in this case percentages across all bank/BPAY accounts will be greater than 100, and validation will pass if ONLY 1 bank/BPAY account is allocated 100 percent
Field Name | Data Type | Notes |
---|---|---|
BankAccount1_BSB | Text | This field also maps to the BPAY Biller Code |
BankAccount1_AccountNumber | Text | This field also maps to the BPAY Customer Reference Number |
BankAccount1_AccountName | Text | For a BPAY account, the value here 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 |
Super Funds
Up to 3 super funds may be specified however only 1 is required.
Percentages across all super funds must total 100
Use an Allocated Percentage of 100 on only 1 of the super funds to indicate remaining balance. Note in this case percentages across all super funds will be greater than 100, and validation will pass if ONLY 1 super 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 |
Miscellaneous
Field Name | Data Type | Notes |
---|---|---|
RosteringNotificationChoices | Text | Valid values: Email, SMS, None |
LeaveAccrualStartDateType | Text | Valid values: LeaveAccrualStartDateType, SpecifiedDate |
LeaveYearStart | Date | A date should only be entered here if the LeaveAccrualStartDateType setting is set as "SpecifiedDate". Otherwise keep blank. |
CloselyHeldEmployee | Text | Valid values: True, False |
PayrollId | Text | This ID can only be changed if the business has changed the BMS ID |
Minimum Required Fields
To setup 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
Once an employee is set up in the system, import files may contain a smaller subset of fields but the following must always be included in order to be able to identify the employee to update:
EITHER:
Tax File Number
OR:
First Name
Surname
Date of Birth
Fully Qualified Locations
Since locations may be nested, When importing from the CSV file, it is important to specify the Fully Qualified Location. For the following set of locations:
All Offices
NSW Offices
Strathfield
QLD Offices
Logan
The fully qualified location for ‘Strathfield’ would be All Offices / NSW Offices / Strathfield
Deleting Data
If you want to use an import file to remove data from the employee records, in bulk, you'll need to use the value "(clear)" without the quotes in the appropriate field on your import file to remove it from the matching field on the employee record.