Web Services - Salary
1 Module Overview
General information about the NetBaron-Web Services interface is provided in a separate document, available from NetBaron support upon request. This document describes only the Salary Web Services module, which enables the use of NetBaron® slary system from external services. With this module, new salary entries can be added and existing payroll entries can be retrieved based on various search criteria. In addition, a list of available payment groups and salary entry statuses can also be retrieved.
Error handling must be integrated into the interfaces in case of connection interruptions.
The interface does not support multiple currencies; only the EUR currency is supported.
1.1 Usage Examples
Retrieving payroll entries within a specific time period
Retrieving payroll entries using employee information
Retrieving payroll entries based on payroll status
Adding new payroll entries
1.2 Other information
The methods available in the module are defined in the WSDL description. The data transferred via the interface is validated using an XSD file specified in the WSDL description. The XSD is available at: https://server/ws/salary?xsd=1.0. The XSD file includes detailed, element-specific descriptions. When implementing the interface, it is important to note that if a large amount of incorrect data is imported automatically, removing it manually can be laborious. Therefore, it is essential to verify the correctness of the data before transmission.
2 Technical information
2.1 Service information
Address: | https://server/ws/salary?wsdl=1.0 If an alternative parallel interface has been enabled, the interface number must be included in the address in order to call the correct endpoint. Otherwise, authentication will fail. |
Authentication: | Organization and the organization-specific Web Services password |
Character set: | UTF-8 |
Available methods: | Defined in the WSDL description |
Type of request: | Method call |
Type of response: | Object |
Notes: | Other possible notes related to the WS module |
2.2 Method Overview
2.2.1 Available methods
Element | Definition |
PostSalaryEntryList | Add salary entries |
GetSalaryEntryList | Retrieve salary entries |
GetSalaryEntryStatusList | Retrieve the available salary entry statuses |
GetSalaryPaymentGroupList | Retrieve the available payment groups |
2.2.2 PostSalaryEntryList-method
Element | Type | Definition |
EntryFileList | array | List of salary entries to be added |
CalculateEntries | boolean | Determines whether calculations are performed on the entries during import. If set to true, the entries will be recalculated during the import. The calculation will overwrite any summary totals that have been provided in the EntryTotalSumDetails section of the data with totals calculated based on the entry rows. Missing side expense rows will be added to the entry if the salary category type settings allow row creation on the salary entry. If the parameter is set to false, only the summary totals will be calculated during import. |
AcceptEntries | boolean | Determines whether entries are automatically accepted during import. The parameter only affects entries that do not have a number. Salary entries that already have a number are accepted during import regardless of this parameter. |
UnitPriceFromEntryRow | boolean | Determines whether the unit price is imported from the provided data when automatic calculation (CalculateEntries = true) is enabled. If the parameter is set to false, the unit price is imported from default salaries if the imported data contains one or more rows defined as default salaries. |
RowAmountFromEntryRow | boolean | Determines whether the quantity is imported from the provided data when automatic calculation (CalculateEntries = true) is enabled. If the parameter is set to false, the quantity is imported from default salaries if the imported data contains one or more rows defined as default salaries. |
RowAccountDetailsFromSalaryType | boolean | Determines whether account details are imported from default salaries. |
2.2.3 Matching salary entries during import
First, the external personnel ID (ExternalPersonnelNumber) is checked. If the external personnel ID is missing or no person is found, the search is done using the personal identity code.
If multiple persons are found with the external personnel ID, the search is refined using the personal identity code.
If the personal identity code is 11 characters long, it can be used directly for the search.
If no person is found, or if the personal identity code is not exactly 11 characters long, the search is performed using the personal identity code plus name details.
If both the personal identity code and external ID are missing, the search is done by name details, and the employee is selected only if there is exactly one match.
2.2.4 EntryFileList-table
Element | Type | Definition |
FileName | string | Name of the salary entry file |
FileContent | base64 | Content of the salary entry file |
FileContent | This element contains the details of the salary entry to be added in XML format. The format is defined in the SalaryEntry element of the XSD file used by the WSDL. Before processing, the file content is validated against the XSD on the server. |
2.2.5 SalaryEntry – object
Defines the structure of the salary entry block. The SalaryEntry object must include the schema version parameter Version="1.0".
Element | Type | Definition |
SalaryPeriodDetails | object | Information about the salary period to which the salary entry belongs |
SalaryRecipientDetails | object | Salary entry recipient details |
SalaryEntryId | int | Salary entry ID |
SalaryEntryType | enum | Type of salary entry A = advance salary entry N = regular salary entry |
SalaryEntryNumber | string | Salary entry number |
EntryStartDate | date | Start date of the salary entry |
EntryEndDate | date | End date of the salary entry |
EntryPaymentDate | date | Payment date of the salary entry |
EntryBookingDate | date | Entry date of the salary entry |
EntryWorkDays | int | Number of workdays in the salary entry |
EntryActualWorkDays | int | Number of actual workdays recorded in the salary entry |
EntryTaxDays | double | Number of tax days in the salary entry |
EntryVacationDays | double | Number of vacation days in the salary entry period |
EntryExtraInfo | string | Salary entry extra info |
SalaryEntryStatusDetails | object | Status details of the salary entry |
EntryTotalSumDetails | object | Summary of the total amounts of the salary entry |
SalaryEntryRow | object | Details of a salary entry row |
SalaryEntryAttachments | object | Attachments of the salary entry |
2.2.6 SalaryRecipientDetails - object
Information about the salary period to which the salary entry belongs.
Element | Type | Definition |
PeriodId | int | ID of the salary period |
PeriodStartDate | date | Start date of the salary period |
PeriodEndDate | date | End date of the salary period |
2.2.8 SalaryRecipientDetails
2.2.7.1 SalaryRecipientDetails – object
Information about the recipient of the salary entry.
Element | Type | Definition |
SocialSecurityNumber | string | Social security number |
TaxNumber | string | Tax number |
RecipientFirstName | string | First name |
RecipientLastName | string | Last name |
RecipientMiddleName | string | Middle name |
ExternalPersonnelNumber | string | External personnel number |
2.2.7.2 TaxCardDetails – object
Tax card details of the salary recipient
Element | Type | Definition |
TaxCardStartDate | date | Start date of the tax card |
TaxCardEndDate | date | End date of the tax card |
2.2.7.3 PaymentTypeDetails – object
The salary recipient’s payment type details
Element | Type | Definition |
PaymentTypeCode | string | Payment type |
2.2.7.4 PaymentGroupDetails – object
Information about the salary recipient’s payment groups
Details of the salary slip status | Details of the salary slip status | Details of the salary slip status |
Description | string | Payment group |
2.2.7.5 PensionInsuranceType – element
Type of the salary recipient’s pension insurance
Value | Type | Definition |
Tyel or YEL | string | Payment group |
2.2.8 SalaryEntryStatusDetails - object
Details of the salary entry status
Element | Type | Definition |
Id | int | Salary entry status ID |
Description | string | Salary entry status description |
2.2.9 EntryTotalSumDetails – object
Summary of the salary entry total amounts
Element | Type | Definition |
MonetarySalaryAmount | double | Total amount of salary in the salary entry |
FringeBenefitAmount | double | Total amount of fringe benefits in the salary entry |
TaxFreeCompensationAmount | double | Total amount of tax-free compensations in the salary entry |
DockageAmount | double | Total pre-tax deductions in the salary entry |
HolidaySalaryAmount | double | Total amount of holiday salaries in the salary entry |
HolidayMoneyAmount | double | Total amount of holiday bonuses in the salary entry |
HolidayCompensationAmount | double | Total amount of holiday pay in the salary entry |
WithHoldingTaxAmount | double | Total amount of withholding tax in the salary entry |
PensionInsuranceAmount | double | Total amount of pension insurance contribution in the salary entry |
UnemploymentInsuranceAmount | double | Total amount of unemployment insurance contribution in the salary entry |
LaborUnionPaymentAmount | double | Total amount of labor union membership fees in the salary entry |
OtherAmount | double | Total amount of other expenses or income in the salary entry |
ToBePaidAmount | double | Total amount to be paid in the salary entry |
TaxableExpensesCompensationAmount | double | Total amount of taxable expense compensations in the salary entry (untreated advance salary amount) |
PensionInsuranceEmployerShareAmount | double | Total amount of the employer’s share of the pension insurance payment in the salary entry |
UnemploymentInsuranceEmployerShareAmount | double | Total amount of the employer’s share of the unemployment insurance payment in the salary entry |
SocialSecurityPaymentAmount | double | Total amount of the social security payment in the salary entry |
HealthInsuranceAmount | double | Total amount of the health insurance daily allowance payment in the salary entry |
GroupLifeInsurancePaymentAmount | double | Total amount of the group life insurance payment in the salary entry |
AccidentInsurancePaymentAmount | double | Total amount of the accident insurance payment in the salary entry |
2.2.10 SalaryEntryRow – object
Details of a salary entry row
Element | Type | Default | Definition |
SalaryCategoryNumber | string | The salary type number of the row | |
SalaryCategoryDescription | string | Description of the salary type for the row | |
RowUnitPrice | double | Unit price of the row | |
RowQuantity | double | Quantity of the row | |
RowTotalSum | double | Total amount of the row | |
RowUnit | string | Unit of the row | |
RowAccount | string | Ledger account for the salary entry row | |
RowOffsetAccount | string | Offset account for the salary entry row | |
CostCenter | string | Cost center number for the salary entry row | |
JobNumber | string | Work number for the salary entry row | |
FreeText | string | Additional info for the row | |
RowStartDate | date | Row start date | |
RowEndDate | date | Row end date | |
EditPPU | boolean | false | This parameter specifies whether the A.price is manually edited. If set to true, recalculation of the field is not performed, for example, when the payment date changes. |
EditAmount | boolean | false | This parameter specifies whether the quantity is manually edited. If set to true, recalculation of the field is not performed, for example, when the payment date changes. |
EditSum | boolean | false | This parameter specifies whether the amount is manually edited. If set to true, recalculation of the field will not be performed, for example, when the payment date changes. |
2.2.11 SalaryEntryAttachments – object
Element | Type | Definition |
SalaryAttachment | object | Attachments for the salary entry; there can be multiple attachments. In that case, multiple SalaryAttachment objects are added inside the parent object. |
2.2.11.1 SalaryAttachment – object
Element | Type | Definition |
AttachmentName | string | Attachment file name |
AttachmentMimeType | string | Attachment file MIME type |
AttachmentContent | base64 | Attachment file content |
2.2.12 PaymentGroup – object
Defines the structure of a payment group
Element | Type | Definition |
PaymentGroupId | int | Payment group ID |
PaymentGroupDetails | object | End date of the salary year |
2.2.12.1 PaymentGroupDetails – object
Element | Type | Definition |
Description | string | Payment group description |
2.2.13 GetSalaryEntryList-method
The GetSalaryEntryList method can be called without parameters. In this case, all salary entries with a payment date within the last three months are retrieved. Searches can be performed more precisely using parameters. Table 18 presents the available parameters. Descriptions of the parameters can also be found in the XSD file under the EntryListParameter element. All search criteria are cumulative (i.e., they narrow down the search). When using the SalaryRecipientName parameter, the search is performed on the salary recipient's first name, last name, and full name fields.
Parameters for the GetSalaryEntryList method call:
Element | Type | Definition |
SalaryEntryId | NumberParamType | Salary entry ID |
SalaryEntryDate | DateParamType | Date of the salary entry |
SalaryRecipientName | StringParamType | Name of the salary recipient |
SalaryEntryStatusId | NumberParamType | Status of the salary entry |
SalaryEntryNumber | StringParamType | Number of the salary entry |
PaymentGroupId | NumberParamType | Payment group |
GetAttachments | boolean | Whether to include salary entry attachments. True = yes, false = no |
2.2.14 NumberParamType-type
NumberParamType is an alternative-type parameter. This means that only one of the elements listed in the table below can be used at a time.
Element | Type | Definition |
Single | int | A single number |
Range | object | A number range |
In | array(int) | A set of numbers |
NumberParamType-tyypin Range-object:
Element | Type | Definition |
Start | int | The first number in the range |
End | int | The last number in the range |
2.2.15 DateParamType-type
DateParamType is an alternative-type parameter. This means that only one of the elements listed in the table below can be used at a time.
Element | Type | Definition |
Single | int | Single date |
Range | object | Date range |
TargetField | String-attribute | Specifies the date field the search will target. |
DateParamType-tyypin Range-object:
Element | Type | Definition |
Start | date | Start date of the date range |
End | date | End date of the date range |
2.2.16 TargetField-attribute
Specifies the field to which the date search applies. The default value is PaymentDate.
Possible values for the TargetField attribute:
Element | Type | Definition |
PaymentDate | string | Search targets the payment date field. Default value. |
RegistrationDate | string | Search targets the entry booking date field. |
DueDate | string | Search targets the due date field. |
2.2.17 StringParamType-type
Value | Type | Definition |
Exact | string | Searches for values that match the search criteria. |
Like | string | Searches for values that contain the search term. |
In | array(string) | Searches for values that match any of the given search terms. |
2.2.18 Response of GetSalaryEntryList method call
The response contains, as XML data, all salary entries that match the search criteria. Each salary entry in the file is always a single SalaryEntry element. The structure of the element is defined in the XSD file used by the WSDL.
Value | Type | Definition |
SalaryEntryList | base64 | XML data encoded in base64 |
2.2.19 GetSalaryEntryStatusList-method
Retrieves the available salary entry statuses and returns them as a list.
Value | Type | Definition |
SalaryEntryStatus | array(object) |
SalaryEntryStatus-object:
Value | Type | Definition |
Id | int | Status ID |
Description | string | Status name |
2.2.20 GetSalaryPaymentGroupList-method
Retrieves the available payment groups and returns them in an array.
Value | Type | Definition |
PaymentGroup | array(object) |
PaymentGroup-object:
Value | Type | Definition |
PaymentGroupId | int | Payment group ID |
PaymentGroupDetails | object | Payment group details |
PaymentGroupDetails-object:
Value | Type | Definition |
Description | string | Payment group description |
3 Code samples
It should be noted that the code samples presented in the documents are examples of how the interface can be used. Implementation of the codes requires PHP knowledge from the www-service provider. NetBaron Solutions Oy is not responsible for any direct or indirect damage and costs related to the sample codes when a third party does the implementation and further development.
Please note: The code created by your software developer must not cause server overload situations. We reserve the right to bill the creator of the software code or the end customer for system failure in the server environment. If necessary, please get the software code checked by sending it to tuki@netbaron.fi and adding the mention: "WS-Salaryinterface software code to product development for review and possible feedback".
3.1 PHP
3.1.1. Client initialization
<?php
/**
* Client
*/
try {
$client = new SoapClient(
"https://<server_url>/ws/salary?wsdl=<wsdl_version>",
array(
'uri' => "urn:NBWS",
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL,
'soap_version' => SOAP_1_2,
'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 5,
'cache_wsdl' => WSDL_CACHE_NONE
));
} catch (Exception $ex) {
var_dump($ex);
}
/**
* UsernameToken
*/
$ns = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd';
$UsernameToken = new stdClass();
$UsernameToken->Username = new SoapVar(utf8_encode('username'), XSD_STRING, null, null, null, $ns);
$UsernameToken->Password = new SoapVar(utf8_encode('password'), XSD_STRING, null, null, null, $ns);
$Security = new stdClass();
$Security->UsernameToken = new SoapVar($UsernameToken, SOAP_ENC_OBJECT, null, null, null, $ns);
$Header = new SoapVar($Security, SOAP_ENC_OBJECT, null, null, null, $ns);
$Headers = array(
new SoapHeader($ns, 'Security', $Header)
);
$client->__setSoapHeaders($Headers);
?>
3.1.2 PostSalaryEntryList
<?php
try {
$fileList = array();
$fileList['SalaryEntryFile'][] = array(
'FileName' => 'entry1.xml',
'FileContent' => file_get_contents('entry1.xml')
);
$fileList['SalaryEntryFile'][] = array(
'FileName' => 'entry2.xml',
'FileContent' => file_get_contents('entry2.xml')
);
$fileList['SalaryEntryFile'][] = array(
'FileName' => 'entry 3',
'FileContent' => '
<ns1:SalaryEntry Version="1.0" xmlns:ns1="urn:NBWS:salary:v1.0">
<ns1:SalaryRecipientDetails>
<ns1:SalaryRecipientDetails>
<ns1:SocialSecurityNumber>061176-M</ns1:SocialSecurityNumber>
<ns1:RecipientFirstName>Teemu</ns1:RecipientFirstName>
<ns1:RecipientLastName>Testaaja</ns1:RecipientLastName>
</ns1:SalaryRecipientDetails>
<ns1:TaxCardDetails>
<ns1:TaxCardStartDate>2015-02-01</ns1:TaxCardStartDate>
<ns1:TaxCardEndDate>2016-01-31</ns1:TaxCardEndDate>
</ns1:TaxCardDetails>
<ns1:PaymentTypeDetails>
<ns1:PaymentTypeCode>P</ns1:PaymentTypeCode>
</ns1:PaymentTypeDetails>
<ns1:PaymentGroupDetails>
<ns1:Description>Monthly salary</ns1:Description>
</ns1:PaymentGroupDetails>
<ns1:PensionInsurance>TyEL</ns1:PensionInsurance>
</ns1:SalaryRecipientDetails>
<ns1:SalaryEntryType>N</ns1:SalaryEntryType>
<ns1:EntryStartDate>2015-07-01</ns1:EntryStartDate>
<ns1:EntryEndDate>2015-07-31</ns1:EntryEndDate>
<ns1:EntryPaymentDate>2015-07-20</ns1:EntryPaymentDate>
<ns1:SalaryEntryRow>
<ns1:SalaryCategoryNumber>110</ns1:SalaryCategoryNumber>
<ns1:RowUnitPrice>2500,78</ns1:RowUnitPrice>
<ns1:RowQuantity>1.00</ns1:RowQuantity>
<ns1:RowTotalSum>2500.78</ns1:RowTotalSum>
<ns1:RowAccount>5000</ns1:RowAccount>
<ns1:RowOffsetAccount>2961</ns1:RowOffsetAccount>
</ns1:SalaryEntryRow>
<ns1:SalaryEntryRow>
<ns1:SalaryCategoryNumber>200</ns1:SalaryCategoryNumber>
<ns1:RowUnitPrice>50</ns1:RowUnitPrice>
<ns1:RowQuantity>15</ns1:RowQuantity>
<ns1:RowTotalSum>750</ns1:RowTotalSum>
<ns1:RowAccount>5000</ns1:RowAccount>
<ns1:RowOffsetAccount>2961</ns1:RowOffsetAccount>
</ns1:SalaryEntryRow>
</ns1:SalaryEntry>
');
$calculate = true;
$accept = false;
$response = $client->PostSalaryEntryList($fileList, $calculate, $accept);
} catch (SoapFault $ex) {
var_dump($ex);
}
?>
3.1.3 GetSalaryEntryList
<?php
try {
/**
* Get entries which have payment date in January and are in accepted-status
*/
$parameters = array();
$parameters['SalaryEntryDate'] = array(
'Range' => array(
'Start' => '2015-01-01',
'End' => '2015-01-31'
),
'TargetField' => 'PaymentDate'
);
$parameters['SalaryEntryStatusId'] = array(
'Single' => 46
);
$list = $client->GetSalaryEntryList($parameters);
} catch (SoapFault $ex) {
var_dump($ex);
}
?>
3.1.4 GetSalaryEntryStatusList
<?php
try {
$list = $client->getSalaryEntryStatusList();
} catch (SoapFault $ex) {
var_dump($ex);
}
?>
3.1.5 GetSalaryPaymentGroupList
<?php
try {
$list = $client->getSalaryPaymentGroupList();
} catch (SoapFault $ex) {
var_dump($ex);
}
3.2 XML
3.2.1 PostSalaryEntryList (REQUEST)
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:NBWS:salary:v1.0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<ns1:EntryFileList>
<ns1:SalaryEntryFile>
<ns1:FileName>entry1.xml</ns1:FileName>
<ns1:FileContent>PD94bWwgdm .... MTpTYWxhcnlFbnRyeT4=</ns1:FileContent>
</ns1:SalaryEntryFile>
<ns1:SalaryEntryFile>
<ns1:FileName>entry2.xml</ns1:FileName>
<ns1:FileContent>PD94bWwgdm .... zE6U2FsYXJ5RW50cnk+=</ns1:FileContent>
</ns1:SalaryEntryFile>
<ns1:SalaryEntryFile>
<ns1:FileName>entry 3</ns1:FileName>
<ns1:FileContent>PG5zMTpTYW .... MTpTYWxhcnlFbnRyeT4=</ns1:FileContent>
</ns1:SalaryEntryFile>
</ns1:EntryFileList>
<ns1:CalculateEntries>true</ns1:CalculateEntries>
<ns1:AcceptEntries>false</ns1:AcceptEntries>
</env:Body>
</env:Envelope>
3.2.2 PostSalaryEntryList (RESPONSE)
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:NBWS:salary:v1.0">
<env:Body>
<ns1:PostSalaryEntryListResponse>
<ns1:ResponseMessage>
<ns1:FileName>entry1.xml</ns1:FileName>
<ns1:Message>OK</ns1:Message>
<ns1:SalaryEntryId>13018</ns1:SalaryEntryId>
</ns1:ResponseMessage>
<ns1:ResponseMessage>
<ns1:FileName>entry2.xml</ns1:FileName>
<ns1:Message>OK</ns1:Message>
<ns1:SalaryEntryId>13019</ns1:SalaryEntryId>
</ns1:ResponseMessage>
<ns1:ResponseMessage>
<ns1:FileName>entry 3</ns1:FileName>
<ns1:Message>OK</ns1:Message>
<ns1:SalaryEntryId>13020</ns1:SalaryEntryId>
</ns1:ResponseMessage>
</ns1:PostSalaryEntryListResponse>
</env:Body>
</env:Envelope>
3.2.3 GetSalaryEntryList (REQUEST)
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:NBWS:salary:v1.0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<ns1:EntryListParameters>
<ns1:SalaryEntryDate TargetField="PaymentDate">
<ns1:Range>
<ns1:Start>2015-01-01</ns1:Start>
<ns1:End>2015-01-31</ns1:End>
</ns1:Range>
</ns1:SalaryEntryDate>
<ns1:SalaryEntryStatusId>
<ns1:Single>46</ns1:Single>
</ns1:SalaryEntryStatusId>
</ns1:EntryListParameters>
</env:Body>
</env:Envelope>
3.2.4 GetSalaryEntryList (RESPONSE)
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:NBWS:salary:v1.0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<ns1:EntryListParameters>
<ns1:SalaryEntryDate TargetField="PaymentDate">
<ns1:Range>
<ns1:Start>2015-01-01</ns1:Start>
<ns1:End>2015-01-31</ns1:End>
</ns1:Range>
</ns1:SalaryEntryDate>
<ns1:SalaryEntryStatusId>
<ns1:Single>46</ns1:Single>
</ns1:SalaryEntryStatusId>
</ns1:EntryListParameters>
</env:Body>
</env:Envelope>
3.2.5 GetSalaryEntryStatusList (REQUEST)
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:NBWS:salary:v1.0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<ns1:SalaryEntryStatusListRequest/>
</env:Body>
</env:Envelope>
3.2.6 GetSalaryEntryStatusList (RESPONSE)
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:NBWS:salary:v1.0">
<env:Body>
<ns1:SalaryEntryStatusList>
<ns1:SalaryEntryStatus>
<ns1:Id>1</ns1:Id>
<ns1:Description>Kesken</ns1:Description> <!-- INCOMPLETE -->
</ns1:SalaryEntryStatus>
<ns1:SalaryEntryStatus>
<ns1:Id>20</ns1:Id>
<ns1:Description>Valmis</ns1:Description> <!-- COMPLETE -->
</ns1:SalaryEntryStatus>
<ns1:SalaryEntryStatus>
<ns1:Id>46</ns1:Id>
<ns1:Description>Hyväksytty</ns1:Description> <!-- ACCEPTED -->
</ns1:SalaryEntryStatus>
<ns1:SalaryEntryStatus>
<ns1:Id>51</ns1:Id>
<ns1:Description>Maksussa</ns1:Description> <!-- UNDER PAYMENT -->
</ns1:SalaryEntryStatus>
<ns1:SalaryEntryStatus>
<ns1:Id>52</ns1:Id>
<ns1:Description>Maksettu</ns1:Description> <!-- PAID -->
</ns1:SalaryEntryStatus>
<ns1:SalaryEntryStatus>
<ns1:Id>toBeChecked</ns1:Id>
<ns1:Description>Tarkastettavat</ns1:Description> <!-- TO BE CHECKED -->
</ns1:SalaryEntryStatus>
</ns1:SalaryEntryStatusList>
</env:Body>
</env:Envelope>
3.2.7 GetSalaryPaymentGroupList (REQUEST)'
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:NBWS:salary:v1.0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<ns1:SalaryPaymentGroupListRequest/>
</env:Body>
</env:Envelope>
3.2.8 GetSalaryPaymentGroupList (RESPONSE)
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:NBWS:salary:v1.0">
<env:Body>
<ns1:SalaryPaymentGroupList>
<ns1:PaymentGroup>
<ns1:PaymentGroupId>21</ns1:PaymentGroupId>
<ns1:PaymentGroupDetails>
<ns1:Description>Monthly salary</ns1:Description>
</ns1:PaymentGroupDetails>
</ns1:PaymentGroup>
<ns1:PaymentGroup>
<ns1:PaymentGroupId>31</ns1:PaymentGroupId>
<ns1:PaymentGroupDetails>
<ns1:Description>Hourly wage</ns1:Description>
</ns1:PaymentGroupDetails>
</ns1:PaymentGroup>
</ns1:SalaryPaymentGroupList>
</env:Body>
</env:Envelope>