xero-php-oauth2 PayrollAu SDK Docs

# Xero Payroll AU API

## SDK Documentation

# PayrollAu

# createEmployee

Creates a payroll employee

    /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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $dateOfBirth = new DateTime('2000-10-28');

    $homeAddress = new XeroAPI\XeroPHP\Models\PayrollAu\HomeAddress;
    $homeAddress->setAddressLine1('123 Test st');
    $homeAddress->setRegion('VIC');
    $homeAddress->setPostalCode(3000);
    $homeAddress->setCity('Melbourne');

    $employee = new XeroAPI\XeroPHP\Models\PayrollAu\Employee;
    $employee->setFirstName('Adam');
    $employee->setLastName('Adamson');
    $employee->setDateOfBirth($dateOfBirth);
    $employee->setHomeAddress($homeAddress);

    try {
      $result = $apiInstance->createEmployee($xeroTenantId, $employee);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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 * | array[Employee] Required

# createLeaveApplication

Creates a leave application

    /LeaveApplications

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $startDate = new DateTime('2020-10-28');
    $endDate = new DateTime('2020-10-30');

    $leaveApplication = new XeroAPI\XeroPHP\Models\PayrollAu\LeaveApplication;
    $leaveApplication->setEmployeeId('00000000-0000-0000-0000-000000000000');
    $leaveApplication->setLeaveTypeId('00000000-0000-0000-0000-000000000000');
    $leaveApplication->setTitle('Annual Leave');
    $leaveApplication->setStartDate($startDate);
    $leaveApplication->setEndDate($endDate);

    try {
      $result = $apiInstance->createLeaveApplication($xeroTenantId, $leaveApplication);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->createLeaveApplication: ', $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
--- | ---
leaveApplication * | array[LeaveApplication] Required

# createPayItem

Creates a pay item

    /PayItems

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";

    $earningsRate = new XeroAPI\XeroPHP\Models\PayrollAu\EarningsRate;
    $earningsRate->setName('Ordinary Hours 123');
    $earningsRate->setAccountCode('477');
    $earningsRate->setTypeOfUnits('Hours');
    $earningsRate->setIsExemptFromTax(true);
    $earningsRate->setIsExemptFromSuper(true);
    $earningsRate->setEarningsType(XeroAPI\XeroPHP\Models\PayrollAu\EarningsType::OVERTIMEEARNINGS);

    $deductionType = new XeroAPI\XeroPHP\Models\PayrollAu\DeductionType;
    $deductionType->setName('Union Fees');
    $deductionType->setAccountCode('826');
    $deductionType->setReducesTax(true);
    $deductionType->setReducesSuper(true);

    $leaveType = new XeroAPI\XeroPHP\Models\PayrollAu\LeaveType;
    $leaveType->setName('Annual Leave');
    $leaveType->setTypeOfUnits('Hours');
    $leaveType->setIsPaidLeave(true);
    $leaveType->setShowOnPayslip(true);

    $reimbursementType = new XeroAPI\XeroPHP\Models\PayrollAu\ReimbursementType;
    $reimbursementType->setName('Annual Leave');
    $reimbursementType->setAccountCode('850');
    $earningsRates = [];
    array_push($earningsRates, $earningsRate);
    $deductionTypes = [];
    $leaveTypes = [];
    array_push($leaveTypes, $leaveType);
    $reimbursementTypes = [];
    array_push($reimbursementTypes, $reimbursementType);

    $payItem = new XeroAPI\XeroPHP\Models\PayrollAu\PayItem;
    $payItem->setEarningsRates($earningsRates);
    $payItem->setDeductionTypes($deductionTypes);
    $payItem->setLeaveTypes($leaveTypes);
    $payItem->setReimbursementTypes($reimbursementTypes);

    try {
      $result = $apiInstance->createPayItem($xeroTenantId, $payItem);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->createPayItem: ', $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
--- | ---
payItem * | PayItem Required

# createPayRun

Creates a pay run

    /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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";

    $payRun = new XeroAPI\XeroPHP\Models\PayrollAu\PayRun;
    $payRun->setPayrollCalendarID('00000000-0000-0000-0000-000000000000');

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

## Scopes

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

## Parameters

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

Body parameters

Name | Description
--- | ---
payRun * | array[PayRun] Required

# createPayrollCalendar

Creates a Payroll Calendar

    /PayrollCalendars

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $startDate = new DateTime('2020-10-28');
    $paymentDate = new DateTime('2020-10-30');

    $payrollCalendar = new XeroAPI\XeroPHP\Models\PayrollAu\PayrollCalendar;
    $payrollCalendar->setName('Weekly');
    $payrollCalendar->setCalendarType(XeroAPI\XeroPHP\Models\PayrollAu\CalendarType::WEEKLY);
    $payrollCalendar->setStartDate($startDate);
    $payrollCalendar->setPaymentDate($paymentDate);
    $payrollCalendars = [];
    array_push($payrollCalendars, $payrollCalendar);

    try {
      $result = $apiInstance->createPayrollCalendar($xeroTenantId, $payrollCalendar);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->createPayrollCalendar: ', $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
--- | ---
payrollCalendar * | array[PayrollCalendar] Required

# createSuperfund

Creates a superfund

    /Superfunds

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";

    $superFund = new XeroAPI\XeroPHP\Models\PayrollAu\SuperFund;
    $superfund->setType(XeroAPI\XeroPHP\Models\PayrollAu\SuperFundType::REGULATED);
    $superfund->setUSI('40022701955002');

    try {
      $result = $apiInstance->createSuperfund($xeroTenantId, $superFund);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->createSuperfund: ', $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
--- | ---
superFund * | array[SuperFund] Required

# createTimesheet

Creates a 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $startDate = new DateTime('2020-10-23');
    $endDate = new DateTime('2020-10-30');

    $timesheet = new XeroAPI\XeroPHP\Models\PayrollAu\Timesheet;
    $timesheet->setEmployeeID('00000000-0000-0000-0000-000000000000');
    $timesheet->setStartDate($startDate);
    $timesheet->setEndDate($endDate);
    $timesheet->setStatus(XeroAPI\XeroPHP\Models\PayrollAu\TimesheetStatus::DRAFT);

    try {
      $result = $apiInstance->createTimesheet($xeroTenantId, $timesheet);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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 * | array[Timesheet] Required

# getEmployee

Retrieves an employee's detail by 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\PayrollAuApi(
        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 PayrollAuApi->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

# getEmployees

Searches payroll 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $ifModifiedSince = "ifModifiedSince_example";
    $where = "Status=="ACTIVE"";
    $order = "EmailAddress%20DESC";
    $page = 56;

    try {
      $result = $apiInstance->getEmployees($xeroTenantId, $ifModifiedSince, $where, $order, $page);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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
If-Modified-Since | String Only records created or modified since this timestamp will be returned

Query parameters

Name | Description
--- | ---
where | String Filter by an any element
order | String Order by an any element
page | Integer e.g. page=1 – Up to 100 employees will be returned in a single API call

# getLeaveApplication

Retrieves a leave application by a unique leave application id

    /LeaveApplications/{LeaveApplicationID}

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $leaveApplicationID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    try {
      $result = $apiInstance->getLeaveApplication($xeroTenantId, $leaveApplicationID);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->getLeaveApplication: ', $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
--- | ---
LeaveApplicationID* | UUID (uuid) Leave Application id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

# getLeaveApplications

Retrieves leave applications

    /LeaveApplications

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $ifModifiedSince = "ifModifiedSince_example";
    $where = "Status=="ACTIVE"";
    $order = "EmailAddress%20DESC";
    $page = 56;

    try {
      $result = $apiInstance->getLeaveApplications($xeroTenantId, $ifModifiedSince, $where, $order, $page);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->getLeaveApplications: ', $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
If-Modified-Since | String Only records created or modified since this timestamp will be returned

Query parameters

Name | Description
--- | ---
where | String Filter by an any element
order | String Order by an any element
page | Integer e.g. page=1 – Up to 100 objects will be returned in a single API call

# getPayItems

Retrieves pay items

    /PayItems

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $ifModifiedSince = "ifModifiedSince_example";
    $where = "Status=="ACTIVE"";
    $order = "EmailAddress%20DESC";
    $page = 56;

    try {
      $result = $apiInstance->getPayItems($xeroTenantId, $ifModifiedSince, $where, $order, $page);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->getPayItems: ', $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
If-Modified-Since | String Only records created or modified since this timestamp will be returned

Query parameters

Name | Description
--- | ---
where | String Filter by an any element
order | String Order by an any element
page | Integer e.g. page=1 – Up to 100 objects will be returned in a single API call

# getPayRun

Retrieves a 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $payRunID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    try {
      $result = $apiInstance->getPayRun($xeroTenantId, $payRunID);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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) PayRun id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

# 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $ifModifiedSince = "ifModifiedSince_example";
    $where = "Status=="ACTIVE"";
    $order = "EmailAddress%20DESC";
    $page = 56;

    try {
      $result = $apiInstance->getPayRuns($xeroTenantId, $ifModifiedSince, $where, $order, $page);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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
If-Modified-Since | String Only records created or modified since this timestamp will be returned

Query parameters

Name | Description
--- | ---
where | String Filter by an any element
order | String Order by an any element
page | Integer e.g. page=1 – Up to 100 PayRuns will be returned in a single API call

# getPayrollCalendar

Retrieves payroll calendar by using a unique payroll calendar ID

    /PayrollCalendars/{PayrollCalendarID}

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $payrollCalendarID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    try {
      $result = $apiInstance->getPayrollCalendar($xeroTenantId, $payrollCalendarID);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->getPayrollCalendar: ', $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
--- | ---
PayrollCalendarID* | UUID (uuid) Payroll Calendar id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

# getPayrollCalendars

Retrieves payroll calendars

    /PayrollCalendars

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $ifModifiedSince = "ifModifiedSince_example";
    $where = "Status=="ACTIVE"";
    $order = "EmailAddress%20DESC";
    $page = 56;

    try {
      $result = $apiInstance->getPayrollCalendars($xeroTenantId, $ifModifiedSince, $where, $order, $page);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->getPayrollCalendars: ', $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
If-Modified-Since | String Only records created or modified since this timestamp will be returned

Query parameters

Name | Description
--- | ---
where | String Filter by an any element
order | String Order by an any element
page | Integer e.g. page=1 – Up to 100 objects will be returned in a single API call

# getPayslip

Retrieves for a payslip by a unique payslip id

    /Payslip/{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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $payslipID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    try {
      $result = $apiInstance->getPayslip($xeroTenantId, $payslipID);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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) Payslip id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

# 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";

    try {
      $result = $apiInstance->getSettings($xeroTenantId);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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

# getSuperfund

Retrieves a superfund by using a unique superfund ID

    /Superfunds/{SuperFundID}

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $superFundID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    try {
      $result = $apiInstance->getSuperfund($xeroTenantId, $superFundID);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->getSuperfund: ', $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
--- | ---
SuperFundID* | UUID (uuid) Superfund id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

# getSuperfundProducts

Retrieves superfund products

    /SuperfundProducts

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $aBN = "40022701955";
    $uSI = "OSF0001AU";

    try {
      $result = $apiInstance->getSuperfundProducts($xeroTenantId, $aBN, $uSI);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->getSuperfundProducts: ', $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
--- | ---
ABN | String The ABN of the Regulated SuperFund
USI | String The USI of the Regulated SuperFund

# getSuperfunds

Retrieves superfunds

    /Superfunds

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $ifModifiedSince = "ifModifiedSince_example";
    $where = "Status=="ACTIVE"";
    $order = "EmailAddress%20DESC";
    $page = 56;

    try {
      $result = $apiInstance->getSuperfunds($xeroTenantId, $ifModifiedSince, $where, $order, $page);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->getSuperfunds: ', $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
If-Modified-Since | String Only records created or modified since this timestamp will be returned

Query parameters

Name | Description
--- | ---
where | String Filter by an any element
order | String Order by an any element
page | Integer e.g. page=1 – Up to 100 SuperFunds will be returned in a single API call

# getTimesheet

Retrieves a 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $timesheetID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    try {
      $result = $apiInstance->getTimesheet($xeroTenantId, $timesheetID);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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) Timesheet id for single object 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $ifModifiedSince = "ifModifiedSince_example";
    $where = "Status=="ACTIVE"";
    $order = "EmailAddress%20DESC";
    $page = 56;

    try {
      $result = $apiInstance->getTimesheets($xeroTenantId, $ifModifiedSince, $where, $order, $page);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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
If-Modified-Since | String Only records created or modified since this timestamp will be returned

Query parameters

Name | Description
--- | ---
where | String Filter by an any element
order | String Order by an any element
page | Integer e.g. page=1 – Up to 100 timesheets will be returned in a single API call

# updateEmployee

Updates an employee's detail

Update properties on a single employee

    /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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
    $dateOfBirth = new DateTime('2000-10-28');

    $homeAddress = new XeroAPI\XeroPHP\Models\PayrollAu\HomeAddress;
    $homeAddress->setAddressLine1('123 Test st');
    $homeAddress->setRegion('VIC');
    $homeAddress->setPostalCode(3000);
    $homeAddress->setCity('Melbourne');

    $employee = new XeroAPI\XeroPHP\Models\PayrollAu\Employee;
    $employee->setFirstName('Adam');
    $employee->setLastName('Adamson');
    $employee->setDateOfBirth($dateOfBirth);
    $employee->setHomeAddress($homeAddress);

    try {
      $result = $apiInstance->updateEmployee($xeroTenantId, $employeeID, $employee);
    } catch (Exception $e) {
      echo 'Exception when calling PayrollAuApi->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 | array[Employee]

# updateLeaveApplication

Updates a specific leave application

    /LeaveApplications/{LeaveApplicationID}

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $leaveApplicationID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
    $startDate = new DateTime('2020-10-28');
    $endDate = new DateTime('2020-10-30');

    $leaveApplication = new XeroAPI\XeroPHP\Models\PayrollAu\LeaveApplication;
    $leaveApplication->setEmployeeId('00000000-0000-0000-0000-000000000000');
    $leaveApplication->setLeaveTypeId('00000000-0000-0000-0000-000000000000');
    $leaveApplication->setTitle('Annual Leave');
    $leaveApplication->setStartDate($startDate);
    $leaveApplication->setEndDate($endDate);

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

## Scopes

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

## Parameters

Path parameters

Name | Description
--- | ---
LeaveApplicationID* | UUID (uuid) Leave Application id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

Body parameters

Name | Description
--- | ---
leaveApplication * | array[LeaveApplication] Required

# updatePayRun

Updates a pay run

Update properties on a single PayRun

    /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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $payRunID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    $payRun = new XeroAPI\XeroPHP\Models\PayrollAu\PayRun;
    $payRun->setPayrollCalendarID('00000000-0000-0000-0000-000000000000');

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

## Scopes

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

## Parameters

Path parameters

Name | Description
--- | ---
PayRunID* | UUID (uuid) PayRun id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

Body parameters

Name | Description
--- | ---
payRun | array[PayRun]

# updatePayslip

Updates a payslip

Update lines on a single payslips

    /Payslip/{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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $payslipID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    $earningsLine = new XeroAPI\XeroPHP\Models\PayrollAu\EarningsLine;
    $earningsLine->setEarningsRateID('00000000-0000-0000-0000-000000000000');
    $earningsLine->setRatePerUnit(20);
    $earningsLine->setNumberOfUnits(1);
    $earningsLines = [];
    array_push($earningsLines, $earningsLine);

    $payslipLine = new XeroAPI\XeroPHP\Models\PayrollAu\PayslipLines;
    $payslipLine->setEarningsLines(earningsLines);
    $payslipLines = [];
    array_push($payslipLines, $payslipLine);

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

## Scopes

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

## Parameters

Path parameters

Name | Description
--- | ---
PayslipID* | UUID (uuid) Payslip id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

Body parameters

Name | Description
--- | ---
payslipLines | array[PayslipLines]

# updateSuperfund

Updates a superfund

Update properties on a single Superfund

    /Superfunds/{SuperFundID}

### 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $superFundID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";

    $superFund = new XeroAPI\XeroPHP\Models\PayrollAu\SuperFund;
    $superfund->setType(XeroAPI\XeroPHP\Models\PayrollAu\SuperFundType::REGULATED);
    $superfund->setUSI('40022701955002');

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

## Scopes

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

## Parameters

Path parameters

Name | Description
--- | ---
SuperFundID* | UUID (uuid) Superfund id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

Body parameters

Name | Description
--- | ---
superFund | array[SuperFund]

# updateTimesheet

Updates a timesheet

Update properties on a single 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\PayrollAuApi(
        new GuzzleHttp\Client(),
        $config
    );
    $xeroTenantId = "xeroTenantId_example";
    $timesheetID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
    $startDate = new DateTime('2020-10-23');
    $endDate = new DateTime('2020-10-30');

    $timesheet = new XeroAPI\XeroPHP\Models\PayrollAu\Timesheet;
    $timesheet->setEmployeeID('00000000-0000-0000-0000-000000000000');
    $timesheet->setStartDate($startDate);
    $timesheet->setEndDate($endDate);
    $timesheet->setStatus(XeroAPI\XeroPHP\Models\PayrollAu\TimesheetStatus::DRAFT);

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

## Scopes

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

## Parameters

Path parameters

Name | Description
--- | ---
TimesheetID* | UUID (uuid) Timesheet id for single object Required

Header parameters

Name | Description
--- | ---
Xero-Tenant-Id* | String Xero identifier for Tenant Required

Body parameters

Name | Description
--- | ---
timesheet | array[Timesheet]