Skip to main content

Bulk update payroll & employee payroll details

Import payroll configurations for both your employees and your organisation

Updated this week

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

  • Super Fund Membership

  • Leave Balances

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

Bank Accounts

Column Name

Required

Valid Values

Errors if:

bsb

Yes

6 digits "XXXXXX" or "XXX-XXX" (must be a valid Aus BSB, can include dashes/spaces)

  • missing value

  • not a valid BSB

account_number

Yes

Numeric text

  • missing value

  • contains non-numeric characters (excluding dashes/spaces)

account_name

No

Any text

N/A

payroll_payment_type

No (autoset to remaining_balance if not provided)

  • percentage

  • fixed_amount

  • remaining_balance

  • invalid value entered

payroll_payment_amount

No (defaults to 0.0 if not provided)

Numeric digit (decimals accepted)

percentage: number from 0-100

fixed_amount: any positive dollar amount

remaining_balance: 0

  • remaining_balance with amount ≠ 0

  • percentage type where total across all accounts > 100%

Super Fund Memberships

Column Name

Required

Valid Values

Errors If:

fund_name

Yes

Any text

  • missing value

member_number

No

Any text

N/A

usi

No

Text, max 20 characters

  • exceeds 20 characters

Notes:

  • Each employee can only have one membership per super fund

  • If importing a duplicate fund membership for the same user, it will update the existing membership's member_number

  • Member Number can be blank

Fund Creation Logic:

Super funds are auto-created upon import when the following are met:

  • Fund name doesn't already exist in the organisation

  • Fund name is provided

  • USI is provided

Super funds must pre-exist when:

  • USI is blank/missing

  • You're importing an SMSF (which doesn't have a USI)

Super Fund Contributions

Column Name

Required

Valid Values

Errors If

fund_name

Yes (except for mandatory_contribution type)

  • exactly match existing super fund in account

  • blank only if type is mandatory_contribution

  • missing when contribution type is not mandatory_contribution

member_number

No (required when user has multiple memberships for same fund name)

exactly match the member number on the user's membership

  • missing when user has multiple memberships

  • number doesn't match user's membership number

contribution_type

No (defaults to mandatory_contribution)

  • mandatory_contribution

  • additional_employer_resc

  • salary_sacrifice_resc

  • post_tax_contribution

  • invalid value

fixed_amount

No

numeric value ≥ 0

  • non-numeric value

  • negative numeric value

  • cannot have both fixed_amount and earnings_percentage

  • Cannot have fixed_amount and mandatory_contribution

earnings_percentage

No

number between 0 and 100 (inclusive)

  • value < 0 or > 100

  • cannot have both earnings_percentage and fixed_amount

  • Cannot have earnings_percentage and mandatory_contribution

cap_at_maximum_super_contribution_base

No (defaults to true)

true, false

  • invalid value

expense_account

No

exactly match an existing payroll account

  • account not found

Note: Must have exactly one of: mandatory_contribution, fixed_amount, or earnings_percentage

Tax Declarations

Column Name

Required

Valid Values

Errors If

tax_file_number

No

8 or 9 digit number (must be a valid Aus TFN)

Or:

  • exempt_applied

  • exempt_underage

  • exempt_allowance

  • exempt_blank

  • not a valid value

  • invalid TFN

previous_family_name

No

Any text

N/A

tax_free_threshold

No

true, false, 1, 0, yes, no

not a valid value

senior_tax_offset

No

true, false, 1, 0, yes, no

not a valid value

zone_overseas_carer

No

true, false, 1, 0, yes, no

not a valid value

student_loan

No

true, false, 1, 0, yes, no

not a valid value

financial_supplement_debt

No

true, false, 1, 0, yes, no

not a valid value

tax_code

No

Any text

N/A

employment_basis

Yes

  • full_time

  • part_time

  • casual

missing or invalid value

income_type

Yes

  • salary_and_wages

  • working_holiday_maker

  • non_employee

  • closely_held_payee

missing or invalid value

australian_tax_residency_status

Yes

  • resident

  • non_resident

  • working_holiday_maker

missing or invalid value

tax_scale_type

Yes

  • regular

  • horticulturist_or_shearer

  • senior_or_pensioner

  • working_holiday_maker

missing or invalid value

home_country

Yes, only if working_holiday_maker value present

Any text (valid country name)

missing when tax_scale_type or income_type = working_holiday_maker

employment_type

Yes

  • employee

  • contractor

missing or invalid value

Leave Balances

Column Name

Required

Valid Values

Errors If

leave_type

Yes

Exactly match an existing leave type name

missing value, leave type doesn't exist, duplicate entry

opening_balance

No (defaults to 0.0)

numeric value

non-numeric value entered

hours_accrued

Ignored during Import

N/A

N/A

hours_taken

Ignored during Import

N/A

N/A

current_balance

Ignored during Import

N/A

N/A

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

percentage

No

Number between 0 (exclusive) and 100 (inclusive)

  • Value ≤ 0 or > 100

  • Total percentage exceeds 100%

  • Cannot be set if annual_salary or hours_per_week are also provided

  • rate set to something other than ordinary hours

  • separate percentage and cost-based templates set for same user

annual_salary

No (defaults to 0)

non-negative number

  • negative value

  • percentage set

  • separate percentage and cost-based templates set for same user

hours_per_week

No (defaults to 0)

non-negative number

  • negative value

  • percentage set

  • separate percentage and cost-based templates set for same user

location

No

exactly match an existing location

location not found

department

No

exactly match an existing department

department not found

Recurring Deduction Templates

Column Name

Required

Valid Values

Errors If

deduction_type

Yes

exactly match an existing deduction type

  • deduction type not found

  • missing value

  • set to a Pay Advance deduction type

  • overlapping date ranged with existing template

fixed_amount

Yes, if percent_of_income not set (mutually exclusive)

number ≥ 0

  • negative value

  • both fixed_amount and percent_of_income are blank

  • both fixed_amount and percent_of_income are provided

percent_of_income

Yes, if fixed_amount not set (mutually exclusive)

number between 0 and 100 (inclusive)

  • value < 0 or > 100

  • both fixed_amount and percent_of_income are blank

  • Both fixed_amount and percent_of_income are provided

total_amount_to_be_paid

No

number ≥ 0

fixed amount exceeds this value

pay_child_support_in_aba

No (defaults to false)

true, false

invalid value

aba_child_support-reference

Yes, if pay_child_support_in_aba set

text string

missing value when pay_child_support_in_aba set

Importing Staff Opening Balances and YTD Earnings

See below for import requirements to help troubleshoot any errors.

Staff Payroll Opening Balances

Opening Balances: Earnings Rates

Column Name

Required

Valid Values

Errors If

earnings_type

Yes

  • ordinary_hours

  • overtime_hours

  • allowance

  • directors_fees

  • invalid value

  • missing value

  • duplicate combination of earnings_type + stp_type for this user

stp_type

Yes only if earnings_type is 'allowance' (leave blank otherwise)

  • cents_per_km

  • award_transport

  • laundry

  • meal_allowance

  • travel_allowance

  • tool_allowance

  • service_allowance

  • qualifications_allowance

  • other

  • missing value when earnings_type is allowance

  • value set when earnings_type is not allowance

  • invalid value

  • duplicate combination of earnings_type + stp_type for this user

financial_year

Yes

date set to June 30 (last day of financial year). Example: 2025-06-30 for FY 24/25

  • missing value

  • incorrectly formatted date

  • date not set to June 30

amount

Yes

number ≥ 0

  • missing value

  • negative value

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

Opening Balances: Deduction Types

Column Name

Required

Valid Values

Errors If

stp_type

Yes

  • union_and_professional_association

  • workplace_giving

  • child_support_garnishee

  • child_support_deduction

  • salary_sacrifice_o

  • invalid value

  • missing value

  • duplicate stp_type for this user

financial_year

Yes

date set to June 30 (last day of financial year). Example: 2025-06-30 for FY 24/25

  • missing value

  • incorrectly formatted date

  • date not set to June 30

amount

Yes

numeric value

  • missing value

  • non-numeric value

Opening Balances: Leave

Column Name

Required

Valid Values

Errors If

stp_type

Yes

  • other_paid_leave

  • paid_parental_leave

  • workers_comp

  • ancillary_and_defence_leave

  • cash_out_of_leave_in_service

  • unused_leave_on_termination

  • invalid value

  • missing value

  • duplicate stp_type for this user

financial_year

Yes

date set to June 30 (last day of financial year). Example: 2025-06-30 for FY 24/25

  • missing value

  • incorrectly formatted date

  • date not set to June 30

amount

Yes

numeric value

  • missing value

  • non-numeric value

Opening Balances: Tax

Column Name

Required

Valid Values

Errors If

tax_type

Yes

  • payg

  • stsl

  • invalid value

  • missing value

  • duplicate tax type for this user

financial_year

Yes

date set to June 30 (last day of financial year). Example: 2025-06-30 for FY 24/25

  • missing value

  • incorrectly formatted date

  • date not set to June 30

amount

Yes

numeric value

  • missing value

  • non-numeric value

Opening Balances: Super Contributions

Column Name

Required

Valid Values

Errors If

fund_name

Yes

exactly match an existing super fund in account

  • missing value

  • find not found in account

mandatory_contribution

Yes

true, false

  • missing value

  • invalid value

financial_year

Yes

date set to June 30 (last day of financial year). Example: 2025-06-30 for FY 24/25

  • missing value

  • incorrectly formatted date

  • date not set to June 30

amount

Yes

numeric value

  • missing value

  • non-numeric value

Additional payroll imports

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 with this ID

  • 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 in account

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 in account

leave_type_name

Yes

exactly match an existing leave type in account

  • leave type name

  • 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 if blank)

true, false, 1, 0, yes, no

  • invalid value

  • duplicate combination of department + leave type + accrual account

Notes:

  • Accrual vs Expense: Set accrual_account=true for liability/provision accounts, accrual_account=false (or blank) for expense accounts

  • This import updates existing department leave account assignments and creates new ones without clearing other data

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 (this is the internal Tanda ID)

N/A

payroll_super_expense_account_id

No

  • exactly match an existing payroll account ID in account

  • blank

  • id not found in account

Update Logic: The import uses smart matching:

a. First tries to find account by both name AND code

b. If not found, tries to find by name only

c. If not found, tries to find by code only

d. If still not found, creates a new account

Earnings Rates

This file cannot be imported.

Draft Payslip Lines

Payslip Lump Sum Lines

Column Name

Required

Valid Values

Errors If

lump_sum_type

Yes

exactly match an existing lump sum type in account

  • missing value

  • lump sum not found

amount

Yes

numeric value

  • missing value

  • non-numeric value

location

No (defaults to user default)

exactly match existing location for user

  • invalid value

department

No (defaults to user default)

exactly match existing department for user

  • invalid value

financial_year

Yes if lump sum is 'Type E'. Otherwise optional

date set to June 30 of financial year. Example: 2025-06-30 for FY 24/25

  • missing value when lump sum type is 'E'

  • incorrectly formatted date

  • date not set to June 30

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

exadctly 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

pay_child_support_in_aba

No (defaults to false)

true, false

  • invalid value

aba_child_support_reference

No (required only if pay_child_support_in_aba set to true)

text string

N/A

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 Back Payment 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

Yes

numeric value (whole numbers, negatives and decimals)

  • non-numeric

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

units

Yes

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 Super Accrual Lines

Column Name

Required

Valid Values

Errors If

fund_name

Yes

exactly match an existing super fund in account

  • missing value

  • super fund not found

contribution_type

No (defaults to mandatory_contribution)

  • mandatory_contribution

  • additional_employer_resc

  • salary_sacrifice_resc

  • post_tax_contribution

  • invalid value

amount

Yes (blank rows are skipped on import)

numeric value > 0

  • non-numeric value

expense_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

Did this answer your question?