Initiate Transfer To Payroll
Initiate a transfer to payroll, including locking the searched period and producing final (non-preliminary) payroll data.
With this service you can perform the same function as transfer to payroll from the Quinyx GUI. Inclusive of locking selected (searched) period and drawing hard/final payroll data (using isPreliminary false).
If edits where required to be done after this action, transactions needs to be reversed either in GUI or by wsdlReverseTransactions
Notes
extTransferIdis mandatory and must be unique- If api key is for the main unit (rootstore), it's allowed to specify multiple units in the request
- if api key is for other unit than main unit, parameters for
unitIdandextUnitIdscan only be the unit of the api key or the not specified at all. - if
unitIdsis specifiedextUnitIdsshall be ignored fromDateandtoDateare mandatory andtoDatemust be equal or greater thanfromDate. IfuserId(s) is specified,badgeNo(s) will be ignored- if
costCentresare specified,extCostCentreswill be ignored - if
sectionId(s) are specified,extSectionId(s) will be ignored - If not
isPreliminarytransfer, validate that there are no existing definite payroll process for selected users in specified time frame.
Selection on unit id(s) is set depending on includeSalariesOptions option:
- 0 set
empUnitIds - 1 set
shiftUnitIds - 2 set
unitIds - (which unit id's to set is from
unitIds,extUnitIds,unitGroupsor unit related to api key)
Request
API key of the unit.
Filter set — see the searchOption type.
Choosable text string to identify the “payroll run”. Used later on in wsdlGetResultTransferToPayroll
its an array of user id
if userIds is specified this will be ignored
unit Ids of the employee. You only have access to the unit id of the api key unless the api key is for the root unit id of the customer, in this case u have access to all the units
if unitIds is specified this will be ignored
CostCentre Ids
External CostCentres Ids
Section ids
Ext Section Ids
Staff Categories Ids
Skill ids
Whether an employee whose period is not fully approved (contains unattested punches or unapproved leave) is still included in the transfer. Unapproved entries themselves are never transferred, regardless of this setting.
Name of the payroll system (salary file) to generate, exactly as labelled in Quinyx.
A name that doesn't match any configured payroll system fails validation. When employees are selected automatically (no userIds/badgeNos), only employees connected to this payroll system are included. When omitted, the default definition is used, which produces a generic semicolon-delimited CSV file.
Select if the payroll file should be preliminary or final (final locking all transactions)
Whether to lock the salary period. The period is never unlocked through this field.
Whether the generated payroll file is delivered to the customer's configured SFTP server instead of being made available for download.
curl -X POST 'https://api.quinyx.com/FlexForceWebServices.php' \
-H 'Content-Type: text/xml; charset=utf-8' \
-H 'SOAPAction: "uri:FlexForce/initiateTransferToPayroll"' \
--data @- <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://api.quinyx.com/soap/FlexForce">
<soap:Body>
<tns:wsdlInitiateTransferToPayroll>
<apiKey xsi:type="xsd:string">string</apiKey>
<searchOptions xsi:type="tns:searchOption">
<extTransferId xsi:type="xsd:string">string</extTransferId>
<fromDate xsi:type="xsd:date">2013-04-01</fromDate>
<toDate xsi:type="xsd:date">2013-04-30</toDate>
<userIds xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:int[1]">
<item xsi:type="xsd:int">0</item>
</userIds>
<badgeNos xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
<item xsi:type="xsd:string">string</item>
</badgeNos>
<unitIds xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:int[1]">
<item xsi:type="xsd:int">0</item>
</unitIds>
<extUnitIds xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
<item xsi:type="xsd:string">string</item>
</extUnitIds>
<includeSalariesOptions xsi:type="xsd:int">0</includeSalariesOptions>
<unitGroups xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
<item xsi:type="xsd:string">string</item>
</unitGroups>
<costCentres xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:int[1]">
<item xsi:type="xsd:int">0</item>
</costCentres>
<extCostCentres xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
<item xsi:type="xsd:string">string</item>
</extCostCentres>
<sectionIds xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:int[1]">
<item xsi:type="xsd:int">0</item>
</sectionIds>
<extSectionIds xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
<item xsi:type="xsd:string">string</item>
</extSectionIds>
<staffCategories xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:int[1]">
<item xsi:type="xsd:int">0</item>
</staffCategories>
<skills xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:int[1]">
<item xsi:type="xsd:int">0</item>
</skills>
<includeNotFullyApproved xsi:type="xsd:boolean">true</includeNotFullyApproved>
<payrollSystem xsi:type="xsd:string">string</payrollSystem>
<isPreliminary xsi:type="xsd:boolean">true</isPreliminary>
<lockSalaryPeriod xsi:type="xsd:boolean">true</lockSalaryPeriod>
<uploadFileToServer xsi:type="xsd:boolean">true</uploadFileToServer>
</searchOptions>
</tns:wsdlInitiateTransferToPayroll>
</soap:Body>
</soap:Envelope>
EOFResponse
A TransferStatus record with extTransferId, the current status, and any validationErrors.
External transfer id supplied with the request.
Current status of the transfer.
Array of validation errors, if any.
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://api.quinyx.com/soap/FlexForce">
<soap:Body>
<tns:wsdlInitiateTransferToPayrollResponse>
<return xsi:type="tns:TransferStatus">
<extTransferId xsi:type="xsd:string">string</extTransferId>
<status xsi:type="xsd:string">string</status>
<validationErrors xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
<item xsi:type="xsd:string">string</item>
</validationErrors>
</return>
</tns:wsdlInitiateTransferToPayrollResponse>
</soap:Body>
</soap:Envelope>Change log
| Date | Description |
|---|---|
| 2018-12-18 | Method created. |
| 2020-01-16 | Added lockSalaryPeriod parameter |