---
title: "Updates a payslip"
method: POST
path: "/Payslip/{PayslipID}"
tags: ["PayrollAu"]
---

# Updates a payslip

`POST /Payslip/{PayslipID}`

Update lines on a single payslips

## Path parameters

- `PayslipID` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- PayslipLines[]
  - `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
  - `LeaveEarningsLines` LeaveEarningsLine[]
    - `EarningsRateID` string, uuid — Xero identifier
    - `RatePerUnit` number, double — Rate per unit of the EarningsLine.
    - `NumberOfUnits` number, double — Earnings rate number of units.
    - `PayOutType` 'DEFAULT' | 'CASHED_OUT' — How the requested leave will be paid out, e.g. cashed out.
  - `TimesheetEarningsLines` 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
  - `LeaveAccrualLines` LeaveAccrualLine[]
    - `LeaveTypeID` string, uuid — Xero identifier for the Leave type.
    - `NumberOfUnits` number, double — Leave Accrual number of units
    - `AutoCalculate` boolean — If you want to auto calculate leave.
  - `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.
  - `SuperannuationLines` SuperannuationLine[]
    - `SuperMembershipID` string, uuid — Xero identifier for payroll super fund membership ID.
    - `ContributionType` 'SGC' | 'SALARYSACRIFICE' | 'EMPLOYERADDITIONAL' | 'EMPLOYEE'
    - `CalculationType` 'FIXEDAMOUNT' | 'PERCENTAGEOFEARNINGS' | 'STATUTORY'
    - `MinimumMonthlyEarnings` number, double — Superannuation minimum monthly earnings.
    - `ExpenseAccountCode` string — Superannuation expense account code.
    - `LiabilityAccountCode` string — Superannuation liability account code
    - `PaymentDateForThisPeriod` string — Superannuation payment date for the current period (YYYY-MM-DD)
    - `Percentage` number, double — Superannuation percentage
    - `Amount` number, double — Superannuation amount
  - `TaxLines` TaxLine[]
    - `PayslipTaxLineID` string, uuid — Xero identifier for payslip tax line ID.
    - `Amount` number, double — The tax line amount
    - `TaxTypeName` string — Name of the tax type.
    - `Description` string — Description of the tax line.
    - `ManualTaxType` 'PAYGMANUAL' | 'ETPOMANUAL' | 'ETPRMANUAL' | 'SCHEDULE5MANUAL' | 'SCHEDULE5STSLMANUAL' | 'SCHEDULE4MANUAL'
    - `LiabilityAccount` string — The tax line liability account code. For posted pay run you should be able to see liability account code

## Response `200`

A successful request - currently returns empty array for JSON

- Payslips
  - `Payslips` Payslip[]
    - `EmployeeID` string, uuid — The Xero identifier for an employee
    - `PayslipID` string, uuid — Xero identifier for the payslip
    - `FirstName` string — First name of employee
    - `LastName` string — Last name of employee
    - `Wages` number, double — The Wages for the Payslip
    - `Deductions` number, double — The Deductions for the Payslip
    - `Tax` number, double — The Tax for the Payslip
    - `Super` number, double — The Super for the Payslip
    - `Reimbursements` number, double — The Reimbursements for the Payslip
    - `NetPay` number, double — The NetPay for the Payslip
    - `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
    - `LeaveEarningsLines` LeaveEarningsLine[]
      - `EarningsRateID` string, uuid — Xero identifier
      - `RatePerUnit` number, double — Rate per unit of the EarningsLine.
      - `NumberOfUnits` number, double — Earnings rate number of units.
      - `PayOutType` 'DEFAULT' | 'CASHED_OUT' — How the requested leave will be paid out, e.g. cashed out.
    - `TimesheetEarningsLines` 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
    - `LeaveAccrualLines` LeaveAccrualLine[]
      - `LeaveTypeID` string, uuid — Xero identifier for the Leave type.
      - `NumberOfUnits` number, double — Leave Accrual number of units
      - `AutoCalculate` boolean — If you want to auto calculate leave.
    - `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.
    - `SuperannuationLines` SuperannuationLine[]
      - `SuperMembershipID` string, uuid — Xero identifier for payroll super fund membership ID.
      - `ContributionType` 'SGC' | 'SALARYSACRIFICE' | 'EMPLOYERADDITIONAL' | 'EMPLOYEE'
      - `CalculationType` 'FIXEDAMOUNT' | 'PERCENTAGEOFEARNINGS' | 'STATUTORY'
      - `MinimumMonthlyEarnings` number, double — Superannuation minimum monthly earnings.
      - `ExpenseAccountCode` string — Superannuation expense account code.
      - `LiabilityAccountCode` string — Superannuation liability account code
      - `PaymentDateForThisPeriod` string — Superannuation payment date for the current period (YYYY-MM-DD)
      - `Percentage` number, double — Superannuation percentage
      - `Amount` number, double — Superannuation amount
    - `TaxLines` TaxLine[]
      - `PayslipTaxLineID` string, uuid — Xero identifier for payslip tax line ID.
      - `Amount` number, double — The tax line amount
      - `TaxTypeName` string — Name of the tax type.
      - `Description` string — Description of the tax line.
      - `ManualTaxType` 'PAYGMANUAL' | 'ETPOMANUAL' | 'ETPRMANUAL' | 'SCHEDULE5MANUAL' | 'SCHEDULE5STSLMANUAL' | 'SCHEDULE4MANUAL'
      - `LiabilityAccount` string — The tax line liability account code. For posted pay run you should be able to see liability account code
    - `UpdatedDateUTC` string — Last modified timestamp

---

[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/revisions/874077d6f401/schema)
