{"name":"PayCreate","resolved":true,"schema":{"properties":{"employee_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Id","description":"The internal Lightning Payroll (LP) unique ID for the employee. Use this if `identifier_type=employee_id`.","examples":[1234],"example":1234},"employee_number":{"anyOf":[{"type":"string","maxLength":32,"minLength":0},{"type":"null"}],"title":"Employee Number","description":"The external user-controlled employee number. Required only if `identifier_type=employee_number`. Must be unique across ALL companies.","examples":["EMP001"],"example":"EMP001"},"hours":{"items":{"properties":{"description":{"type":"string","maxLength":60,"minLength":1,"title":"Description","description":"A brief description of the pay hours.","examples":["Regular Hours, KMs, Overtime, Saturday, etc."],"example":"Regular Hours, KMs, Overtime, Saturday, etc."},"rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate","description":"The dollar amount per unit for the pay hours row, such as hourly rate, per kilometre rate, etc. Provide either `rate` or `multiplier`.","examples":["30.00"],"example":"30.00"},"multiplier":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Multiplier","description":"Alternative to `rate`. Multiplies the employee's pay_rate_per_hour (e.g., 1.5 for time-and-a-half, 2.0 for double time). Mutually exclusive with `rate` - supply one or the other, never both."},"rate_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rate Reference","description":"Optional stable pay-rate reference from `GET /api/employees/{employee_id}/pay-rates` (for example `system:ordinary_time`, `employee:42`, `company:73`). Use as an alternative to sending a raw `rate`.","examples":["company:73"],"example":"company:73"},"rate_description":{"anyOf":[{"type":"string","maxLength":60,"minLength":0},{"type":"null"}],"title":"Rate Description","description":"Optional pay-rate description to resolve a rate by description for this employee. Use when you do not send `rate`. If multiple rates share the same description, the API will return a validation error and require `rate_reference`.","examples":["Ordinary Time"],"example":"Ordinary Time"},"units":{"type":"string","maxLength":32,"minLength":0,"title":"Units","description":"The type of units for the pay hours row, such as hours, kilometres, buckets, etc.","examples":["hours"],"example":"hours"},"is_overtime":{"type":"boolean","title":"Is Overtime","description":"Indicates whether the hours are overtime hours, which affects super guarantee calculations.","default":false,"examples":[false],"example":false},"value":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Value","description":"The number of units for the pay hours row, such as hours worked, kilometres driven, etc.","examples":["37.5"],"example":"37.5"}},"type":"object","required":["description","units","value"],"title":"PayHours"},"type":"array","title":"Hours","description":"Optional list of pay hour items (may be empty), including description, rate, multiplier, or pay-rate mapping keys (`rate_reference` / `rate_description`), units, overtime status, and value.","examples":[[{"description":"Ordinary Time","is_overtime":false,"rate":"30.00","units":"hours","value":"37.5"},{"description":"Saturday Overtime","is_overtime":true,"multiplier":"1.5","units":"hours","value":"5.0"},{"description":"Ordinary Time","rate_reference":"system:ordinary_time","units":"hours","value":"7.6"}]],"example":[{"description":"Ordinary Time","is_overtime":false,"rate":"30.00","units":"hours","value":"37.5"},{"description":"Saturday Overtime","is_overtime":true,"multiplier":"1.5","units":"hours","value":"5.0"},{"description":"Ordinary Time","rate_reference":"system:ordinary_time","units":"hours","value":"7.6"}]},"leave":{"items":{"properties":{"description":{"type":"string","maxLength":60,"minLength":1,"title":"Description","description":"A brief description of the leave.","examples":["Annual Leave"],"example":"Annual Leave"},"leave_type":{"type":"string","title":"Leave Type","description":"A short identifier for the type of leave. Provide the code with underscores (e.g., ALT_HOLIDAY, ANCILLARY, ANNUAL_HOLIDAYS, COMPASSIONATE, EMPLOYER_FUNDED_PAID_PARENTAL, HOLIDAY, LONG_SERVICE, NZ_ACC_WORKERS_COMP, NZ_BEREAVEMENT, NZ_DEFENCE_FORCE, NZ_EMPLOYMENT_RELATIONS_EDUCATION, NZ_FAMILY_VIOLENCE, NZ_JURY_SERVICE, NZ_TIME_OFF_TO_VOTE, OTHER, PAID_PARENTAL, PAID_PUBLIC_HOLIDAY, SICK, UNPAID, WORKERS_COMP).","examples":["HOLIDAY"],"example":"HOLIDAY"},"rate":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Rate","description":"The dollar amount per unit for this leave (e.g., hourly rate). Optional if using `multiplier` or to default to the employee's pay_rate_per_hour.","examples":["38.00"],"example":"38.00"},"multiplier":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Multiplier","description":"Alternative to `rate`. Multiplies the employee's pay_rate_per_hour (e.g., 1.0 for base rate, 1.5 for time-and-a-half). Mutually exclusive with `rate` - supply one or the other, never both."},"date":{"type":"string","title":"Date","description":"The date of the leave.","examples":["2023-01-01"],"example":"2023-01-01"},"hours":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Hours","description":"The number of hours leave taken.","examples":["7.6"],"example":"7.6"},"leave_loading_amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Leave Loading Amount","description":"The dollar amount of leave loading, if applicable.","examples":["3.80"],"example":"3.80"}},"additionalProperties":false,"type":"object","required":["description","leave_type","date","hours"],"title":"Leave"},"type":"array","title":"Leave","description":"Optional list of leave items (may be empty), including description, leave type, rate/multiplier, hours, date, and optional leave loading amount. `rate` is optional; when omitted the employee's pay_rate_per_hour is used.","examples":[[{"date":"2023-01-01","description":"Annual Leave","hours":"7.6","leave_loading_amount":"3.80","leave_type":"HOLIDAY","multiplier":"1.0"}]],"example":[{"date":"2023-01-01","description":"Annual Leave","hours":"7.6","leave_loading_amount":"3.80","leave_type":"HOLIDAY","multiplier":"1.0"}]},"pay_department":{"anyOf":[{"type":"string","maxLength":32,"minLength":0},{"type":"null"}],"title":"Pay Department","description":"Department/Cost-centre name or code to be applied to all items in this entire pay. ","examples":["Engineering"],"example":"Engineering"},"allowances":{"anyOf":[{"items":{"properties":{"description":{"type":"string","maxLength":60,"minLength":1,"title":"Description","description":"A brief description of the allowance.\nRequired when creating or matching an allowance.","examples":["Tool Allowance"],"example":"Tool Allowance"},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount","description":"The dollar amount for ONE unit of the allowance (shown as 'Amount p/unit' in Lightning Payroll).\nWith `units` omitted or set to 1 this is simply the total for the line.\nRequired when creating a new allowance (or if no allowance matches the description). May be omitted when reusing an existing allowance matched by description.","examples":["5.00"],"example":"5.00"},"units":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Units","description":"How many units of the allowance to pay. Defaults to 1 when omitted, and must be greater than 0.\nThis is a NUMERIC QUANTITY, not a unit-of-measure label: do not confuse it with the `units` field on an hours row, which is text such as 'hours'.\nThree laundry allowances at $5.00 each is `amount` 5.00 with `units` 3, for a `total_amount` of 15.00. A flat $15.00 is `amount` 15.00 with `units` omitted.\nQuantities below 1 do not scale the amount down; Lightning Payroll only multiplies when `units` is greater than 1.","default":1.0,"examples":["3"],"example":"3"},"total_amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Amount","description":"READ-ONLY. The line total (`amount` * `units`), rounded to 2 decimal places. Returned on pay responses and ignored if you send it.\nEach line is rounded on its own, so with a per-unit rate carrying more than 2 decimal places these line totals can differ by a cent from the pay's own allowance total, which Lightning Payroll sums first and rounds once.","examples":["15.00"],"example":"15.00"},"allowance_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Allowance Category","description":"Required allowance category code (e.g. 'TD' for Tools). Only codes are accepted. Codes are required when creating a new allowance; you may omit this when reusing an existing allowance that already has a code. Codes: AD, CD, KN, LD, MD, OD, QN, RD, TD. (Labels for reference: Cents per KM, Award Transport, Laundry, Overtime Meals, Domestic & Overseas Travel/Accommodation, Tools, Tasks, Qualifications/Certificates, Other)","examples":["TD"],"example":"TD"},"is_taxable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Taxable","description":"Whether the allowance is taxable.\n- Defaults to True when creating a new employee allowance.\n","examples":[true],"example":true},"is_itemised":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Itemised","description":"Whether the allowance is itemised on the pay.\n- Defaults to False when creating a new employee allowance.\n","examples":[false],"example":false},"is_included_in_super_calculations":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Included In Super Calculations","description":"Whether this allowance is included in superannuation calculations.\n- Defaults to True when creating a new employee allowance.\n","examples":[true],"example":true}},"additionalProperties":false,"type":"object","required":["description"],"title":"PayAllowance"},"type":"array"},{"type":"null"}],"title":"Allowances","description":"A list of allowances to be included in the pay.\n\nUsage rules:\n- IDs are not accepted; providing an `id` will raise a 400 Bad Request because it's a forbidden field. Match allowances by `description` instead.\n- The API will attempt to find an existing allowance for the employee with the same `description`.\n  - If a match is found, that allowance will be reused and creation-only required fields can be omitted (e.g. `amount`, `allowance_category`—existing values are reused).\n  - If no match is found, a NEW allowance will be created for this employee. In this case, `description`, `amount` and `allowance_category` (code) are REQUIRED.\n    • `allowance_category` must be one of the codes: AD, CD, KN, LD, MD, OD, QN, RD, TD (labels for reference: Cents per KM, Award Transport, Laundry, Overtime Meals, Domestic & Overseas Travel/Accommodation, Tools, Tasks, Qualifications/Certificates, Other). Only codes are accepted for new allowances.     • `is_taxable` defaults to True if not supplied.\n    • `is_itemised` defaults to False if not supplied.\n    • `is_included_in_super_calculations` defaults to True if not supplied.\n- `amount` is the PER-UNIT rate and `units` is the quantity (default 1). Three laundry allowances at $5.00 each is `amount` 5.00 with `units` 3, giving a 15.00 line total; a flat $15.00 is `amount` 15.00 with `units` omitted.\n- `total_amount` is read-only. It is returned on pay responses and ignored if you send it.","examples":[[{"allowance_category":"TD","amount":"50.00","description":"Tool Allowance"},{"allowance_category":"LD","amount":"5.00","description":"Laundry Allowance","units":"3"},{"allowance_category":"RD","amount":"200.00","description":"Car Allowance","is_included_in_super_calculations":false,"is_itemised":true,"is_taxable":true}]],"example":[{"allowance_category":"TD","amount":"50.00","description":"Tool Allowance"},{"allowance_category":"LD","amount":"5.00","description":"Laundry Allowance","units":"3"},{"allowance_category":"RD","amount":"200.00","description":"Car Allowance","is_included_in_super_calculations":false,"is_itemised":true,"is_taxable":true}]},"deductions":{"anyOf":[{"items":{"properties":{"description":{"type":"string","maxLength":60,"minLength":1,"title":"Description","description":"A brief description of the deduction.\nRequired when creating or matching a deduction.","examples":["Union Fees"],"example":"Union Fees"},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount","description":"The dollar amount for the deduction.\nRequired when creating a new deduction (or if no deduction matches the description). May be omitted when reusing an existing deduction matched by description.","examples":["25.00"],"example":"25.00"},"classification":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classification","description":"Deduction classification code (use underscores). Codes are required when creating a new deduction; you may omit when reusing an existing deduction. Codes: CHARITY, CHILD_SUPPORT_DEDUCTION, CHILD_SUPPORT_GARNISHEE, NORMAL, UNION_FEES.","examples":["UNION_FEES"],"example":"UNION_FEES"},"is_included_in_super_calculations":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Included In Super Calculations","description":"Whether this deduction affects superannuation calculations.\n- Defaults to True when creating a new deduction.\n","examples":[false],"example":false}},"additionalProperties":false,"type":"object","required":["description"],"title":"PayDeduction"},"type":"array"},{"type":"null"}],"title":"Deductions","description":"A list of deductions to be included in the pay.\n\nUsage rules:\n- IDs are not accepted; providing an `id` will raise a 400 Bad Request because it's a forbidden field. Match deductions by `description` instead.\n- The API will attempt to find an existing deduction for the employee with the same `description`.\n  - If a match is found, that deduction will be reused and creation-only required fields can be omitted (e.g. `amount`, `classification`—existing values are reused).\n  - If no match is found, a NEW deduction will be created for this employee. In this case, `description`, `amount`, and `classification` (code) are REQUIRED.\n    • `classification` must be one of: CHARITY, CHILD_SUPPORT_DEDUCTION, CHILD_SUPPORT_GARNISHEE, NORMAL, UNION_FEES. Only codes are accepted for new deductions.\n    • `is_included_in_super_calculations` defaults to True if not supplied.\n- OMIT this field and the employee's standing deductions are applied for you, exactly as they are when Lightning Payroll creates the pay: every deduction the customer set to auto apply, priced off this pay's gross or net where the deduction is a percentage, and capped by any limit set on it. That is how union fees and child support keep coming out of a pay created here.\n- SEND a list to own this pay's deductions instead, and nothing is copied. Send `[]` for a pay that is to have no deductions at all.","examples":[[{"amount":"25.00","classification":"UNION_FEES","description":"Union Fees"},{"amount":"100.00","classification":"NORMAL","description":"Health Insurance","is_included_in_super_calculations":false}]],"example":[{"amount":"25.00","classification":"UNION_FEES","description":"Union Fees"},{"amount":"100.00","classification":"NORMAL","description":"Health Insurance","is_included_in_super_calculations":false}]},"bonuses":{"anyOf":[{"items":{"properties":{"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount","description":"The dollar amount for the bonus.\nRequired when creating a new bonus (or if no bonus matches the description). May be omitted when reusing an existing bonus matched by description.","examples":["100.00"],"example":"100.00"},"description":{"type":"string","maxLength":60,"minLength":1,"title":"Description","description":"A brief description of the bonus.\nRequired when creating or matching a bonus.","examples":["Performance Bonus"],"example":"Performance Bonus"},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"The start date for the bonus period. Required when tax_method uses a specific date range.","examples":["2023-01-01"],"example":"2023-01-01"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date","description":"The end date for the bonus period. Required when tax_method uses a specific date range.","examples":["2023-01-31"],"example":"2023-01-31"},"is_included_in_super_calculations":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Included In Super Calculations","description":"Whether this bonus is included in superannuation calculations.\n- Defaults to True when creating a new employee bonus.\n","examples":[true],"example":true},"is_directors_fees":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Directors Fees","description":"Indicates if the bonus is for director's fees.","examples":[false],"example":false},"is_return_to_work":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Return To Work","description":"Indicates if the bonus is a return to work bonus.","examples":[false],"example":false},"is_nz_ess":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Nz Ess","description":"Whether this bonus is an NZ employee share scheme amount. NZ only.","examples":[false],"example":false},"is_nz_ess_cash_settled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Nz Ess Cash Settled","description":"Whether the NZ ESS amount is cash settled. NZ only.","examples":[false],"example":false},"withhold_paye":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Withhold Paye","description":"Whether PAYE should be withheld for this NZ bonus. NZ only.","examples":[true],"example":true},"tax_as_nz_extra_pay":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tax As Nz Extra Pay","description":"Whether to tax this bonus as NZ extra pay. NZ only.","examples":[false],"example":false},"is_nz_discretionary":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Nz Discretionary","description":"Whether this NZ bonus is discretionary and excluded from holiday pay gross earnings. NZ only.","examples":[false],"example":false},"tax_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Method","description":"The tax calculation method for the bonus. Provide the *code* (e.g. 'NORMAL_EARNINGS'); docs display the readable labels. Allowed codes with labels: NORMAL_EARNINGS = As normal earnings; SPREAD_OVER_SPECIFIC_RANGE = Use date range; SPREAD_OVER_FINANCIAL_YEAR = Over this financial year; METHOD_A_WHOLE_YEAR = Method A (Whole Year); METHOD_A_SPECIFIC_RANGE = Method A (Use Date Range); METHOD_B1 = Method B(i)(Use Date Range); METHOD_B2 = Method B(ii)(Whole Year).","examples":["NORMAL_EARNINGS"],"example":"NORMAL_EARNINGS"}},"additionalProperties":false,"type":"object","required":["description"],"title":"PayBonus"},"type":"array"},{"type":"null"}],"title":"Bonuses","description":"A list of bonuses to be included in the pay.\n\nUsage rules:\n- IDs are not accepted; providing an `id` will raise a 400 Bad Request because it's a forbidden field. Match bonuses by `description` instead.\n- The API will attempt to find an existing bonus for the employee with the same `description`.\n  - If a match is found, that bonus will be reused and creation-only required fields can be omitted (e.g. `amount`, `tax_method`, and any range dates—existing values are reused).\n  - If no match is found, a NEW bonus will be created for this employee. In this case, `description`, `amount`, and `tax_method` are REQUIRED.\n    • `tax_method` must be one of: NORMAL_EARNINGS = As normal earnings; SPREAD_OVER_SPECIFIC_RANGE = Use date range; SPREAD_OVER_FINANCIAL_YEAR = Over this financial year; METHOD_A_WHOLE_YEAR = Method A (Whole Year); METHOD_A_SPECIFIC_RANGE = Method A (Use Date Range); METHOD_B1 = Method B(i)(Use Date Range); METHOD_B2 = Method B(ii)(Whole Year) (send the *code*, docs show the labels). Defaults to 'NORMAL_EARNINGS' if not supplied.\n    • If `tax_method` is a date-range method, `start_date` and `end_date` are REQUIRED.\n    • `is_included_in_super_calculations` defaults to True if not supplied.\n    • `is_directors_fees` defaults to False if not supplied.\n    • `is_return_to_work` defaults to False if not supplied.","examples":[[{"amount":"500.00","description":"Performance Bonus","tax_method":"NORMAL_EARNINGS"},{"amount":"1000.00","description":"Director's Fee","end_date":"2023-01-31","is_directors_fees":true,"is_included_in_super_calculations":false,"is_return_to_work":false,"start_date":"2023-01-01","tax_method":"SPREAD_OVER_SPECIFIC_RANGE"}]],"example":[{"amount":"500.00","description":"Performance Bonus","tax_method":"NORMAL_EARNINGS"},{"amount":"1000.00","description":"Director's Fee","end_date":"2023-01-31","is_directors_fees":true,"is_included_in_super_calculations":false,"is_return_to_work":false,"start_date":"2023-01-01","tax_method":"SPREAD_OVER_SPECIFIC_RANGE"}]},"pay_sacrifices":{"anyOf":[{"items":{"properties":{"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount","description":"The dollar amount for the pay sacrifice.\nRequired when creating a new pay sacrifice (or if no pay sacrifice matches the description). May be omitted when reusing an existing pay sacrifice matched by description.","examples":["150.00"],"example":"150.00"},"description":{"type":"string","maxLength":60,"minLength":1,"title":"Description","description":"A brief description of the pay sacrifice.\nRequired when creating or matching a pay sacrifice.","examples":["Salary Sacrifice for Car"],"example":"Salary Sacrifice for Car"},"is_included_in_super_calculations":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Included In Super Calculations","description":"Whether this pay sacrifice is included in superannuation calculations.\n- Defaults to True when creating a new employee pay sacrifice.\n","examples":[true],"example":true},"is_super":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Super","description":"Indicates if the pay sacrifice is for superannuation.","examples":[true],"example":true}},"additionalProperties":false,"type":"object","required":["description"],"title":"PaySacrifice"},"type":"array"},{"type":"null"}],"title":"Pay Sacrifices","description":"A list of pay sacrifices to be included in the pay.\n\nUsage rules:\n- IDs are not accepted; providing an `id` will raise a 400 Bad Request because it's a forbidden field. Match pay sacrifices by `description` instead.\n- The API will attempt to find an existing pay sacrifice for the employee with the same `description`.\n  - If a match is found, that pay sacrifice will be reused and creation-only required fields can be omitted (e.g. `amount`—existing values are reused).\n  - If no match is found, a NEW pay sacrifice will be created for this employee. In this case,    `description` and `amount` are REQUIRED.\n    • `is_included_in_super_calculations` defaults to True if not supplied.\n    • `is_super` defaults to True if not supplied.\n- OMIT this field and the employee's standing salary sacrifices are applied for you, exactly as they are when Lightning Payroll creates the pay, priced off this pay's gross where the sacrifice is a percentage, and they reduce the taxable gross and feed RESC as usual.\n- SEND a list to own this pay's salary sacrifices instead, and nothing is copied. Send `[]` for a pay that is to have none.","examples":[[{"description":"Laptop Salary Sacrifice"},{"amount":"300.00","description":"Car Salary Sacrifice","is_included_in_super_calculations":false,"is_super":true}]],"example":[{"description":"Laptop Salary Sacrifice"},{"amount":"300.00","description":"Car Salary Sacrifice","is_included_in_super_calculations":false,"is_super":true}]},"back_payments":{"anyOf":[{"items":{"properties":{"description":{"type":"string","maxLength":60,"minLength":1,"title":"Description","description":"A brief description of the back payment. Required when creating a new back payment.","examples":["Back Pay Adjustment"],"example":"Back Pay Adjustment"},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount","description":"The dollar amount for the back payment. Required when creating a new back payment.","examples":["200.00"],"example":"200.00"},"stp_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stp Category","description":"The back payment category code (use underscores). Codes are required when creating a new back payment. Codes: BONUS_COMMISSION_NON_DIRECTOR_S_FEES, DIRECTOR_S_FEES, GROSS, ITEMISED_ALLOWANCESAD, ITEMISED_ALLOWANCESCD, ITEMISED_ALLOWANCESKN, ITEMISED_ALLOWANCESLD, ITEMISED_ALLOWANCESMD, ITEMISED_ALLOWANCESOD, ITEMISED_ALLOWANCESQN, ITEMISED_ALLOWANCESRD, ITEMISED_ALLOWANCESTD, LEAVEA, LEAVEC, LEAVEO, LEAVEP, LEAVEU, LEAVEW, OVERTIME, UNCLASSIFIED.","examples":["GROSS"],"example":"GROSS"},"tax_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Method","description":"The tax method applied to the back payment.Required when creating a new back payment.Allowed codes with labels: NORMAL_EARNINGS = As normal earnings; SPREAD_OVER_SPECIFIC_RANGE = Use date range; SPREAD_OVER_FINANCIAL_YEAR = Over this financial year; METHOD_A_WHOLE_YEAR = Method A (Whole Year); METHOD_A_SPECIFIC_RANGE = Method A (Use Date Range); METHOD_B1 = Method B(i)(Use Date Range); METHOD_B2 = Method B(ii)(Whole Year).","examples":["NORMAL_EARNINGS"],"example":"NORMAL_EARNINGS"},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"The start date for the back payment period.","examples":["2023-01-01"],"example":"2023-01-01"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date","description":"The end date for the back payment period.","examples":["2023-01-31"],"example":"2023-01-31"}},"additionalProperties":false,"type":"object","required":["description","amount"],"title":"BackPayments"},"type":"array"},{"type":"null"}],"title":"Back Payments","description":"A list of back payments to be included in the pay.\n\nUsage rules:\n- IDs are not accepted; providing an `id` will raise a 400 Bad Request because it's a forbidden field. Match back payments by `description` and `amount` instead.\n- The API will attempt to find an existing back payment for the employee with the same `description` and `amount`.\n  - If a match is found, that back payment will be reused.\n  - If no match is found, a NEW back payment will be created for this employee. In this case, `description`, `amount`, and `stp_category` (code, underscored) are REQUIRED.\n    • `stp_category` must be one of: BONUS_COMMISSION_NON_DIRECTOR_S_FEES, DIRECTOR_S_FEES, GROSS, ITEMISED_ALLOWANCESAD, ITEMISED_ALLOWANCESCD, ITEMISED_ALLOWANCESKN, ITEMISED_ALLOWANCESLD, ITEMISED_ALLOWANCESMD, ITEMISED_ALLOWANCESOD, ITEMISED_ALLOWANCESQN, ITEMISED_ALLOWANCESRD, ITEMISED_ALLOWANCESTD, LEAVEA, LEAVEC, LEAVEO, LEAVEP, LEAVEU, LEAVEW, OVERTIME, UNCLASSIFIED. Only codes are accepted for new back payments.\n    • `tax_method`, `start_date`, and `end_date` are optional.","examples":[[{"amount":"200.00","description":"Back Pay Adjustment","end_date":"2023-01-31","start_date":"2023-01-01","stp_category":"GROSS","tax_method":"NORMAL_EARNINGS"}]],"example":[{"amount":"200.00","description":"Back Pay Adjustment","end_date":"2023-01-31","start_date":"2023-01-01","stp_category":"GROSS","tax_method":"NORMAL_EARNINGS"}]},"termination":{"anyOf":[{"properties":{"termination_date":{"type":"string","format":"date","title":"Termination Date","description":"The last day of employment, `YYYY-MM-DD`. Must be on or after the employee's `start_date`. In New Zealand this is the employment finish date, and every leave balance is valued as at this date.","examples":["2026-09-11"],"example":"2026-09-11"},"is_manual_leave_amounts":{"type":"boolean","title":"Is Manual Leave Amounts","description":"Set to `true` to supply the unused-leave payout amounts yourself instead of having Lightning Payroll work them out from the employee's balances. This is the API equivalent of 'Show Advanced Settings' in the Australian termination wizard and 'Enter leave amounts manually' on the New Zealand employment finish screen.\n\nLeave it `false` and Lightning Payroll calculates the payouts, which is almost always what you want. The fields listed as manual only are refused while this is `false`, because they would be recalculated over the top before the pay was written.","default":false,"examples":[false],"example":false},"reason":{"type":"string","enum":["TERMINATION","INVALIDITY","DEATH_DEPENDENT","DEATH_NON_DEPENDENT","DEATH_ESTATE","REDUNDANCY"],"title":"Reason","description":"Why employment ended, for tax purposes. Australia only.\n\n`TERMINATION` an ordinary termination; `INVALIDITY` the employee can no longer work through ill health; `DEATH_DEPENDENT`, `DEATH_NON_DEPENDENT`, `DEATH_ESTATE` death of the employee with benefits paid to a dependant, a non-dependant or the estate; `REDUNDANCY` a genuine redundancy or early retirement scheme.\n\nThis drives the ETP tax treatment and the Lump Sum A type, and it sets the STP cessation type for every reason except `TERMINATION`.","default":"TERMINATION","examples":["TERMINATION"],"example":"TERMINATION"},"cessation_type_code":{"anyOf":[{"type":"string","enum":["V","F","C","T"]},{"type":"null"}],"title":"Cessation Type Code","description":"STP cessation type. Australia only, and only accepted when `reason` is `TERMINATION` -- every other reason determines the code itself (`I` ill health, `D` deceased, `R` redundancy), and sending one alongside it is refused rather than ignored.\n\n`V` voluntary cessation (resignation or retirement by the employee), `F` dismissal, `C` contract cessation, `T` transfer to another business, employer or payroll system. Defaults to `V`.","examples":["V"],"example":"V"},"is_payment_in_lieu_paid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Payment In Lieu Paid","description":"Whether payment in lieu of notice is being paid.","examples":[false],"example":false},"payment_in_lieu_type":{"anyOf":[{"type":"string","enum":["NOTICE_HOURS","NOTICE_LUMP_SUM"]},{"type":"null"}],"title":"Payment In Lieu Type","description":"How the payment in lieu of notice is quantified. Australia only, and required when `is_payment_in_lieu_paid` is `true`.\n\n`NOTICE_HOURS` pays `notice_hours` at the employee's hourly rate; `NOTICE_LUMP_SUM` pays `notice_lump_sum` as entered.","examples":["NOTICE_HOURS"],"example":"NOTICE_HOURS"},"notice_hours":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Notice Hours","description":"Hours of notice being paid out, as a decimal number of hours. Australia only; required when `payment_in_lieu_type` is `NOTICE_HOURS`.","examples":["38.0"],"example":"38.0"},"notice_lump_sum":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Notice Lump Sum","description":"Payment in lieu of notice as a lump sum. Australia only; required when `payment_in_lieu_type` is `NOTICE_LUMP_SUM`.","examples":["2500.00"],"example":"2500.00"},"payment_in_lieu_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Payment In Lieu Amount","description":"Payment in lieu of notice. New Zealand only, where the amount is entered directly. In Australia this is calculated from `payment_in_lieu_type` and returned on the response.","examples":["2500.00"],"example":"2500.00"},"is_unused_holiday_paid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Unused Holiday Paid","description":"Pay out unused annual/holiday leave. Australia only.\n\nOmit it and Lightning Payroll decides exactly as the wizard does: on for an employee who is not a casual and has a leave balance remaining, off otherwise.","examples":[true],"example":true},"is_unused_leave_loading_paid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Unused Leave Loading Paid","description":"Pay out unused leave loading. Australia only. Omit it and Lightning Payroll turns it on when holiday leave is being paid out and the employee has a leave loading percentage.","examples":[true],"example":true},"is_unused_lsl_paid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Unused Lsl Paid","description":"Pay out unused long service leave. Australia only. Omit it and Lightning Payroll decides from the employee's length of service and the long service leave rules of the company's state.","examples":[false],"example":false},"is_unused_sick_paid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Unused Sick Paid","description":"Pay out unused sick/personal leave. Australia only, and off by default: unused sick leave is not ordinarily payable on termination. New Zealand never pays unused sick leave out.","examples":[false],"example":false},"redundancy_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Redundancy Amount","description":"Genuine redundancy or early retirement scheme payment. In New Zealand this is a redundancy payment, which is taxed as extra pay and is not liable for the ACC earners' levy or KiwiSaver.","examples":["0.00"],"example":"0.00"},"redundancy_tax_free_pilon_component":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Redundancy Tax Free Pilon Component","description":"The part of the payment in lieu of notice that forms part of the tax-free redundancy amount. Australia only, and only accepted when `reason` is `REDUNDANCY`. It changes the tax treatment rather than adding to the payout, and it may not exceed the payment in lieu of notice itself.","examples":["0.00"],"example":"0.00"},"non_etp_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Non Etp Amount","description":"In Australia, another payout amount that is not an employment termination payment.\n\nIn New Zealand this is the 'additional termination amount', and it is only accepted with `is_manual_leave_amounts` set: otherwise Lightning Payroll uses this field to hold the statutory 8% holiday pay owing since the employee's last anniversary and would overwrite whatever you sent.","examples":["0.00"],"example":"0.00"},"etp_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Etp Amount","description":"Another payout amount that IS an employment termination payment, such as an ex-gratia payment or golden handshake. Australia only.","examples":["0.00"],"example":"0.00"},"unused_holiday_amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unused Holiday Amount","description":"Unused annual/holiday leave payout. Manual only. In New Zealand this is the annual holidays payout, which Lightning Payroll otherwise values in weeks at the greater of average weekly earnings and ordinary weekly pay. A negative value is accepted only in New Zealand, where it represents leave taken in advance.","examples":["3800.00"],"example":"3800.00"},"unused_leave_loading_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unused Leave Loading Amount","description":"Unused leave loading payout. Australia only. Manual only.","examples":["665.00"],"example":"665.00"},"unused_alt_holiday_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unused Alt Holiday Amount","description":"Unused alternative holidays payout (Holidays Act 2003 s.61). New Zealand only. Manual only. Lightning Payroll otherwise values the balance in days at relevant daily pay.","examples":["480.00"],"example":"480.00"},"unused_sick_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unused Sick Amount","description":"Unused sick/personal leave payout. Australia only. Manual only.","examples":["0.00"],"example":"0.00"},"unused_lsl_pre_august_1978":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unused Lsl Pre August 1978","description":"Unused long service leave accrued before August 1978, which is taxed differently. Australia only. Manual only.","examples":["0.00"],"example":"0.00"},"unused_lsl_august_1978_to_august_1993":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unused Lsl August 1978 To August 1993","description":"Unused long service leave accrued between August 1978 and August 1993. Australia only. Manual only.","examples":["0.00"],"example":"0.00"},"unused_lsl_post_august_1993":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unused Lsl Post August 1993","description":"Unused long service leave accrued after August 1993. This is where Lightning Payroll puts the whole balance unless you split it. Australia only. Manual only.","examples":["0.00"],"example":"0.00"},"normal_earnings":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Normal Earnings","description":"The employee's normal earnings for one pay period, used to work out the whole-of-income cap on an ETP. Australia only. Manual only; Lightning Payroll otherwise takes it from the employee.","examples":["1900.00"],"example":"1900.00"},"tax_summaries":{"anyOf":[{"items":{"properties":{"etp_code":{"type":"string","enum":["R","O","S","P","D","B","N","T"],"title":"Etp Code","description":"ETP code. `R` redundancy/invalidity/early retirement, `O` other (ex-gratia, golden handshake), `S` split of a type R, `P` split of a type O, `D` death benefit to a dependant, `N` death benefit to a non-dependant, `B` split of a type N, `T` death benefit to the trustee of the estate.","examples":["O"],"example":"O"},"tax_withheld":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Tax Withheld","description":"Tax withheld from this ETP.","examples":["1500.00"],"example":"1500.00"},"taxable_component":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Taxable Component","description":"Taxable component of this ETP.","examples":["5000.00"],"example":"5000.00"},"tax_free_component":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Tax Free Component","description":"Tax-free component of this ETP.","examples":["0.00"],"example":"0.00"},"lump_sum_d":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Lump Sum D","description":"Lump Sum D: the tax-free part of a genuine redundancy.","examples":["0.00"],"example":"0.00"}},"additionalProperties":false,"type":"object","required":["etp_code"],"title":"TerminationTaxSummary","description":"One ETP tax summary row. Australia only.\n\nLightning Payroll builds these itself from the ETP tax tables. They are only\nwritable alongside `is_manual_leave_amounts`, mirroring the wizard's\nAdvanced ETP editor, and a payload that declares them replaces the whole set."},"type":"array"},{"type":"null"}],"title":"Tax Summaries","description":"Hand-entered ETP tax summaries, replacing the ones Lightning Payroll would calculate. Australia only. Manual only. Sending this replaces the whole set, so include every row you want kept.","examples":[[{"etp_code":"O","lump_sum_d":"0.00","tax_free_component":"0.00","tax_withheld":"1500.00","taxable_component":"5000.00"}]],"example":[{"etp_code":"O","lump_sum_d":"0.00","tax_free_component":"0.00","tax_withheld":"1500.00","taxable_component":"5000.00"}]},"nz_ytd_taxable":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Nz Ytd Taxable","description":"Taxable earnings for this employee year to date at the finish date, used to apply the annual ACC earners' levy cap to the extra pay. New Zealand only. Omit it if Lightning Payroll holds the whole year; supply it when earnings were part-year in another system. Zero is read as 'not supplied'.","examples":["48000.00"],"example":"48000.00"}},"additionalProperties":false,"type":"object","required":["termination_date"],"title":"TerminationCreate","description":"The end of an employee's employment, recorded on their final pay.\n\nSend only the fields that apply to the company's country. An Australian\nfield on a New Zealand company (or the reverse) is refused with a `400`\nnaming it, rather than being accepted and ignored.","example":{"cessation_type_code":"V","is_payment_in_lieu_paid":false,"reason":"TERMINATION","termination_date":"2026-09-11"}},{"type":"null"}],"description":"Include this to make the pay the employee's final pay and end their employment.\n\nLightning Payroll adds the unused leave payouts and their tax on top of whatever else the pay carries, and the employee is terminated when the pay is created, since pays created here are processed straight away. Read the calculated result back from `termination` on the response, or from `GET /api/employees/{employee_id}/termination`.\n\nThe fields differ by country: send the Australian ones for an Australian company and the New Zealand ones for a New Zealand company. Sending the wrong country's field is refused rather than ignored.\n\nUse `POST /api/employees/{employee_id}/terminate` instead when there is nothing else on the final pay.","examples":[{"cessation_type_code":"V","reason":"TERMINATION","termination_date":"2026-09-11"}],"example":{"cessation_type_code":"V","reason":"TERMINATION","termination_date":"2026-09-11"}}},"type":"object","title":"PayCreate"}}