---
title: "Creates a payroll employee"
method: POST
path: "/Employees"
tags: ["PayrollAu"]
---

# Creates a payroll employee

`POST /Employees`

## Headers

- `Idempotency-Key` string

## Request body

- Employee[]
  - `FirstName` string, required — First name of employee
  - `LastName` string, required — Last name of employee
  - `DateOfBirth` string, required — Date of birth of the employee (YYYY-MM-DD)
  - `HomeAddress` HomeAddress
    - `AddressLine1` string, required — Address line 1 for employee home address
    - `AddressLine2` string — Address line 2 for employee home address
    - `City` string — Suburb for employee home address
    - `Region` 'ACT' | 'NSW' | 'NT' | 'QLD' | 'SA' | 'TAS' | 'VIC' | 'WA' — State abbreviation for employee home address
    - `PostalCode` string — PostCode for employee home address
    - `Country` string — Country of HomeAddress
  - `StartDate` string — Start date for an employee (YYYY-MM-DD)
  - `Title` string — Title of the employee
  - `MiddleNames` string — Middle name(s) of the employee
  - `Email` string — The email address for the employee
  - `Gender` 'N' | 'M' | 'F' | 'I' — The employee’s gender. See Employee Gender
  - `Phone` string — Employee phone number
  - `Mobile` string — Employee mobile number
  - `TwitterUserName` string — Employee’s twitter name
  - `IsAuthorisedToApproveLeave` boolean — Authorised to approve other employees' leave requests
  - `IsAuthorisedToApproveTimesheets` boolean — Authorised to approve timesheets
  - `JobTitle` string — JobTitle of the employee
  - `Classification` string — Employees classification
  - `OrdinaryEarningsRateID` string, uuid — Xero unique identifier for earnings rate
  - `PayrollCalendarID` string, uuid — Xero unique identifier for payroll calendar for the employee
  - `EmployeeGroupName` string — The Employee Group allows you to report on payroll expenses and liabilities for each group of employees
  - `EmployeeID` string, uuid — Xero unique identifier for an Employee
  - `TerminationDate` string — Employee Termination Date (YYYY-MM-DD)
  - `TerminationReason` 'V' | 'I' | 'D' | 'R' | 'F' | 'C' | 'T' — * `V` Voluntary cessation - An employee resignation, retirement, domestic or pressing necessity or abandonment of employment * `I` Ill health - An employee resignation due to medical condition that prevents the continuation of employment, such as for illness, ill-health, medical unfitness or total permanent disability * `D` Deceased - The death of an employee * `R` Redundancy - An employer-initiated termination of employment due to a genuine redundancy or approved early retirement scheme * `F` Dismissal - An employer-initiated termination of employment due to dismissal, inability to perform the required work, misconduct or inefficiency * `C` Contract cessation - The natural conclusion of a limited employment relationship due to contract/engagement duration or task completion, seasonal work completion, or to cease casuals that are no longer required * `T` Transfer - The administrative arrangements performed to transfer employees across payroll systems, move them temporarily to another employer (machinery of government for public servants), transfer of business, move them to outsourcing arrangements or other such technical activities.
  - `BankAccounts` BankAccount[]
    - `StatementText` string — The text that will appear on your employee's bank statement when they receive payment
    - `AccountName` string — The name of the account
    - `BSB` string — The BSB number of the account
    - `AccountNumber` string — The account number
    - `Remainder` boolean — If this account is the Remaining bank account
    - `Amount` number, double — Fixed amounts (for example, if an employee wants to have $100 of their salary transferred to one account, and the remaining amount to another)
  - `PayTemplate` PayTemplate
    - `EarningsLines` EarningsLine[]
      - `EarningsRateID` string, uuid, required — Xero unique id for earnings rate
      - `CalculationType` 'USEEARNINGSRATE' | 'ENTEREARNINGSRATE' | 'ANNUALSALARY'
      - `AnnualSalary` number, double — Annual salary for earnings line
      - `NumberOfUnitsPerWeek` number, double — number of units for earning line
      - `RatePerUnit` number, double — Rate per unit of the EarningsLine.
      - `NormalNumberOfUnits` number, double — Normal number of units for EarningsLine. Applicable when RateType is "MULTIPLE"
      - `Amount` number, double — Earnings rate amount
      - `NumberOfUnits` number, double — Earnings rate number of units.
      - `FixedAmount` number, double — Earnings rate amount. Only applicable if the EarningsRate RateType is Fixed
    - `DeductionLines` DeductionLine[]
      - `DeductionTypeID` string, uuid, required — Xero deduction type identifier
      - `CalculationType` 'FIXEDAMOUNT' | 'PRETAX' | 'POSTTAX'
      - `Amount` number, double — Deduction type amount
      - `Percentage` number, double — The Percentage of the Deduction
      - `NumberOfUnits` number, double — Deduction number of units
    - `SuperLines` SuperLine[]
      - `SuperMembershipID` string, uuid — Xero super membership ID
      - `ContributionType` 'SGC' | 'SALARYSACRIFICE' | 'EMPLOYERADDITIONAL' | 'EMPLOYEE'
      - `CalculationType` 'FIXEDAMOUNT' | 'PERCENTAGEOFEARNINGS' | 'STATUTORY'
      - `MinimumMonthlyEarnings` number, double — amount of minimum earnings
      - `ExpenseAccountCode` string — expense account code
      - `LiabilityAccountCode` string — liabilty account code
      - `Percentage` number, double — percentage for super line
      - `Amount` number, double — Super membership amount
    - `ReimbursementLines` ReimbursementLine[]
      - `ReimbursementTypeID` string, uuid — Xero reimbursement type identifier
      - `Amount` number, double — Reimbursement type amount
      - `Description` string — Reimbursement lines description (max length 50)
      - `ExpenseAccount` string — Reimbursement expense account. For posted pay run you should be able to see expense account code.
    - `LeaveLines` LeaveLine[]
      - `LeaveTypeID` string, uuid — Xero leave type identifier
      - `CalculationType` 'NOCALCULATIONREQUIRED' | 'FIXEDAMOUNTEACHPERIOD' | 'ENTERRATEINPAYTEMPLATE' | 'BASEDONORDINARYEARNINGS' — Calculation type for leave line for Opening Balance on Employee
      - `EntitlementFinalPayPayoutType` 'NOTPAIDOUT' | 'PAIDOUT'
      - `EmploymentTerminationPaymentType` 'O' | 'R'
      - `IncludeSuperannuationGuaranteeContribution` boolean — amount of leave line
      - `IsQualifyingEarnings` boolean, required — Boolean to determine if the leave line is considered as qualifying earnings for superannuation guarantee calculations
      - `NumberOfUnits` number, double — Number of units for leave line.
      - `AnnualNumberOfUnits` number, double — Hours of leave accrued each year
      - `FullTimeNumberOfUnitsPerPeriod` number, double — Normal ordinary earnings number of units for leave line.
  - `OpeningBalances` OpeningBalances
    - `OpeningBalanceDate` string — Opening Balance Date. (YYYY-MM-DD)
    - `Tax` string — Opening Balance tax
    - `EarningsLines` EarningsLine[]
      - `EarningsRateID` string, uuid, required — Xero unique id for earnings rate
      - `CalculationType` 'USEEARNINGSRATE' | 'ENTEREARNINGSRATE' | 'ANNUALSALARY'
      - `AnnualSalary` number, double — Annual salary for earnings line
      - `NumberOfUnitsPerWeek` number, double — number of units for earning line
      - `RatePerUnit` number, double — Rate per unit of the EarningsLine.
      - `NormalNumberOfUnits` number, double — Normal number of units for EarningsLine. Applicable when RateType is "MULTIPLE"
      - `Amount` number, double — Earnings rate amount
      - `NumberOfUnits` number, double — Earnings rate number of units.
      - `FixedAmount` number, double — Earnings rate amount. Only applicable if the EarningsRate RateType is Fixed
    - `DeductionLines` DeductionLine[]
      - `DeductionTypeID` string, uuid, required — Xero deduction type identifier
      - `CalculationType` 'FIXEDAMOUNT' | 'PRETAX' | 'POSTTAX'
      - `Amount` number, double — Deduction type amount
      - `Percentage` number, double — The Percentage of the Deduction
      - `NumberOfUnits` number, double — Deduction number of units
    - `SuperLines` SuperLine[]
      - `SuperMembershipID` string, uuid — Xero super membership ID
      - `ContributionType` 'SGC' | 'SALARYSACRIFICE' | 'EMPLOYERADDITIONAL' | 'EMPLOYEE'
      - `CalculationType` 'FIXEDAMOUNT' | 'PERCENTAGEOFEARNINGS' | 'STATUTORY'
      - `MinimumMonthlyEarnings` number, double — amount of minimum earnings
      - `ExpenseAccountCode` string — expense account code
      - `LiabilityAccountCode` string — liabilty account code
      - `Percentage` number, double — percentage for super line
      - `Amount` number, double — Super membership amount
    - `ReimbursementLines` ReimbursementLine[]
      - `ReimbursementTypeID` string, uuid — Xero reimbursement type identifier
      - `Amount` number, double — Reimbursement type amount
      - `Description` string — Reimbursement lines description (max length 50)
      - `ExpenseAccount` string — Reimbursement expense account. For posted pay run you should be able to see expense account code.
    - `LeaveLines` OpeningBalanceLeaveLine[]
      - `LeaveTypeID` string, uuid — Xero leave type identifier
      - `NumberOfUnits` number, double — Number of units for leave line.
    - `PaidLeaveEarningsLines` PaidLeaveEarningsLine[]
      - `LeaveTypeID` string, uuid, required — Xero leave type identifier
      - `Amount` number, double, required — Paid leave amount
      - `SGCAppliedLeaveLoadingAmount` number, double — The amount of leave loading applied for the leave type that is subject to Superannuation Guarantee Contributions. *Only applicable for Leave Types with Annual Leave Categories
      - `SGCExemptedLeaveLoadingAmount` number, double — The amount of leave loading applied for the leave type that is exempt from Superannuation Guarantee Contributions. *Only applicable for Leave Types with Annual Leave Categories
      - `ResetSTPCategorisation` boolean — Reset the STP categorisations for the leave type. *Only applicable for Leave Types with Annual Leave Categories
  - `TaxDeclaration` TaxDeclaration
    - `EmployeeID` string, uuid — Address line 1 for employee home address
    - `EmploymentBasis` 'FULLTIME' | 'PARTTIME' | 'CASUAL' | 'LABOURHIRE' | 'SUPERINCOMESTREAM' | 'NONEMPLOYEE'
    - `TFNExemptionType` 'NOTQUOTED' | 'PENDING' | 'PENSIONER' | 'UNDER18'
    - `TaxFileNumber` string — The tax file number e.g 123123123.
    - `ABN` string — 11-digit Australian Business Number e.g 21006819692 or an empty string ("") to unset a previously set value. Only applicable, and mandatory if income type is NONEMPLOYEE.
    - `AustralianResidentForTaxPurposes` boolean — If the employee is Australian resident for tax purposes. e.g true or false
    - `ResidencyStatus` 'AUSTRALIANRESIDENT' | 'FOREIGNRESIDENT' | 'WORKINGHOLIDAYMAKER'
    - `TaxScaleType` 'REGULAR' | 'ACTORSARTISTSENTERTAINERS' | 'HORTICULTURISTORSHEARER' | 'SENIORORPENSIONER' | 'WORKINGHOLIDAYMAKER' | 'FOREIGN'
    - `WorkCondition` 'PROMOTIONAL' | 'THREELESSPERFORMANCESPERWEEK' | 'NONE'
    - `SeniorMaritalStatus` 'MEMBEROFCOUPLE' | 'MEMBEROFILLNESSSEPARATEDCOUPLE' | 'SINGLE'
    - `TaxFreeThresholdClaimed` boolean — If tax free threshold claimed. e.g true or false
    - `TaxOffsetEstimatedAmount` number — If has tax offset estimated then the tax offset estimated amount. e.g 100
    - `HasHELPDebt` boolean — If employee has HECS or HELP debt. e.g true or false
    - `HasSFSSDebt` boolean — If employee has financial supplement debt. e.g true or false
    - `HasTradeSupportLoanDebt` boolean — If employee has trade support loan. e.g true or false
    - `UpwardVariationTaxWithholdingAmount` number — If the employee has requested that additional tax be withheld each pay run. e.g 50
    - `EligibleToReceiveLeaveLoading` boolean — If the employee is eligible to receive an additional percentage on top of ordinary earnings when they take leave (typically 17.5%). e.g true or false
    - `ApprovedWithholdingVariationPercentage` number — If the employee has approved withholding variation. e.g (0 - 100)
    - `HasStudentStartupLoan` boolean — If the employee is eligible for student startup loan rules
    - `HasLoanOrStudentDebt` boolean — If the employee has any of the following loans or debts: Higher Education Loan Program (HELP/HECS), VET Student Loan (VSL), Financial Supplement (FS), Student Start-up Loan (SSL), or Trade Support Loan (TSL)
    - `UpdatedDateUTC` string — Last modified timestamp
    - `IncludeLeaveLoadingInQualifyingEarnings` boolean — Boolean to determine if leave loading is considered as qualifying earnings for superannuation guarantee calculations. Required when IncludeLeaveLoadingInSGC is specified in the payload
  - `IncomeType` 'SALARYANDWAGES' | 'WORKINGHOLIDAYMAKER' | 'NONEMPLOYEE' | 'CLOSELYHELDPAYEES' | 'LABOURHIRE'
  - `EmploymentType` 'EMPLOYEE' | 'CONTRACTOR'
  - `CountryOfResidence` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'AN' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW' | 'BQ' | 'CW' | 'SX' | 'SS' — Country of residence as a valid ISO 3166-1 alpha-2 country code e.g. "AU", "NZ", "CA". Only applicable, and mandatory if income type is WORKINGHOLIDAYMAKER.
  - `IsSTP2Qualified` boolean — Indicates if the employee has been updated for STP Phase 2 compliance. Doesn't indicate that the employee is payable.
  - `LeaveBalances` LeaveBalance[]
    - `LeaveName` string — The name of the leave type
    - `LeaveTypeID` string — Identifier of the leave type (see PayItems)
    - `NumberOfUnits` number, double — The balance of the leave available
    - `TypeOfUnits` string — The type of units as specified by the LeaveType (see PayItems)
  - `SuperMemberships` SuperMembership[]
    - `SuperMembershipID` string, uuid — Xero unique identifier for Super membership
    - `SuperFundID` string, uuid, required — Xero identifier for super fund
    - `EmployeeNumber` string, required — The membership number assigned to the employee by the super fund.
  - `Status` 'ACTIVE' | 'TERMINATED' — Employee Status Types
  - `UpdatedDateUTC` string — Last modified timestamp
  - `ValidationErrors` ValidationError[] — Displays array of validation error messages from the API
    - `Message` string — Validation error message

## Response `200`

A successful request

- Employees
  - `Employees` Employee[]
    - `FirstName` string, required — First name of employee
    - `LastName` string, required — Last name of employee
    - `DateOfBirth` string, required — Date of birth of the employee (YYYY-MM-DD)
    - `HomeAddress` HomeAddress
      - `AddressLine1` string, required — Address line 1 for employee home address
      - `AddressLine2` string — Address line 2 for employee home address
      - `City` string — Suburb for employee home address
      - `Region` 'ACT' | 'NSW' | 'NT' | 'QLD' | 'SA' | 'TAS' | 'VIC' | 'WA' — State abbreviation for employee home address
      - `PostalCode` string — PostCode for employee home address
      - `Country` string — Country of HomeAddress
    - `StartDate` string — Start date for an employee (YYYY-MM-DD)
    - `Title` string — Title of the employee
    - `MiddleNames` string — Middle name(s) of the employee
    - `Email` string — The email address for the employee
    - `Gender` 'N' | 'M' | 'F' | 'I' — The employee’s gender. See Employee Gender
    - `Phone` string — Employee phone number
    - `Mobile` string — Employee mobile number
    - `TwitterUserName` string — Employee’s twitter name
    - `IsAuthorisedToApproveLeave` boolean — Authorised to approve other employees' leave requests
    - `IsAuthorisedToApproveTimesheets` boolean — Authorised to approve timesheets
    - `JobTitle` string — JobTitle of the employee
    - `Classification` string — Employees classification
    - `OrdinaryEarningsRateID` string, uuid — Xero unique identifier for earnings rate
    - `PayrollCalendarID` string, uuid — Xero unique identifier for payroll calendar for the employee
    - `EmployeeGroupName` string — The Employee Group allows you to report on payroll expenses and liabilities for each group of employees
    - `EmployeeID` string, uuid — Xero unique identifier for an Employee
    - `TerminationDate` string — Employee Termination Date (YYYY-MM-DD)
    - `TerminationReason` 'V' | 'I' | 'D' | 'R' | 'F' | 'C' | 'T' — * `V` Voluntary cessation - An employee resignation, retirement, domestic or pressing necessity or abandonment of employment * `I` Ill health - An employee resignation due to medical condition that prevents the continuation of employment, such as for illness, ill-health, medical unfitness or total permanent disability * `D` Deceased - The death of an employee * `R` Redundancy - An employer-initiated termination of employment due to a genuine redundancy or approved early retirement scheme * `F` Dismissal - An employer-initiated termination of employment due to dismissal, inability to perform the required work, misconduct or inefficiency * `C` Contract cessation - The natural conclusion of a limited employment relationship due to contract/engagement duration or task completion, seasonal work completion, or to cease casuals that are no longer required * `T` Transfer - The administrative arrangements performed to transfer employees across payroll systems, move them temporarily to another employer (machinery of government for public servants), transfer of business, move them to outsourcing arrangements or other such technical activities.
    - `BankAccounts` BankAccount[]
      - `StatementText` string — The text that will appear on your employee's bank statement when they receive payment
      - `AccountName` string — The name of the account
      - `BSB` string — The BSB number of the account
      - `AccountNumber` string — The account number
      - `Remainder` boolean — If this account is the Remaining bank account
      - `Amount` number, double — Fixed amounts (for example, if an employee wants to have $100 of their salary transferred to one account, and the remaining amount to another)
    - `PayTemplate` PayTemplate
      - `EarningsLines` EarningsLine[]
        - `EarningsRateID` string, uuid, required — Xero unique id for earnings rate
        - `CalculationType` 'USEEARNINGSRATE' | 'ENTEREARNINGSRATE' | 'ANNUALSALARY'
        - `AnnualSalary` number, double — Annual salary for earnings line
        - `NumberOfUnitsPerWeek` number, double — number of units for earning line
        - `RatePerUnit` number, double — Rate per unit of the EarningsLine.
        - `NormalNumberOfUnits` number, double — Normal number of units for EarningsLine. Applicable when RateType is "MULTIPLE"
        - `Amount` number, double — Earnings rate amount
        - `NumberOfUnits` number, double — Earnings rate number of units.
        - `FixedAmount` number, double — Earnings rate amount. Only applicable if the EarningsRate RateType is Fixed
      - `DeductionLines` DeductionLine[]
        - `DeductionTypeID` string, uuid, required — Xero deduction type identifier
        - `CalculationType` 'FIXEDAMOUNT' | 'PRETAX' | 'POSTTAX'
        - `Amount` number, double — Deduction type amount
        - `Percentage` number, double — The Percentage of the Deduction
        - `NumberOfUnits` number, double — Deduction number of units
      - `SuperLines` SuperLine[]
        - `SuperMembershipID` string, uuid — Xero super membership ID
        - `ContributionType` 'SGC' | 'SALARYSACRIFICE' | 'EMPLOYERADDITIONAL' | 'EMPLOYEE'
        - `CalculationType` 'FIXEDAMOUNT' | 'PERCENTAGEOFEARNINGS' | 'STATUTORY'
        - `MinimumMonthlyEarnings` number, double — amount of minimum earnings
        - `ExpenseAccountCode` string — expense account code
        - `LiabilityAccountCode` string — liabilty account code
        - `Percentage` number, double — percentage for super line
        - `Amount` number, double — Super membership amount
      - `ReimbursementLines` ReimbursementLine[]
        - `ReimbursementTypeID` string, uuid — Xero reimbursement type identifier
        - `Amount` number, double — Reimbursement type amount
        - `Description` string — Reimbursement lines description (max length 50)
        - `ExpenseAccount` string — Reimbursement expense account. For posted pay run you should be able to see expense account code.
      - `LeaveLines` LeaveLine[]
        - `LeaveTypeID` string, uuid — Xero leave type identifier
        - `CalculationType` 'NOCALCULATIONREQUIRED' | 'FIXEDAMOUNTEACHPERIOD' | 'ENTERRATEINPAYTEMPLATE' | 'BASEDONORDINARYEARNINGS' — Calculation type for leave line for Opening Balance on Employee
        - `EntitlementFinalPayPayoutType` 'NOTPAIDOUT' | 'PAIDOUT'
        - `EmploymentTerminationPaymentType` 'O' | 'R'
        - `IncludeSuperannuationGuaranteeContribution` boolean — amount of leave line
        - `IsQualifyingEarnings` boolean, required — Boolean to determine if the leave line is considered as qualifying earnings for superannuation guarantee calculations
        - `NumberOfUnits` number, double — Number of units for leave line.
        - `AnnualNumberOfUnits` number, double — Hours of leave accrued each year
        - `FullTimeNumberOfUnitsPerPeriod` number, double — Normal ordinary earnings number of units for leave line.
    - `OpeningBalances` OpeningBalances
      - `OpeningBalanceDate` string — Opening Balance Date. (YYYY-MM-DD)
      - `Tax` string — Opening Balance tax
      - `EarningsLines` EarningsLine[]
        - `EarningsRateID` string, uuid, required — Xero unique id for earnings rate
        - `CalculationType` 'USEEARNINGSRATE' | 'ENTEREARNINGSRATE' | 'ANNUALSALARY'
        - `AnnualSalary` number, double — Annual salary for earnings line
        - `NumberOfUnitsPerWeek` number, double — number of units for earning line
        - `RatePerUnit` number, double — Rate per unit of the EarningsLine.
        - `NormalNumberOfUnits` number, double — Normal number of units for EarningsLine. Applicable when RateType is "MULTIPLE"
        - `Amount` number, double — Earnings rate amount
        - `NumberOfUnits` number, double — Earnings rate number of units.
        - `FixedAmount` number, double — Earnings rate amount. Only applicable if the EarningsRate RateType is Fixed
      - `DeductionLines` DeductionLine[]
        - `DeductionTypeID` string, uuid, required — Xero deduction type identifier
        - `CalculationType` 'FIXEDAMOUNT' | 'PRETAX' | 'POSTTAX'
        - `Amount` number, double — Deduction type amount
        - `Percentage` number, double — The Percentage of the Deduction
        - `NumberOfUnits` number, double — Deduction number of units
      - `SuperLines` SuperLine[]
        - `SuperMembershipID` string, uuid — Xero super membership ID
        - `ContributionType` 'SGC' | 'SALARYSACRIFICE' | 'EMPLOYERADDITIONAL' | 'EMPLOYEE'
        - `CalculationType` 'FIXEDAMOUNT' | 'PERCENTAGEOFEARNINGS' | 'STATUTORY'
        - `MinimumMonthlyEarnings` number, double — amount of minimum earnings
        - `ExpenseAccountCode` string — expense account code
        - `LiabilityAccountCode` string — liabilty account code
        - `Percentage` number, double — percentage for super line
        - `Amount` number, double — Super membership amount
      - `ReimbursementLines` ReimbursementLine[]
        - `ReimbursementTypeID` string, uuid — Xero reimbursement type identifier
        - `Amount` number, double — Reimbursement type amount
        - `Description` string — Reimbursement lines description (max length 50)
        - `ExpenseAccount` string — Reimbursement expense account. For posted pay run you should be able to see expense account code.
      - `LeaveLines` OpeningBalanceLeaveLine[]
        - `LeaveTypeID` string, uuid — Xero leave type identifier
        - `NumberOfUnits` number, double — Number of units for leave line.
      - `PaidLeaveEarningsLines` PaidLeaveEarningsLine[]
        - `LeaveTypeID` string, uuid, required — Xero leave type identifier
        - `Amount` number, double, required — Paid leave amount
        - `SGCAppliedLeaveLoadingAmount` number, double — The amount of leave loading applied for the leave type that is subject to Superannuation Guarantee Contributions. *Only applicable for Leave Types with Annual Leave Categories
        - `SGCExemptedLeaveLoadingAmount` number, double — The amount of leave loading applied for the leave type that is exempt from Superannuation Guarantee Contributions. *Only applicable for Leave Types with Annual Leave Categories
        - `ResetSTPCategorisation` boolean — Reset the STP categorisations for the leave type. *Only applicable for Leave Types with Annual Leave Categories
    - `TaxDeclaration` TaxDeclaration
      - `EmployeeID` string, uuid — Address line 1 for employee home address
      - `EmploymentBasis` 'FULLTIME' | 'PARTTIME' | 'CASUAL' | 'LABOURHIRE' | 'SUPERINCOMESTREAM' | 'NONEMPLOYEE'
      - `TFNExemptionType` 'NOTQUOTED' | 'PENDING' | 'PENSIONER' | 'UNDER18'
      - `TaxFileNumber` string — The tax file number e.g 123123123.
      - `ABN` string — 11-digit Australian Business Number e.g 21006819692 or an empty string ("") to unset a previously set value. Only applicable, and mandatory if income type is NONEMPLOYEE.
      - `AustralianResidentForTaxPurposes` boolean — If the employee is Australian resident for tax purposes. e.g true or false
      - `ResidencyStatus` 'AUSTRALIANRESIDENT' | 'FOREIGNRESIDENT' | 'WORKINGHOLIDAYMAKER'
      - `TaxScaleType` 'REGULAR' | 'ACTORSARTISTSENTERTAINERS' | 'HORTICULTURISTORSHEARER' | 'SENIORORPENSIONER' | 'WORKINGHOLIDAYMAKER' | 'FOREIGN'
      - `WorkCondition` 'PROMOTIONAL' | 'THREELESSPERFORMANCESPERWEEK' | 'NONE'
      - `SeniorMaritalStatus` 'MEMBEROFCOUPLE' | 'MEMBEROFILLNESSSEPARATEDCOUPLE' | 'SINGLE'
      - `TaxFreeThresholdClaimed` boolean — If tax free threshold claimed. e.g true or false
      - `TaxOffsetEstimatedAmount` number — If has tax offset estimated then the tax offset estimated amount. e.g 100
      - `HasHELPDebt` boolean — If employee has HECS or HELP debt. e.g true or false
      - `HasSFSSDebt` boolean — If employee has financial supplement debt. e.g true or false
      - `HasTradeSupportLoanDebt` boolean — If employee has trade support loan. e.g true or false
      - `UpwardVariationTaxWithholdingAmount` number — If the employee has requested that additional tax be withheld each pay run. e.g 50
      - `EligibleToReceiveLeaveLoading` boolean — If the employee is eligible to receive an additional percentage on top of ordinary earnings when they take leave (typically 17.5%). e.g true or false
      - `ApprovedWithholdingVariationPercentage` number — If the employee has approved withholding variation. e.g (0 - 100)
      - `HasStudentStartupLoan` boolean — If the employee is eligible for student startup loan rules
      - `HasLoanOrStudentDebt` boolean — If the employee has any of the following loans or debts: Higher Education Loan Program (HELP/HECS), VET Student Loan (VSL), Financial Supplement (FS), Student Start-up Loan (SSL), or Trade Support Loan (TSL)
      - `UpdatedDateUTC` string — Last modified timestamp
      - `IncludeLeaveLoadingInQualifyingEarnings` boolean — Boolean to determine if leave loading is considered as qualifying earnings for superannuation guarantee calculations. Required when IncludeLeaveLoadingInSGC is specified in the payload
    - `IncomeType` 'SALARYANDWAGES' | 'WORKINGHOLIDAYMAKER' | 'NONEMPLOYEE' | 'CLOSELYHELDPAYEES' | 'LABOURHIRE'
    - `EmploymentType` 'EMPLOYEE' | 'CONTRACTOR'
    - `CountryOfResidence` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'AN' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW' | 'BQ' | 'CW' | 'SX' | 'SS' — Country of residence as a valid ISO 3166-1 alpha-2 country code e.g. "AU", "NZ", "CA". Only applicable, and mandatory if income type is WORKINGHOLIDAYMAKER.
    - `IsSTP2Qualified` boolean — Indicates if the employee has been updated for STP Phase 2 compliance. Doesn't indicate that the employee is payable.
    - `LeaveBalances` LeaveBalance[]
      - `LeaveName` string — The name of the leave type
      - `LeaveTypeID` string — Identifier of the leave type (see PayItems)
      - `NumberOfUnits` number, double — The balance of the leave available
      - `TypeOfUnits` string — The type of units as specified by the LeaveType (see PayItems)
    - `SuperMemberships` SuperMembership[]
      - `SuperMembershipID` string, uuid — Xero unique identifier for Super membership
      - `SuperFundID` string, uuid, required — Xero identifier for super fund
      - `EmployeeNumber` string, required — The membership number assigned to the employee by the super fund.
    - `Status` 'ACTIVE' | 'TERMINATED' — Employee Status Types
    - `UpdatedDateUTC` string — Last modified timestamp
    - `ValidationErrors` ValidationError[] — Displays array of validation error messages from the API
      - `Message` string — Validation error message

## Other responses

- `400` — invalid input, object invalid - TODO

---

[API](https://skmtc.net/xeroapi/apis/xero-payroll-au-api.md) · [All operations](https://skmtc.net/xeroapi/apis/xero-payroll-au-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xeroapi/xero-payroll-au-api/versions/35651d98854e/schema)
