PayOptions

This object forms the basis of the Employees payment.

Name / Description Type / Format Example
period string "Custom" "Monthly" "FourWeekly" "Fortnightly" "Weekly" "Daily"
ordinal
Indicates whether to use first, second, third (etc) PaySchedule for this PayPeriod.
integer int32 0
method string "Cash" "Cheque" "Credit" "DirectDebit"
withholdTaxRefundIfPayIsZero
If you don't want negative PAYE values when the Gross pay is zero, set this to true
boolean true
taxAndNi TaxAndNi {TaxAndNi}
fpsFields FpsFields {FpsFields}
tags string[]
basis string "Hourly" "Daily" "Monthly"
nationalMinimumWage boolean true
payCode
If you want the Employees pay to be allocated to a code other than BASIC, specify it here
string "string"
mileageVehicleType string "Car" "Motorcycle" "Cycle"
mapsMiles
The number of miles to pay for as Mileage Allowance Payments
integer int32 0
payAmount
The amount the Employee is regularly paid each period
number double 0.0
payAmountMultiplier
This property is irrelevant if the basis is Monthly.
But if the basis is Daily or Hourly then this property sets how many days/hours the employee should be paid for in the period.
number double 0.0
baseHourlyRate
This property is used to calculate values for PayCodes that are set as multiples of
the employees base hourly rate. Eg Overtime.
If this is set as zero then we'll attempt to calculate a value based on the other fields
number double 0.0
baseDailyRate
This property is used to calculate values for PayCodes that are set as multiples of
the employees base daily rate. Eg sick.
If this is set as zero then we'll attempt to calculate a value based on the other fields
number double 0.0
basicPay
The amount of basic pay the Employee is regularly paid each period
This amount is the combined total of all pay elements that contribute to basic pay
number double 0.0
autoAdjustForLeave
This sets whether the PayLine should be automatically adjusted or not for:
Leave Entries;
Starters/Leavers;
PayLine effectiveFrom and effectiveTo values falling mid-way through a PayRun
boolean true
niTable string "string"
regularPayLines
These are used to make additions/deductions to the pay for this Employee.
You do not need to include Pension, Tax, NI, Loan Repayments, etc as these will all be automatically created.
PayLine[] {PayLine}
{
  "period": "Custom",
  "ordinal": 0,
  "method": "Cash",
  "withholdTaxRefundIfPayIsZero": true,
  "taxAndNi": {
    "niTable": "string",
    "secondaryClass1NotPayable": true,
    "postgradLoan": true,
    "postgraduateLoanStartDate": "2024-07-20",
    "postgraduateLoanEndDate": "2024-07-20",
    "studentLoan": "None",
    "studentLoanStartDate": "2024-07-20",
    "studentLoanEndDate": "2024-07-20",
    "taxCode": "string",
    "week1Month1": true,
    "foreignTaxCredit": true
  },
  "fpsFields": {
    "offPayrollWorker": true,
    "irregularPaymentPattern": true,
    "nonIndividual": true,
    "hoursNormallyWorked": "LessThan16"
  },
  "tags": [
    "string"
  ],
  "basis": "Hourly",
  "nationalMinimumWage": true,
  "payCode": "string",
  "mileageVehicleType": "Car",
  "mapsMiles": 0,
  "payAmount": 0.0,
  "payAmountMultiplier": 0.0,
  "baseHourlyRate": 0.0,
  "baseDailyRate": 0.0,
  "basicPay": 0.0,
  "autoAdjustForLeave": true,
  "niTable": "string",
  "regularPayLines": [
    {
      "value": 0.0,
      "rate": 0.0,
      "multiplier": 0.0,
      "description": "string",
      "attachmentOrderId": "string",
      "pensionId": "string",
      "leaveId": "string",
      "loanId": "string",
      "leaveStatutoryDaysPaid": 0.0,
      "leaveStatutoryWeeksPaid": 0.0,
      "code": "string",
      "tags": [
        "string"
      ],
      "childId": "string",
      "isNetToGross": true,
      "targetNetToGrossValue": 0.0,
      "netToGrossDiscrepancy": 0.0,
      "effectiveFrom": "2024-07-20",
      "effectiveTo": "2024-07-20",
      "department": "string",
      "costCentre": "string",
      "departmentId": "string",
      "costCentreId": "string",
      "isAutoGeneratedBasicPayLine": true,
      "percentageOfEffectiveDays": 0.0,
      "totalWorkingDays": 0.0,
      "isAutomaticBackPay": true,
      "ignoreInitialBackPay": true,
      "initialBackPayPublicPayRunId": "string",
      "autoAdjustForLeave": true,
      "contributesToBasicPay": true,
      "calculateAsWhenPaid": true,
      "totalPaidDays": 0.0,
      "roleId": "string",
      "employeeRoleReference": "string",
      "earnedFrom": "2024-07-20",
      "earnedTo": "2024-07-20",
      "periodFrom": "2024-07-20",
      "periodTo": "2024-07-20",
      "annualValue": 0.0,
      "parentId": "string",
      "isAutoCalculatedBackPayLine": true,
      "isZeroHoursTeachersBackPayLine": true,
      "analysisCategoriesCodes": [
        {
          "analysisCategory": "string",
          "analysisCategoryCode": "string",
          "analysisCategoryId": "string",
          "analysisCategoryCodeId": "string"
        }
      ],
      "analysisCategoryCodeIds": [
        "string"
      ],
      "paySpineId": "string",
      "paySpineGradeId": "string",
      "spinalPointId": "string",
      "londonAllowanceId": 0,
      "fullTimeAnnualValue": 0.0,
      "paySpine": "string",
      "payGrade": "string",
      "spinePoint": "string"
    }
  ]
}
Contained in Models
Employee
Employer
PayRunEntry
Payslip
Consumed by Operations
Apply PayOptions
Returned by Operations

- none -

Getting Started Understanding PayOptions
Getting Started The Ordinal property
Getting Started Using Tags