Xero Payroll UK

PayrollUk

approveTimesheet

Approves a specific timesheet


/Timesheets/{TimesheetID}/Approve

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$timesheetID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->approveTimesheet($xeroTenantId, $timesheetID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->approveTimesheet: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets

Parameters

Path parameters
Name Description
TimesheetID*
UUID (uuid)

Identifier for the timesheet

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

createBenefit

Creates a new employee benefit


/Benefits

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";

$benefit = new XeroAPI\XeroPHP\Models\PayrollUk\Benefit;
$benefit->setName('Benefit Name');
$benefit->setExpenseAccountID('00000000-0000-0000-0000-000000000000');
$benefit->setLiabilityAccountID('00000000-0000-0000-0000-000000000000');
$benefit->setIsCalculatingOnQualifyingEarnings(true);

try {
  $result = $apiInstance->createBenefit($xeroTenantId, $benefit);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createBenefit: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
benefit *
Benefit
Required

createDeduction

Creates a new deduction


/Deductions

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";

$deduction = new XeroAPI\XeroPHP\Models\PayrollUk\Deduction;
$deduction->setDeductionName('Test Deduction');
$deduction->setDeductionCategory(XeroAPI\XeroPHP\Models\PayrollUk\Deduction\DeductionCategoryEnum.StakeholderPension);
$deduction->setLiabilityAccountId('00000000-0000-0000-0000-000000000000');
$deduction->setCalculationType(XeroAPI\XeroPHP\Models\PayrolUk\Deduction\CalculationTypeEnum.PercentageOfGross);

try {
  $result = $apiInstance->createDeduction($xeroTenantId, $deduction);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createDeduction: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
deduction *
Deduction
Required

createEarningsRate

Creates a new earnings rate


/EarningsRates

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";

$earningsRate = new XeroAPI\XeroPHP\Models\PayrollUk\EarningsRate;
$earningsRate->setEarningsType(XeroAPI\XeroPHP\Models\PayrollUk\EarningsRate\EarningsTypeEnum.RegularEarnings);
$earningsRate->setRateType(XeroAPI\XeroPHP\Models\PayrollUk\EarningsRate\RateTypeEnum.RatePerUnit);
$earningsRate->setExpenseAccountID('00000000-0000-0000-0000-000000000000');
$earningsRate->setTypeOfUnits('Type');

try {
  $result = $apiInstance->createEarningsRate($xeroTenantId, $earningsRate);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEarningsRate: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
earningsRate *
EarningsRate
Required

createEmployee

Creates employees


/Employees

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$dateOfBirth = new DateTime('2000-10-28');

$address = new XeroAPI\XeroPHP\Models\PayrollUk\Address;
$address->setAddressLine1('123 Test st');
$address->setCity('Rangiora');
$address->setPostCode('7400');
$address->setCountryName('UNITED KINGDOM');

$employee = new XeroAPI\XeroPHP\Models\PayrollUk\Employee;
$employee->setFirstName('Adam');
$employee->setLastName('Adamson');
$employee->setDateOfBirth($dateOfBirth);
$employee->setAddress($address);

try {
  $result = $apiInstance->createEmployee($xeroTenantId, $employee);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployee: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employee *
Employee
Required

createEmployeeEarningsTemplate

Creates an earnings template records for a specific employee


/Employees/{EmployeeID}/PayTemplates/earnings

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

$earningsTemplate = new XeroAPI\XeroPHP\Models\PayrollUk\EarningsTemplate;
$earningsTemplate->setPayTemplateEarningID('00000000-0000-0000-0000-000000000000');
$earningsTemplate->setRatePerUnit(14.25);
$earningsTemplate->setNumberOfUnits(35.5);
$earningsTemplate->setFixedAmount(50);
$earningsTemplate->setEarningsRateID('00000000-0000-0000-0000-000000000000');
$earningsTemplate->setName('Overtime Hours');
$earningsTemplates = [];
array_push($earningsTemplates, $earningsTemplate);

try {
  $result = $apiInstance->createEmployeeEarningsTemplate($xeroTenantId, $employeeID, $earningsTemplate);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployeeEarningsTemplate: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
earningsTemplate *
EarningsTemplate
Required

createEmployeeLeave

Creates leave records for a specific employee


/Employees/{EmployeeID}/Leave

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$startDate = new DateTime('2020-10-28');
$endDate = new DateTime('2020-10-30');

$employeeLeave = new XeroAPI\XeroPHP\Models\PayrollUk\EmployeeLeave;
$employeeLeave->setLeaveTypeID('00000000-0000-0000-0000-000000000000');
$employeeLeave->setStartDate($startDate);
$employeeLeave->setEndDate($endDate);

try {
  $result = $apiInstance->createEmployeeLeave($xeroTenantId, $employeeID, $employeeLeave);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployeeLeave: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employeeLeave *
EmployeeLeave
Required

createEmployeeLeaveType

Creates employee leave type records


/Employees/{EmployeeID}/LeaveTypes

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

$employeeLeaveType = new XeroAPI\XeroPHP\Models\PayrollUk\EmployeeLeaveType;
$employeeLeaveType->setLeaveTypeID('00000000-0000-0000-0000-000000000000');
$employeeLeaveType->setScheduleOfAccrual(XeroAPI\XeroPHP\Models\PayrollUk\EmployeeLeaveType\ScheduleOfAccrualEnum.BeginningOfCalendarYear);
$employeeLeaveType->setOpeningBalance(5.25);

try {
  $result = $apiInstance->createEmployeeLeaveType($xeroTenantId, $employeeID, $employeeLeaveType);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployeeLeaveType: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employeeLeaveType *
EmployeeLeaveType
Required

createEmployeeOpeningBalances

Creates an opening balance for a specific employee


/Employees/{EmployeeID}/ukopeningbalances

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

$employeeOpeningBalances = new XeroAPI\XeroPHP\Models\PayrollUk\EmployeeOpeningBalances;
$employeeOpeningBalances->setStatutoryMaternityPay(0.0);
$employeeOpeningBalances->setStatutoryAdoptionPay(100.0);
$employeeOpeningBalances->setStatutoryPaternityPay(0.0);
$employeeOpeningBalances->setStatutorySharedParentalPay(0.0);
$employeeOpeningBalances->setStatutorySickPay(0.0);

try {
  $result = $apiInstance->createEmployeeOpeningBalances($xeroTenantId, $employeeID, $employeeOpeningBalances);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployeeOpeningBalances: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employeeOpeningBalances *
EmployeeOpeningBalances
Required

createEmployeePaymentMethod

Creates an employee payment method


/Employees/{EmployeeID}/PaymentMethods

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

$bankAccount = new XeroAPI\XeroPHP\Models\PayrollUk\BankAccount;
$bankAccount->setAccountName('Charlotte Danes');
$bankAccount->setAccountNumber('123456');
$bankAccount->setSortCode('123411');
$bankAccounts = [];
array_push($bankAccounts, $bankAccount);

$paymentMethod = new XeroAPI\XeroPHP\Models\PayrollUk\PaymentMethod;
$paymentMethod->setBankAccounts($bankAccounts);

try {
  $result = $apiInstance->createEmployeePaymentMethod($xeroTenantId, $employeeID, $paymentMethod);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployeePaymentMethod: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
paymentMethod *
PaymentMethod
Required

createEmployeeSalaryAndWage

Creates a salary and wage record for a specific employee


/Employees/{EmployeeID}/SalaryAndWages

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

$salaryAndWage = new XeroAPI\XeroPHP\Models\PayrollUk\SalaryAndWage;
$salaryAndWage->setEarningsRateID('00000000-0000-0000-0000-000000000000');
$salaryAndWage->setNumberOfUnitsPerDay(0);
$salaryAndWage->setNumberOfUnitsPerWeek(0);
$salaryAndWage->setPaymentType(XeroAPI\XeroPHP\Models\PayrollUk\SalaryAndWage\PaymentTypeEnum.SALARY);
$salaryAndWage->setStatus(XeroAPI\XeroPHP\Models\PayrollUk\SalaryAndWage\StatusEnum.ACTIVE);

try {
  $result = $apiInstance->createEmployeeSalaryAndWage($xeroTenantId, $employeeID, $salaryAndWage);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployeeSalaryAndWage: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
salaryAndWage *
SalaryAndWage
Required

createEmployeeStatutorySickLeave

Creates statutory sick leave records


/StatutoryLeaves/Sick

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$startDate = new DateTime('2020-10-28');
$endDate = new DateTime('2020-10-30');

$employeeStatutorySickLeave = new XeroAPI\XeroPHP\Models\PayrollUk\EmployeeStatutorySickLeave;
$employeeStatutorySickLeave->setIsPregnancyRelated(true);
$employeeStatutorySickLeave->setLeaveTypeID('00000000-0000-0000-0000-000000000000');
$employeeStatutorySickLeave->setStartDate($startDate);
$employeeStatutorySickLeave->setEndDate($endDate);

try {
  $result = $apiInstance->createEmployeeStatutorySickLeave($xeroTenantId, $employeeStatutorySickLeave);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployeeStatutorySickLeave: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employeeStatutorySickLeave *
EmployeeStatutorySickLeave
Required

createEmployment

Creates employment detail for a specific employee using a unique employee ID


/Employees/{EmployeeID}/Employment

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$startDate = new DateTime('2020-10-28');

$employment = new XeroAPI\XeroPHP\Models\PayrollUk\Employment;
$employment->setPayrollCalendarID('00000000-0000-0000-0000-000000000000');
$employment->setStartDate($startDate);

try {
  $result = $apiInstance->createEmployment($xeroTenantId, $employeeID, $employment);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createEmployment: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employment *
Employment
Required

createLeaveType

Creates a new leave type


/LeaveTypes

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";

$leaveType = new XeroAPI\XeroPHP\Models\PayrollUk\LeaveType;
$leaveType->setName('LeaveType');
$leaveType->setIsPaidLeave(true);
$leaveType->setShowOnPayslip(true);

try {
  $result = $apiInstance->createLeaveType($xeroTenantId, $leaveType);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createLeaveType: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
leaveType *
LeaveType
Required

createMultipleEmployeeEarningsTemplate

Creates multiple earnings template records for a specific employee using a unique employee ID


/Employees/{EmployeeID}/paytemplateearnings

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

$earningsTemplate = new XeroAPI\XeroPHP\Models\PayrollUk\EarningsTemplate;
$earningsTemplate->setPayTemplateEarningID('00000000-0000-0000-0000-000000000000');
$earningsTemplate->setRatePerUnit(14.25);
$earningsTemplate->setNumberOfUnits(35.5);
$earningsTemplate->setFixedAmount(50);
$earningsTemplate->setEarningsRateID('00000000-0000-0000-0000-000000000000');
$earningsTemplate->setName('Overtime Hours');
$earningsTemplates = [];
array_push($earningsTemplates, $earningsTemplate);

try {
  $result = $apiInstance->createMultipleEmployeeEarningsTemplate($xeroTenantId, $employeeID, $earningsTemplate);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createMultipleEmployeeEarningsTemplate: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
earningsTemplate *
array[EarningsTemplate]
Required

createPayRunCalendar

Creates a new payrun calendar


/PayRunCalendars

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$startDate = new DateTime('2020-10-28');
$paymentDate = new DateTime('2020-10-30');

$payRunCalendar = new XeroAPI\XeroPHP\Models\PayrollUk\PayRunCalendar;
$payRunCalendar->setCalendarType(XeroAPI\XeroPHP\Models\PayrollUk\PayRunCalendar\CalendarTypeEnum.WEEKLY);
$payRunCalendar->setPeriodStartDate($startDate);
$payRunCalendar->setPaymentDate($paymentDate);

try {
  $result = $apiInstance->createPayRunCalendar($xeroTenantId, $payRunCalendar);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createPayRunCalendar: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
payRunCalendar *
PayRunCalendar
Required

createReimbursement

Creates a new reimbursement


/Reimbursements

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";

$reimbursement = new XeroAPI\XeroPHP\Models\PayrollUk\Reimbursement;
$reimbursement->setName('Test Reimbursement');
$reimbursement->setAccountID('00000000-0000-0000-0000-000000000000');

try {
  $result = $apiInstance->createReimbursement($xeroTenantId, $reimbursement);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createReimbursement: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
reimbursement *
Reimbursement
Required

createTimesheet

Creates a new timesheet


/Timesheets

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$startDate = new DateTime('2020-10-28');
$endDate = new DateTime('2020-10-30');

$timesheet = new XeroAPI\XeroPHP\Models\PayrollUk\Timesheet;
$timesheet->setPayrollCalendarID('00000000-0000-0000-0000-000000000000');
$timesheet->setEmployeeID('00000000-0000-0000-0000-000000000000');
$timesheet->setStartDate($startDate);
$timesheet->setEndDate($endDate);

try {
  $result = $apiInstance->createTimesheet($xeroTenantId, $timesheet);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createTimesheet: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
timesheet *
Timesheet
Required

createTimesheetLine

Creates a new timesheet line for a specific timesheet using a unique timesheet ID


/Timesheets/{TimesheetID}/Lines

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$timesheetID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";
$date = new DateTime('2020-10-28');

$timesheetLine = new XeroAPI\XeroPHP\Models\PayrollUk\TimesheetLine;
$timesheetLine->setTimesheetLineID('00000000-0000-0000-0000-000000000000');
$timesheetLine->setDate($date);
$timesheetLine->setEarningsRateID('00000000-0000-0000-0000-000000000000');
$timesheetLine->setTrackingItemID('00000000-0000-0000-0000-000000000000');
$timesheetLine->setNumberOfUnits(6);

try {
  $result = $apiInstance->createTimesheetLine($xeroTenantId, $timesheetID, $timesheetLine);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->createTimesheetLine: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets

Parameters

Path parameters
Name Description
TimesheetID*
UUID (uuid)

Identifier for the timesheet

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
timesheetLine *
TimesheetLine
Required

deleteEmployeeEarningsTemplate

Deletes a specific employee's earnings template record


/Employees/{EmployeeID}/PayTemplates/earnings/{PayTemplateEarningID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$payTemplateEarningID = "3fa85f64-5717-4562-b3fc-2c963f66afa6";

try {
  $apiInstance->deleteEmployeeEarningsTemplate($xeroTenantId, $employeeID, $payTemplateEarningID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->deleteEmployeeEarningsTemplate: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
PayTemplateEarningID*
UUID (uuid)

Id for single pay template earnings object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

deleteEmployeeLeave

Deletes a specific employee's leave record


/Employees/{EmployeeID}/Leave/{LeaveID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$leaveID = "c4be24e5-e840-4c92-9eaa-2d86cd596314";

try {
  $result = $apiInstance->deleteEmployeeLeave($xeroTenantId, $employeeID, $leaveID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->deleteEmployeeLeave: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
LeaveID*
UUID (uuid)

Leave id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

deleteEmployeeSalaryAndWage

Deletes a salary and wages record for a specific employee


/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$salaryAndWagesID = "3fa85f64-5717-4562-b3fc-2c963f66afa6";

try {
  $apiInstance->deleteEmployeeSalaryAndWage($xeroTenantId, $employeeID, $salaryAndWagesID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->deleteEmployeeSalaryAndWage: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
SalaryAndWagesID*
UUID (uuid)

Id for single salary and wages object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

deleteTimesheet

Deletes a specific timesheet


/Timesheets/{TimesheetID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$timesheetID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->deleteTimesheet($xeroTenantId, $timesheetID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->deleteTimesheet: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets

Parameters

Path parameters
Name Description
TimesheetID*
UUID (uuid)

Identifier for the timesheet

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

deleteTimesheetLine

Deletes a specific timesheet line


/Timesheets/{TimesheetID}/Lines/{TimesheetLineID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$timesheetID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";
$timesheetLineID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->deleteTimesheetLine($xeroTenantId, $timesheetID, $timesheetLineID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->deleteTimesheetLine: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets

Parameters

Path parameters
Name Description
TimesheetID*
UUID (uuid)

Identifier for the timesheet

Required
TimesheetLineID*
UUID (uuid)

Identifier for the timesheet line

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getBenefit

Retrieves a specific benefit by using a unique benefit ID


/Benefits/{id}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$id = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getBenefit($xeroTenantId, $id);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getBenefit: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
id*
UUID (uuid)

Identifier for the benefit

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getBenefits

Retrieves employee benefits


/Benefits

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;

try {
  $result = $apiInstance->getBenefits($xeroTenantId, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getBenefits: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.


getDeduction

Retrieves a specific deduction by using a unique deduction ID


/Deductions/{deductionId}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$deductionId = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getDeduction($xeroTenantId, $deductionId);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getDeduction: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
deductionId*
UUID (uuid)

Identifier for the deduction

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getDeductions

Retrieves deductions


/Deductions

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;

try {
  $result = $apiInstance->getDeductions($xeroTenantId, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getDeductions: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.


getEarningsOrder

Retrieves a specific earnings orders by using a unique earnings orders id


/EarningsOrders/{id}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$id = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getEarningsOrder($xeroTenantId, $id);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEarningsOrder: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
id*
UUID (uuid)

Identifier for the deduction

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEarningsOrders

Retrieves earnings orders


/EarningsOrders

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;

try {
  $result = $apiInstance->getEarningsOrders($xeroTenantId, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEarningsOrders: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.


getEarningsRate

Retrieves a specific earnings rates by using a unique earnings rate id


/EarningsRates/{EarningsRateID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$earningsRateID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getEarningsRate($xeroTenantId, $earningsRateID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEarningsRate: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
EarningsRateID*
UUID (uuid)

Identifier for the earnings rate

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEarningsRates

Retrieves earnings rates


/EarningsRates

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;

try {
  $result = $apiInstance->getEarningsRates($xeroTenantId, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEarningsRates: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.


getEmployee

Retrieves specific employees by using a unique employee ID


/Employees/{EmployeeID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployee($xeroTenantId, $employeeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployee: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeeLeave

Retrieves a specific employee's leave record using a unique employee ID


/Employees/{EmployeeID}/Leave/{LeaveID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$leaveID = "c4be24e5-e840-4c92-9eaa-2d86cd596314";

try {
  $result = $apiInstance->getEmployeeLeave($xeroTenantId, $employeeID, $leaveID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeLeave: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
LeaveID*
UUID (uuid)

Leave id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeeLeaveBalances

Retrieves a specific employee's leave balances using a unique employee ID


/Employees/{EmployeeID}/LeaveBalances

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployeeLeaveBalances($xeroTenantId, $employeeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeLeaveBalances: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeeLeavePeriods

Retrieves a specific employee's leave periods using a unique employee ID


/Employees/{EmployeeID}/LeavePeriods

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "00000000-0000-0000-0000-000000000000";
$startDate = new DateTime("2013-10-20");
$endDate = new DateTime("2013-10-20");

try {
  $result = $apiInstance->getEmployeeLeavePeriods($xeroTenantId, $employeeID, $startDate, $endDate);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeLeavePeriods: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
startDate
date (date)

Filter by start date

endDate
date (date)

Filter by end date


getEmployeeLeaveTypes

Retrieves a specific employee's leave types using a unique employee ID


/Employees/{EmployeeID}/LeaveTypes

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployeeLeaveTypes($xeroTenantId, $employeeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeLeaveTypes: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeeLeaves

Retrieves a specific employee's leave records using a unique employee ID


/Employees/{EmployeeID}/Leave

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployeeLeaves($xeroTenantId, $employeeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeLeaves: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeeOpeningBalances

Retrieves a specific employee's openingbalances using a unique employee ID


/Employees/{EmployeeID}/ukopeningbalances

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployeeOpeningBalances($xeroTenantId, $employeeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeOpeningBalances: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeePayTemplate

Retrieves a specific employee pay templates using a unique employee ID


/Employees/{EmployeeID}/PayTemplates

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployeePayTemplate($xeroTenantId, $employeeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeePayTemplate: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeePaymentMethod

Retrieves a specific employee's payment method using a unique employee ID


/Employees/{EmployeeID}/PaymentMethods

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployeePaymentMethod($xeroTenantId, $employeeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeePaymentMethod: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeeSalaryAndWage

Retrieves a specific salary and wages record for a specific employee using a unique salary and wage id


/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$salaryAndWagesID = "3fa85f64-5717-4562-b3fc-2c963f66afa6";

try {
  $result = $apiInstance->getEmployeeSalaryAndWage($xeroTenantId, $employeeID, $salaryAndWagesID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeSalaryAndWage: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
SalaryAndWagesID*
UUID (uuid)

Id for single pay template earnings object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeeSalaryAndWages

Retrieves a specific employee's salary and wages by using a unique employee ID


/Employees/{EmployeeID}/SalaryAndWages

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$page = 56;

try {
  $result = $apiInstance->getEmployeeSalaryAndWages($xeroTenantId, $employeeID, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeSalaryAndWages: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.


getEmployeeStatutoryLeaveBalances

Retrieves a specific employee's leave balances using a unique employee ID


/Employees/{EmployeeID}/StatutoryLeaveBalance

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$leaveType = "sick";
$asOfDate = new DateTime("2013-10-20");

try {
  $result = $apiInstance->getEmployeeStatutoryLeaveBalances($xeroTenantId, $employeeID, $leaveType, $asOfDate);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeStatutoryLeaveBalances: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
LeaveType
String

Filter by the type of statutory leave

AsOfDate
date (date)

The date from which to calculate balance remaining. If not specified, current date UTC is used.


getEmployeeStatutorySickLeave

Retrieves a statutory sick leave for an employee


/StatutoryLeaves/Sick/{StatutorySickLeaveID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$statutorySickLeaveID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployeeStatutorySickLeave($xeroTenantId, $statutorySickLeaveID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeStatutorySickLeave: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
StatutorySickLeaveID*
UUID (uuid)

Statutory sick leave id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployeeTax

Retrieves tax records for a specific employee using a unique employee ID


/Employees/{EmployeeID}/Tax

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

try {
  $result = $apiInstance->getEmployeeTax($xeroTenantId, $employeeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployeeTax: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getEmployees

Retrieves employees


/Employees

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$filter = "firstName==John,lastName==Smith";
$page = 56;

try {
  $result = $apiInstance->getEmployees($xeroTenantId, $filter, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getEmployees: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees
payroll.employees.read Grant read-only access to payroll employees

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
filter
String

Filter by first name and/or lastname

page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.


getLeaveType

Retrieves a specific leave type by using a unique leave type ID


/LeaveTypes/{LeaveTypeID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$leaveTypeID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getLeaveType($xeroTenantId, $leaveTypeID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getLeaveType: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
LeaveTypeID*
UUID (uuid)

Identifier for the leave type

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getLeaveTypes

Retrieves leave types


/LeaveTypes

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;
$activeOnly = true;

try {
  $result = $apiInstance->getLeaveTypes($xeroTenantId, $page, $activeOnly);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getLeaveTypes: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.

ActiveOnly
Boolean

Filters leave types by active status. By default the API returns all leave types.


getPayRun

Retrieves a specific pay run by using a unique pay run ID


/PayRuns/{PayRunID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$payRunID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getPayRun($xeroTenantId, $payRunID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getPayRun: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.payruns Grant read-write access to payroll payruns
payroll.payruns.read Grant read-only access to payroll payruns

Parameters

Path parameters
Name Description
PayRunID*
UUID (uuid)

Identifier for the pay run

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getPayRunCalendar

Retrieves a specific payrun calendar by using a unique payrun calendar ID


/PayRunCalendars/{PayRunCalendarID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$payRunCalendarID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getPayRunCalendar($xeroTenantId, $payRunCalendarID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getPayRunCalendar: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
PayRunCalendarID*
UUID (uuid)

Identifier for the payrun calendars

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getPayRunCalendars

Retrieves payrun calendars


/PayRunCalendars

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;

try {
  $result = $apiInstance->getPayRunCalendars($xeroTenantId, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getPayRunCalendars: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.


getPayRuns

Retrieves pay runs


/PayRuns

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;
$status = "status_example";

try {
  $result = $apiInstance->getPayRuns($xeroTenantId, $page, $status);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getPayRuns: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.payruns Grant read-write access to payroll payruns
payroll.payruns.read Grant read-only access to payroll payruns

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.

status
String

By default get payruns will return all the payruns for an organization. You can add GET https://api.xero.com/payroll.xro/2.0/payRuns?statu={PayRunStatus} to filter the payruns by status.


getPaySlip

Retrieves a specific payslip by using a unique payslip ID


/Payslips/{PayslipID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$payslipID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getPaySlip($xeroTenantId, $payslipID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getPaySlip: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.payslip Grant read-write access to payroll payslips
payroll.payslip.read Grant read-only access to payroll payslips

Parameters

Path parameters
Name Description
PayslipID*
UUID (uuid)

Identifier for the payslip

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getPaySlips

Retrieves payslips


/Payslips

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$payRunID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";
$page = 56;

try {
  $result = $apiInstance->getPaySlips($xeroTenantId, $payRunID, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getPaySlips: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.payslip Grant read-write access to payroll payslips
payroll.payslip.read Grant read-only access to payroll payslips

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.

PayRunID*
UUID (uuid)

PayrunID which specifies the containing payrun of payslips to retrieve. By default, the API does not group payslips by payrun.

Required

getReimbursement

Retrieves a specific reimbursement by using a unique reimbursement id


/Reimbursements/{ReimbursementID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$reimbursementID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getReimbursement($xeroTenantId, $reimbursementID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getReimbursement: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
ReimbursementID*
UUID (uuid)

Identifier for the reimbursement

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getReimbursements

Retrieves reimbursements


/Reimbursements

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;

try {
  $result = $apiInstance->getReimbursements($xeroTenantId, $page);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getReimbursements: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.


getSettings

Retrieves payroll settings


/Settings

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";

try {
  $result = $apiInstance->getSettings($xeroTenantId);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getSettings: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getStatutoryLeaveSummary

Retrieves a specific employee's summary of statutory leaves using a unique employee ID


/StatutoryLeaves/Summary/{EmployeeID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$activeOnly = true;

try {
  $result = $apiInstance->getStatutoryLeaveSummary($xeroTenantId, $employeeID, $activeOnly);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getStatutoryLeaveSummary: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
activeOnly
Boolean

Filter response with leaves that are currently active or yet to be taken. If not specified, all leaves (past, current, and future scheduled) are returned


getTimesheet

Retrieve a specific timesheet by using a unique timesheet ID


/Timesheets/{TimesheetID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$timesheetID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->getTimesheet($xeroTenantId, $timesheetID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getTimesheet: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets
payroll.timesheets.read Grant read-only access to payroll timesheets

Parameters

Path parameters
Name Description
TimesheetID*
UUID (uuid)

Identifier for the timesheet

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

getTimesheets

Retrieves timesheets


/Timesheets

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$page = 56;
$filter = "employeeId==00000000-0000-0000-0000-000000000000,payrollCalendarId==00000000-0000-0000-0000-000000000000";

try {
  $result = $apiInstance->getTimesheets($xeroTenantId, $page, $filter);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getTimesheets: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets
payroll.timesheets.read Grant read-only access to payroll timesheets

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Query parameters
Name Description
page
Integer

Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.

filter
String

Filter by first name and/or lastname


getTrackingCategories

Retrieves tracking categories


/Settings/trackingCategories

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";

try {
  $result = $apiInstance->getTrackingCategories($xeroTenantId);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->getTrackingCategories: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.settings Grant read-write access to payroll settings
payroll.settings.read Grant read-only access to payroll settings

Parameters

Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

revertTimesheet

Reverts a specific timesheet to draft


/Timesheets/{TimesheetID}/RevertToDraft

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$timesheetID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";

try {
  $result = $apiInstance->revertTimesheet($xeroTenantId, $timesheetID);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->revertTimesheet: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets

Parameters

Path parameters
Name Description
TimesheetID*
UUID (uuid)

Identifier for the timesheet

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required

updateEmployee

Updates a specific employee's detail


/Employees/{EmployeeID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$dateOfBirth = new DateTime('2000-10-28');

$address = new XeroAPI\XeroPHP\Models\PayrollUk\Address;
$address->setAddressLine1('123 Test st');
$address->setCity('Rangiora');
$address->setPostCode('7400');
$address->setCountryName('NEW ZEALAND');

$employee = new XeroAPI\XeroPHP\Models\PayrollUk\Employee;
$employee->setFirstName('Adam');
$employee->setLastName('Adamson');
$employee->setDateOfBirth($dateOfBirth);
$employee->setAddress($address);

try {
  $result = $apiInstance->updateEmployee($xeroTenantId, $employeeID, $employee);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->updateEmployee: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employee *
Employee
Required

updateEmployeeEarningsTemplate

Updates a specific employee's earnings template records


/Employees/{EmployeeID}/PayTemplates/earnings/{PayTemplateEarningID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$payTemplateEarningID = "3fa85f64-5717-4562-b3fc-2c963f66afa6";

$earningsTemplate = new XeroAPI\XeroPHP\Models\PayrollUk\EarningsTemplate;
$earningsTemplate->setPayTemplateEarningID('00000000-0000-0000-0000-000000000000');
$earningsTemplate->setRatePerUnit(14.25);
$earningsTemplate->setNumberOfUnits(35.5);
$earningsTemplate->setFixedAmount(50);
$earningsTemplate->setEarningsRateID('00000000-0000-0000-0000-000000000000');
$earningsTemplate->setName('Overtime Hours');
$earningsTemplates = [];
array_push($earningsTemplates, $earningsTemplate);

try {
  $result = $apiInstance->updateEmployeeEarningsTemplate($xeroTenantId, $employeeID, $payTemplateEarningID, $earningsTemplate);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->updateEmployeeEarningsTemplate: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
PayTemplateEarningID*
UUID (uuid)

Id for single pay template earnings object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
earningsTemplate *
EarningsTemplate
Required

updateEmployeeLeave

Updates a specific employee's leave records


/Employees/{EmployeeID}/Leave/{LeaveID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$leaveID = "c4be24e5-e840-4c92-9eaa-2d86cd596314";
$startDate = new DateTime('2020-10-28');
$endDate = new DateTime('2020-10-30');

$employeeLeave = new XeroAPI\XeroPHP\Models\PayrollUk\EmployeeLeave;
$employeeLeave->setLeaveTypeID('00000000-0000-0000-0000-000000000000');
$employeeLeave->setStartDate($startDate);
$employeeLeave->setEndDate($endDate);

try {
  $result = $apiInstance->updateEmployeeLeave($xeroTenantId, $employeeID, $leaveID, $employeeLeave);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->updateEmployeeLeave: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
LeaveID*
UUID (uuid)

Leave id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employeeLeave *
EmployeeLeave
Required

updateEmployeeOpeningBalances

Updates a specific employee's opening balances


/Employees/{EmployeeID}/ukopeningbalances

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

$employeeOpeningBalances = new XeroAPI\XeroPHP\Models\PayrollUk\EmployeeOpeningBalances;
$employeeOpeningBalances->setStatutoryMaternityPay(0.0);
$employeeOpeningBalances->setStatutoryAdoptionPay(100.0);
$employeeOpeningBalances->setStatutoryPaternityPay(0.0);
$employeeOpeningBalances->setStatutorySharedParentalPay(0.0);
$employeeOpeningBalances->setStatutorySickPay(0.0);

try {
  $result = $apiInstance->updateEmployeeOpeningBalances($xeroTenantId, $employeeID, $employeeOpeningBalances);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->updateEmployeeOpeningBalances: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
employeeOpeningBalances *
EmployeeOpeningBalances
Required

updateEmployeeSalaryAndWage

Updates salary and wages record for a specific employee


/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$salaryAndWagesID = "3fa85f64-5717-4562-b3fc-2c963f66afa6";

$salaryAndWage = new XeroAPI\XeroPHP\Models\PayrollUk\SalaryAndWage;
$salaryAndWage->setEarningsRateID('00000000-0000-0000-0000-000000000000');
$salaryAndWage->setNumberOfUnitsPerDay(0);
$salaryAndWage->setNumberOfUnitsPerWeek(0);
$salaryAndWage->setPaymentType(XeroAPI\XeroPHP\Models\PayrollUk\SalaryAndWage\PaymentTypeEnum.SALARY);
$salaryAndWage->setStatus(XeroAPI\XeroPHP\Models\PayrollUk\SalaryAndWage\StatusEnum.ACTIVE);

try {
  $result = $apiInstance->updateEmployeeSalaryAndWage($xeroTenantId, $employeeID, $salaryAndWagesID, $salaryAndWage);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->updateEmployeeSalaryAndWage: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.employees Grant read-write access to payroll employees

Parameters

Path parameters
Name Description
EmployeeID*
UUID (uuid)

Employee id for single object

Required
SalaryAndWagesID*
UUID (uuid)

Id for single pay template earnings object

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
salaryAndWage *
SalaryAndWage
Required

updatePayRun

Updates a specific pay run


/PayRuns/{PayRunID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$payRunID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";
$startDate = new DateTime('2020-10-28');
$paymentDate = new DateTime('2020-10-30');

$payRunCalendar = new XeroAPI\XeroPHP\Models\PayrollUk\PayRunCalendar;
$payRunCalendar->setCalendarType(XeroAPI\XeroPHP\Models\PayrollUk\CalendarType.WEEKLY);
$payRunCalendar->setPeriodStartDate($startDate);
$payRunCalendar->setPaymentDate($paymentDate);

try {
  $result = $apiInstance->updatePayRun($xeroTenantId, $payRunID, $payRun);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->updatePayRun: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.payruns Grant read-write access to payroll payruns

Parameters

Path parameters
Name Description
PayRunID*
UUID (uuid)

Identifier for the pay run

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
payRun *
PayRun
Required

updateTimesheetLine

Updates a specific timesheet line for a specific timesheet


/Timesheets/{TimesheetID}/Lines/{TimesheetLineID}

Usage and SDK Samples

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );       

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollUkApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$timesheetID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";
$timesheetLineID = "38400000-8cf0-11bd-b23e-10b96e4ef00d";
$date = new DateTime('2020-10-28');

$timesheetLine = new XeroAPI\XeroPHP\Models\PayrollUk\TimesheetLine;
$timesheetLine->setTimesheetLineID('00000000-0000-0000-0000-000000000000');
$timesheetLine->setDate($date);
$timesheetLine->setEarningsRateID('00000000-0000-0000-0000-000000000000');
$timesheetLine->setTrackingItemID('00000000-0000-0000-0000-000000000000');
$timesheetLine->setNumberOfUnits(6);

try {
  $result = $apiInstance->updateTimesheetLine($xeroTenantId, $timesheetID, $timesheetLineID, $timesheetLine);
} catch (Exception $e) {
  echo 'Exception when calling PayrollUkApi->updateTimesheetLine: ', $e->getMessage(), PHP_EOL;
}
?>

Scopes

payroll.timesheets Grant read-write access to payroll timesheets

Parameters

Path parameters
Name Description
TimesheetID*
UUID (uuid)

Identifier for the timesheet

Required
TimesheetLineID*
UUID (uuid)

Identifier for the timesheet line

Required
Header parameters
Name Description
Xero-Tenant-Id*
String

Xero identifier for Tenant

Required
Body parameters
Name Description
timesheetLine *
TimesheetLine
Required