Skip to main content

Tanda Payroll NZ: Bulk update payroll & employee payroll details

Import and bulk update NZ employee payroll details.

Importing Staff Payroll Information

Before processing your first pay run in Tanda, you'll need to ensure you have updated payroll details for each employee, including:

  • Bank details

  • Tax Declaration

  • Address

  • KiwiSaver

  • Leave Balances

  • Holiday Pay

To bulk update these details for employees, navigate to Payroll > Payroll Settings > Import / Export.

See below for import requirements to help troubleshoot any errors.

Staff Information

Address Details

Column Name

Required

Valid Values

Errors if:

Prerequisite Fields

street_line_one

No

Any text

Present without Country field

Country

street_line_two

No

Any text

Present without Country AND Street Line One

Country, Street Line One

city

No

Any text

Present without Country field

Country

state

No

Any text

Present without Country field

Country

postcode

No

Any text

Present without Country field

Country

country

No

Valid country name

Invalid country name provided

None

Autopaid Earnings Templates

Column Name

Required

Valid Values

Errors If

earnings_rate

Yes

exactly match an existing earnings rate

  • missing value

  • earnings rate not found

primary

No (defaults to false)

true, false

invalid value

account

No

exactly match an existing account

account not found

annual_salary

No (defaults to 0)

non-negative number

  • negative value

hours_per_week

No (defaults to 0)

non-negative number

  • negative value

location

No

exactly match an existing location

location not found

department

No

exactly match an existing department

department not found

Tax Declarations

Column Name

Required

Valid Values

Errors if:

tax_file_number

Yes

Valid NZ IRD number (8 or 9 digits). 8-digit numbers are zero-padded automatically.

  • missing value

  • not a valid IRD number

employment_basis

Yes

  • full_time

  • part_time

  • casual

  • missing or invalid value

nz_tax_code

Yes

M, ME, M_SL, ME_SL, S, SH, SB, ST, S_SL, SH_SL, SB_SL, ST_SL, SA, SA_SL, WT, NSW, CAE, EDW, STC, STC_SL, ND

  • missing or invalid value

nz_source_of_income

No

  • primary_income

  • secondary_income

  • other_income

  • non_disclosed

  • invalid value

nz_esct_rate

No (defaults to 10.5)

Must be one of: 0, 10.5, 17.5, 30, 33, 39 (percentage)

  • invalid value

Bank Accounts

Column Name

Required

Valid Values

Errors if:

account_name

No

Any text

N/A

account_number

No

NZ bank account number. Non-numeric characters (except dashes) are stripped automatically and the number is formatted to the standard NZ format on export.

N/A

particular

No

Any text

N/A

code

No

Any text

N/A

Note: Importing this file replaces all existing bank accounts for employees included in the import.

Recurring Deduction Templates

Column Name

Required

Valid Values

Errors If

deduction_type

Yes (read-only — used for matching only)

Exactly match an existing deduction type

  • deduction type not found

fixed_amount

Yes, if percent_of_income not set (mutually exclusive)

Number 0 or greater

  • both fixed_amount and percent_of_income are blank

  • both are provided

  • exceeds total_amount_to_be_paid

percent_of_income

Yes, if fixed_amount not set (mutually exclusive)

Number between 0 and 100 (inclusive)

  • both fixed_amount and percent_of_income are blank

  • both are provided

  • value outside 0-100

total_amount_to_be_paid

No

Number 0 or greater

fixed_amount exceeds this value

Note: Importing this file replaces all existing deduction templates for employees included in the import.

Leave Balances

Column Name

Required

Valid Values

Errors if:

leave_type

Yes (read-only — export only)

Exactly match an existing leave type name

N/A (ignored on import)

opening_balance

No (defaults to 0.0)

Numeric value

  • non-numeric value

amount_accrued

Read-only — export only

N/A

N/A (ignored on import)

amount_taken

Read-only — export only

N/A

N/A (ignored on import)

current_balance

Read-only — export only

N/A

N/A (ignored on import)

Last Anniversary Date

No

Date (yyyy-mm-dd)

  • invalid date format

Next Anniversary Date

No

Date (yyyy-mm-dd)

  • invalid date format

KiwiSaver

Column Name

Required

Valid Values

Errors if:

status

Yes

  • active_member

  • automatically_enrolled

  • opted_in

  • opted_out

  • not_eligible

  • employed_less_than_28_days

  • not_required_to_be_automatically_enrolled

  • missing or invalid value

employee_deduction_rate

Yes

Must be one of: 0, 3, 3.5, 4, 6, 8, 10 (percentage)

Must be 0 if status is inactive (not_eligible, opted_out, employed_less_than_28_days, not_required_to_be_automatically_enrolled)

  • invalid value

  • non-zero when status is inactive

employer_deduction_rate

Yes

Numeric value 0 or greater

Must be 0 if status is inactive

  • negative value

  • non-zero when status is inactive

savings_suspension

No

true, false, 1, 0, yes, no

  • invalid value

Holiday Pay

Column Name

Required

Valid Values

Errors if:

holiday_pay_percentage

No

Numeric value

  • non-numeric value

holiday_pay_accrued

No

Numeric value

  • non-numeric value

holiday_pay_paid

Read-only — export only

N/A

N/A (ignored on import)

holiday_pay_as_you_go

No

true, false, 1, 0, yes, no

  • invalid value

Journal Configuration

Tracking Categories

Column Name

Required

Valid Values

Errors If

Team ID

Yes

Exactly match an existing department ID in account

  • department not found with ID

Tracking Category

No (column not imported)

any text

N/A

Tracking Category ID

Yes

Exactly match an existing tracking category ID in account

  • tracking category not found

  • duplicate tracking category ID for the same team ID

Value

Yes

Text string

  • missing value

Team Wage Expense Accounts

Column Name

Required

Valid Values

Errors If

location/department

Yes

Exactly match an existing location/department in account

location or department not found

account

No

  • exactly match an existing payroll account

  • blank cell to clear the set account

  • account name not found

Team Leave Accounts

Column Name

Required

Valid Values

Errors If

location_name/department_name

Yes

Exactly match an existing location/department in account

  • location or department not found

leave_type_name

Yes

Exactly match an existing leave type in account

  • leave type not found

  • duplicate combination of department + leave type + accrual account

account_name

Yes

Exactly match an existing payroll account in account

  • account not found

accrual_account

No (defaults to false)

true, false, 1, 0, yes, no

  • invalid value

  • duplicate combination

Journal Setup (Accounts)

Column Name

Required

Valid Values

Errors If

name

Yes

Any text

  • missing value

code

Yes

Any text

  • missing value

id

No

N/A (internal Tanda ID)

N/A

Update Logic: The import first tries to match by both name and code, then by name only, then code only, and creates a new account if no match is found.

Draft Payslip Lines

Payslip Reimbursement Lines

Column Name

Required

Valid Values

Errors If

account

Yes

Exactly match an existing payroll account

  • missing value

  • account not found

amount

Yes

Numeric value

  • missing value

  • non-numeric value

reason

No

Any text

N/A

Payslip Deduction Lines

Column Name

Required

Valid Values

Errors If

deduction_type

Yes

Exactly match an existing deduction type in account

  • missing value

  • deduction type not found

account

Yes

Exactly match an existing payroll account

  • missing value

  • account not found

amount

Yes

Numeric value

  • missing value

  • non-numeric value

location

No

Exactly match an existing location for user

  • invalid value

department

No

Exactly match an existing department for user

  • invalid value

Payslip Earnings Lines

Column Name

Required

Valid Values

Errors If

earnings_rate

Yes

Exactly match an existing earnings rate name in account

  • missing value

  • earnings rate not found

rate

No (defaults to 0)

Numeric value (whole numbers, negatives and decimals)

  • non-numeric

  • spaces/special characters such as commas and '$' symbols

units

No (defaults to 0)

Numeric value (whole numbers, negatives and decimals)

  • non-numeric

  • spaces/special characters such as commas and '$' symbols

account

Yes

Exactly match an existing payroll account

  • missing value

  • account not found

location

No

Exactly match an existing location for user

  • invalid value

department

No

Exactly match an existing department for user

  • invalid value

Payslip Lump Sum Lines

Column Name

Required

Valid Values

Errors If

lump_sum_type

Yes (read-only — used for matching)

Exactly match an existing NZ lump sum type in account

  • missing value

  • lump sum type not found

amount

Yes

Numeric value

  • missing value

  • non-numeric value

location

No (defaults to user default)

Read-only — export only

N/A (ignored on import)

department

No (defaults to user default)

Read-only — export only

N/A (ignored on import)

Staff Payroll Opening Balances

Opening Balances: Earnings

Column Name

Required

Valid Values

Errors If

date (yyyy-mm-dd)

Yes

Date in yyyy-mm-dd format. The date is automatically snapped to the end of the corresponding pay period.

  • missing value

  • invalid date format

earnings

Yes

Numeric value

  • missing value

  • non-numeric value

days_worked

Yes

Numeric value

  • missing value

  • non-numeric value

Note: Importing this file destroys all existing earnings opening balances for employees in the import before creating new ones.

Opening Balances: KiwiSaver

Column Name

Required

Valid Values

Errors If

date (yyyy-mm-dd)

Yes

Date in yyyy-mm-dd format

  • missing value

  • invalid date format

amount

Yes

Numeric value

  • missing value

  • non-numeric value

nz_kiwi_saver_contribution_type

Yes

  • employee_contribution

  • employer_contribution

  • missing or invalid value

Opening Balances: Tax

Column Name

Required

Valid Values

Errors If

nz_tax_type

Yes

  • paye

  • student_loan

  • esct

  • missing or invalid value

  • duplicate tax type for this user

date (yyyy-mm-dd)

Yes

Date in yyyy-mm-dd format

  • missing value

  • invalid date format

amount

Yes

Numeric value

  • missing value

  • non-numeric value

Did this answer your question?