You can add a contractor to your Payroll classic platform with the help of the simplified employee wizard. You can also add them by importing them via a CSV or an Excel file.
Getting started
Before you can add a contractor to your business, you first need to enable contractor management on your Payroll classic platform.
Add a contractor via the employee wizard
Step 1: Enter the contractor's personal details
Once you have enabled the contractor management function, when you add a new employee, you can specify if they are an independent contractor.
- Click the Employee menu.
- Click the Add a New Employee submenu.
-
Enter their personal information:
- Title - Optional.
- First name.
- Middle name.
- Surname.
- Date of birth.
- Gender - This field will auto-populate with "Unspecified" and can be changed.
- Make sure you tick the checkbox for Employee is working as an independent contractor receiving schedular payments.
- Enter their contact information:
- Residential Address Line 1 - Auto-complete suggestions may appear. If the suggestions are not adequate, please enter the address manually.
- Residential City.
- Email Address, if "Employee Notifications" = Email.
- Mobile Phone, if "Employee Notifications" = SMS. Mobile number must have a maximum of 11 digits and start with a prefix of '02'.
- Postal address if the same as residential address.
- Employee Notifications - This dictates if and how the employee will be notified about pay slips, leave and expense requests, rostering, and other things.
- Select "None" if you do not want the contractor to receive notifications.
- If you choose "Manual," employees will not receive any notifications, but payroll will be able to view/download pay slips easily for 'manual notification' employees, so they can then print these pay slips only and issue them to those employees.
- Self-service - This controls whether the employee will have access to their employee portal, where they can view their pay slips, apply for leave, action shift requests, and other things. If you select "Yes," the employee will be sent an email or SMS (depending on their notification setting) with instructions on how to set up their password and log into their portal.
- Click the Next button to proceed to Step 2, the Banking section.
Step 2: Enter the contractor's banking details
The second step of the wizard only contains the banking details because KiwiSaver does not apply to independent contractors. The contractor's banking details are required.
- Enter the following details:
- Band details - Under this field heading, there is a dropdown with 3 options: Electronic (via a bank file), Manual deposit, or Cash/Cheque.
- Account Name - This is auto-filled from the employee's name. You can manually edit this field if needed.
- Account Number - This needs to be 15 or 16 digits, which consist of the bank code, account number, and suffix.
- Click the Next button to proceed to Step 3, the Employment Details section.
Step 3: Enter the contractor's employment details
This section is where you can configure the contractor's pay details, like their pay rate, pay schedule, and primary location.
-
Enter the following:
- Start Date - Required.
- Primary Location - Required. This will be assigned as the employee's default location. If the employee will be working in more than one place, you can select multiple locations after completing the employee wizard. You can attach more than one location to an employee via the Locations screen within their employee details file. You can also create a new location from the Primary Location field by clicking on + Add New in the dropdown.
- Pay Schedule - Required. The pay schedule can be Weekly, Fortnightly, Monthly, or Twice Monthly. You can set up your pay schedules via your business pay schedule settings, which will then appear in the Employee Wizard to select from.
- Pay Rate - Required. If you are paying an employee an annual salary, ensure you enter the annual salary in the Pay Rate field. Then, change "per Hour" to "per Annum." This also goes for the per-day pay rate, where you need to change "per Hour" to "per Day."
- Primary Pay Category - Required. Pay Categories are used to define the rates that employees are paid. Primary default pay category options are generally: Permanent Ordinary Hours, Casual Ordinary Hours, and a list of Leave pay categories. You can set up different pay categories based on your company's structure and requirements.
- Leave Allowance Template - Optional. Leave allowance template defaulted to "No leave entitlement" for contractors.
-
Leave Year Starts - This field will appear where you have selected a Leave Allowance Template that includes the "Based on employee's leave year setting" and if you are using the platform default leave allowance templates. Leave year start options are "Employee's start date" or "A specified date."
- If you choose "A specified date," you need to pick the correct date to ensure accurate calculation of leave entitlements for the employee. If you are using the platform default leave allowance templates, select "A specified date," then enter the date 6 months after the employee's start date. This is so that Sick Leave and Domestic Violence Leave entitlements reflect in the employee's leave balance at the correct time.
- Timesheets - Optional. Timesheet options are "Do not use timesheets" and "Use timesheets." If the employee is not required to submit timesheets to get paid and/or is paid their set number of hours by default, select "Do not use timesheets." This will activate the setting for the employee to be paid the number of hours set in their file by default in the pay run.
- The employment type and ESCT Rate % have been removed as they are not required for independent contractors.
- Click the Next button to proceed the Step 4, the Tax Code declaration section.
Step 4: Enter the contractor's tax code declaration
- Enter the following:
- IRD Number - Required. Enter the employee's 9-digit IRD Number.
- Tax Code - This is where you will enter the WT tax code.
- Tax Rate - Required. Enter the tax rate the contractor has provided you with. This will be used to calculate the PAYE.
- Date Signed - Optional. Enter the date the employee signed the Tax Code Declaration form in the Date Signed field.
- Click the Done button.
At this stage, the basic payroll setup for the contractor is complete. The contractor can now be included in pay runs.
There are additional customisation options available once the employee has been added to the platform. Click on the <employee's name> Details button if additional configuration is required for the contractor, such as:
- Configuring additional pay rates.
- Configuring and adding leave allowances.
- Adding additional locations.
- Adding additional bank accounts.
- Setting up deductions or adjustments.
Import a contractor via Excel / CSV
Import a contractor via a CSV or an XSLX file
As a side note, importing via these file types is also a quick way to perform bulk updates of employee data.
To get started, you first need to export the CSV/XSLX template file:
- Click the Employee menu.
- Click Import Employees.
- Click the Export button.
- Click the down arrow, then choose Empty Template.
- Choose whether you want an XSLX or a CSV file. This file contains the column headers for the import. You simply need to add a row for each employee that you wish to import.
- Make sure to save your file.
Please do not delete any of the columns in your XLSX/CSV file. If you delete or remove columns in your XLSX/CSV file and upload it into the platform, this will result in clearing some of your data on the platform too. This will lead to errors and affect your records and platform.
To import your filled-in and saved CSV/XSLX:
- Click the Employee menu.
- Click Import Employees.
- Click Import.
- Click the Select file button.
- Choose the file you filled in and saved.
- Click Upload File.
- Click Confirm Upload to begin the import. Once the process is complete, you will see a display saying the employee has been created.
Minimum required fields
To set up an employee to be processed in a pay run, the following fields are required as a minimum:
- FirstName.
- Surname.
- DateOfBirth.
- ResidentialStreetAddress.
- ResidentialSuburb.
- ResidentialState.
- ResidentialPostCode.
- PostalStreetAddress.
- PostalSuburb.
- PostalState.
- PostalPostCode.
- EmploymentType - Required to be set to "Independent Contactor" to configure the employee correctly.
- StartDate.
- PaySchedule.
- PrimaryPayCategory.
- PrimaryLocation.
- PaySlipNotificationType.
- Rate.
- RateUnit.
- HoursPerWeek.
- BankAccount1_BSB.
- BankAccount1_AccountNumber.
- BankAccount1_AccountName.
- BankAccount1_AllocatedPercentage.
- TaxCodeDeclaration_IrdNumber.
- KiwiSaver_EnrollmentStatus.
- KiwiSaver_EmployeeContribution.
- KiwiSaver_EmployerContribution.
Once an employee is set up in the platform, import files may contain a smaller subset of fields. However, the following must always be included in order to be able to identify the employee to update:
EITHER:
- IRD Number.
OR:
- First Name.
- Surname.
- Date of Birth.
File specification
There are quite a few fields in the file. However, they are broken into sections as shown below and not all sections need to be present. The most important field when adding a contractor is the Employment Type. This needs to be set to "Independent Contractor" to correctly configure the employee.
Core Data
Either the IRD Number or First Name+Surname+Date of birth must be present in the file to uniquely identify the employee.
| Field Name | Data Type | Notes |
|---|---|---|
| EmployeeId | Number |
This should be kept blank unless you're updating an existing employee in the system. If this is the case, then use the system generated Employee ID. N.B. If an external Id is used that has been used before you won't be able to save it if the 'unique external Id' setting is switched on. This setting is located on the Payroll settings > Advanced settings page. See here for more information. |
| 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 |
| ExternalId | Text | Can be the id of the employee used in an external system (eg: HR) |
| ResidentialStreetAddress | Text | |
| ResidentialAddressLine2 | Text | |
| ResidentialCity | Text | |
| ResidentialRegion | Text | |
| ResidentialPostCode | Number | |
| ResidentialCountry | Text | This field is compulsory when ResidentialAddressIsManuallyEntered = True |
| ResidentialAddressIsManuallyEntered | Text | Valid values: True, False |
| PostalStreetAddress | Text | |
| PostalAddressLine2 | Text | |
| PostalCity | Text | |
| PostalRegion | Text | |
| PostalPostCode | Number | |
| PostalCountry | Text | This field is compulsory when PostalAddressIsManuallyEntered = True |
| PostalAddressIsManuallyEntered | Text | Valid values: True, False |
| EmailAddress | Text | |
| HomePhone | Text |
Landline phone numbers must contain 9 digits, including the area code. The area codes are: -03: South Island and the Chatham Islands, including Christchurch, Dunedin, Invercargill, Nelson, Timaru, and Westport.
|
| WorkPhone | Text |
Landline phone numbers must contain 9 digits, including the area code. The area codes are: -03: South Island and the Chatham Islands, including Christchurch, Dunedin, Invercargill, Nelson, Timaru, and Westport. Mobile number must have a maximum of 11 digits and start with a prefix of '02'. |
| MobilePhone | Text | Mobile number must have a maximum of 11 digits and start with a prefix of '02'. |
| StartDate | Date | |
| EndDate | Date | Date employment was terminated (if employee has finalised their employment) |
| AnniversaryDate | Date | eg: the date the employee received their qualifications |
| Tags | Text | Pipe (‘|’) separated list of tags to associate with this employee |
Pay Run Setup
| Field Name | Data Type | Notes |
|---|---|---|
| EmploymentType | Text |
Independent Contractor should be selected for contractors. This field determines the KiwiSaver and Tax Code declaration settings. Valid values for regular employees: Full Time, Part Time, Casual |
| PreviousSurname | Text | |
| 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 ‘Permanent Ordinary Hours’ |
| PrimaryLocation | Text | Corresponds to the fully qualified name of a Location that you have already created. Refer 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. Select True where an employee has been assigned a PayRateTemplate but you want to pay a different base rate of pay. |
| HoursPerWeek | Number | Standard number of hours per week for this employee |
| HoursPerDay | Number | Standard number of hours per day for this employee |
| 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 |
| IsEnabledForTimesheets | Text | Valid values: Enabled, Disabled, EnabledForExceptions |
| 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 accounts may be specified however only 1 is required.
- Percentages across all bank 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 accounts will be greater than 100, and validation will pass if ONLY 1 bank account is allocated 100 percent
| Field Name | Data Type | Notes |
|---|---|---|
| BankAccount1_BankCode | Text | |
| BankAccount1_AccountNumber | Text | |
| BankAccount1_AccountName | Text | |
| BankAccount1_AllocatedPercentage | Text | Use 100 to nominate remaining balance |
| BankAccount1_FixedAmount | Text | Percentage or Fixed amount may be specified. |
| BankAccount2_BankCode | 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_BankCode | 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. |
Rostering Notifications
| Field Name | Data Type | Notes |
|---|---|---|
| RosteringNotificationChoices | Text | Valid values: Email, SMS, None |
Employee Leave Year Setup
This section MUST be completed for any employee who has a leave category set up based on the employee leave year.
| Field Name | Data Type | Notes |
|---|---|---|
| LeaveAccrualStartDateType | Text | Valid values: SpecifiedDate, EmployeeStartDate. If using system default leave allowance templates value should be 'SpecifiedDate'. |
| LeaveYearStart | Date | Keep blank unless LeaveAccrualStartDateType = SpecifiedDate. If using system default leave allowance templates value for SpecifiedDate should be 6 mths after the employee start date, ie employee start date is 10/10/18, value should be stated as 10/4/19. |
KiwiSaver
| Field Name | Data Type | Notes |
|---|---|---|
| KiwiSaver_EmployeeContribution | Number |
Not applicable for contractors, leave blank Valid values for regular employees: 3, 4, 6, 8, 10 |
| KiwiSaver_EmployerContribution | Number |
Not applicable for contractors, leave blank Valid values for regular employees: 3 or greater |
| KiwiSaver_OptOutDate | Date |
Not applicable for contractors. Only needed for employees whose KiwiSaver_EnrollmentStatus = OptOut |
| KiwiSaver_LateOptOutReason | Text |
Not applicable for contractors. Only needed for employees whose KiwiSaver_EnrollmentStatus = OptOut and whose KiwiSaver_OptOutDate is 57 days after the employee's start date. Valid values when applicable: CRIT (ie did not meet the criteria to join KiwiSaver); ERIS (ie employer did not provide an investment statement for the employer chosen KiwiSaver scheme); EVNT (ie events outside of control meant the opt-out application was unable to be submitted within the 8 week time limit); INER (ie incorrectly enrolled under the age of 18); INFO (ie employer did not provide a KiwiSaver information pack within 7 days of starting employment); IRIS (ie IRD did not send an investment statement upon allocation to a default scheme); OTHR (ie other explanation). |
| KiwiSaver_LateOptOutReasonOtherExplanation | Text |
Not applicable for contractors. Only needed for employees whose KiwiSaver_LateOptOutReason = OTHR. |
| KiwiSaver_SavingsSuspensionFromDate | Date |
Not applicable for contractors. Only applicable for employees whose KiwiSaver_EnrollmentStatus = SavingsSuspension |
| KiwiSaver_SavingsSuspensionToDate | Date |
Not applicable for contractors. Only applicable for employees whose KiwiSaver_EnrollmentStatus = SavingsSuspension |
| KiwiSaver_EnrollmentStatus | Text |
Value should be: Ineligible for contractors. If not provided, value will automatically be set where employment type is independent contractor. Valid values for regular employees: SavingsSuspension; Enroll, Ineligible, OptIn, OptOut, Unenrolled |
| KiwiSaver_IneligibilityReason | Text |
Must be completed where KiwiSaver_EnrollmentStatus = Ineligible. Value should be: Working as an independent contractor for contractors. If not provided, value will automatically be set where employment type is independent contractor. Valid values for regular employees: Not a citizen/permanent resident, Not normally living in New Zealand, Under 18 years of age |
| KiwiSaver_PreviouslyReported | Text | Valid values: True, False |
Tax Declaration
| Field Name | Data Type | Notes |
|---|---|---|
| TaxCodeDeclaration_IrdNumber | Number | Valid number containing no more than 9 numbers |
| TaxCodeDeclaration_TaxCode | Text | Valid Tax code - choose from the drop down |
| TaxCodeDeclaration_DateSigned | Date | |
| TaxCodeDeclaration_EsctRate | Number |
Not applicable for contractors. Value will be set to 0.00% where the KiwiSaver_EnrollmentStatus = Ineligible Valid values for regular employees: 10.5, 17.5, 30, 33 |
| TaxCodeDeclaration_SpecialTaxCode | Text |
Value should be: WT for contractors. Valid values for regular employees: M, ME, M SL, ME SL, S, SH, SB, S SL,SH SL, SB SL, ST, NSW, CAE, EDW, STC, ND |
| TaxCodeDeclaration_StudentLoanRate | Number | Not applicable for contractors, leave blank |
| TaxCodeDeclaration_SpecialTaxCodeRate | Number | Must be completed if 'TaxCodeDeclaration_SpecialTaxCode' contains a value |
| TaxCodeDeclaration_StudentLoanRateEndDate | Date |
Not applicable for contractors, leave blank A date is only entered here if the employee is eligible for SDR |
| TaxCodeDeclaration_SpecialTaxCodeRateEndDate | Date | A date is optional to provide for contractors |
| TaxCodeDeclaration_RegisteredForGST | Text |
Value only needed if employment type is independent contractor Valid values: True, False |