Process a Payroll

Make payroll payments using SingleView APIs

Overview

Payroll payments can be processed through SingleView APIs and require the following details to be enclosed in the payment processing request:

📘

Mandatory information

  • The user must provide the valid credentials in the header
  • Valid clientid, clientsecret, and signature
  • The request should be in the specified format
  • The request should include all the mandatory details with appropriate request tags

Process a Payroll

Endpoint details

Endpoint URL

Method

Grant type

/v1/api/erp/svPayrollService

POST

1/. clientid
2. clientsecret
3. signature

Initiate Payroll Payments

🚧

Note: A minimum of 3 payment entries are required to process a payroll request.

Sample request

curl --location --request POST 'https://servicesuat.onesingleview.com/v1/api/erp/svPayrollService' \
--header 'clientid: Enter_Client_ID' \
--header 'clientsecret: Enter_Client_Secret' \
--header 'signature: Enter_Signature' \
--header 'Content-Type: application/json' \
--data-raw '{
"svPayrollServiceRQ": {
  "company": [
    {
      "companyCode": "Enter_Company_Code",
      "payroll": [
        {
          "acERPcode": "Enter_Account_ERP_Code",
          "amount": "Enter_Amount",
          "currency": "Enter_Currency",
          "description": "Enter_Description",
          "dueDate": "YYYY-MM-DD",
          "userName": "Enter_Username",
          "payrollPayId":"Enter_Payroll_Payment_ID",
          "payeeDetails": [
            {
              "bankCode": "Enter_Bank_Code",
              "iban": "Enter_IBAN",
              "name": "Enter_Name",
              "payeeId": "Enter_Payee_ID", 
              "nationalId": "Enter_National_ID",
              "basicSalary": "Enter_Basic_Salary",
              "housingAllowance": "Enter_Housing_Allowance",
              "otherAllowance": "Enter_Other_Allowance",
              "deduction": "Enter_Deduction",
              "amount": "Enter_Amount",
              "currency": "Enter_Currency",
              "remarks": "Enter_Remarks"

            },
            {
              "bankCode": "Enter_Bank_Code",
              "iban": "Enter_IBAN",
              "name": "Enter_Name",
              "payeeId": "Enter_Payee_ID", 
              "nationalId": "Enter_National_ID",
              "basicSalary": "Enter_Basic_Salary",
              "housingAllowance": "Enter_Housing_Allowance",
              "otherAllowance": "Enter_Other_Allowance",
              "deduction": "Enter_Deduction",
              "amount": "Enter_Amount",
              "currency": "Enter_Currency",
              "remarks": "Enter_Remarks"
            },
            {
              "bankCode": "Enter_Bank_Code",
              "iban": "Enter_IBAN",
              "name": "Enter_Name",
              "payeeId": "Enter_Payee_ID", 
              "nationalId": "Enter_National_ID",
              "basicSalary": "Enter_Basic_Salary",
              "housingAllowance": "Enter_Housing_Allowance",
              "otherAllowance": "Enter_Other_Allowance",
              "deduction": "Enter_Deduction",
              "amount": "Enter_Amount",
              "currency": "Enter_Currency",
              "remarks": "Enter_Remarks"
            }
          ]
        }
      ]
    }
  ]
}
}'

Request description

JSON Tag

Description

Data Type

clientid Mandatory

Unique client identification details

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

String

clientsecret
Mandatory

Unique client identification secret code

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

String

signature
Mandatory

64-Bit string obtained by processing client signature key through Base-64 and SHA-256

String

svPayrollServiceRQ
Mandatory

Tag carrying information on request to process a payroll

Object

company
Mandatory

Tag carrying information about the company

Object

companyCode
Mandatory

Unique company identification code

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

Numerical

payroll
Mandatory

Tag carrying information on payroll details in the request

Object

acERPcode
Mandatory

Unique account ERP identification code

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

Numerical

amount
Mandatory

Total amount of the payroll

Numerical

currency
Mandatory

Currency representing the payroll amount

String

description
Mandatory

Description of the payroll

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

String

dueDate
Mandatory

Due date for processing the payroll in YYYY-MM-DDTHH:MM:SSZ format

Date

userName
Mandatory

Unique user identification details

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

String

payrollPayId
Mandatory

Unique payroll payment identification

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

String

payeeDetails
Mandatory

Tag carrying information of payees included in the payroll request

Object

bankCode
Mandatory

Unique bank identification code

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

Stringt

iban
Mandatory

Unique international bank account number

String

name
Mandatory

Name of the payee

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

String

payeeId
Mandatory

Unique employee code or payee code identification

  • Length of input:
    Min 3 Characters
    Max 20 Characters_

String

nationalId
Mandatory

Unique national identification details of the payee
Length of input: 10 Digits

String

basicSalary
Mandatory

Basic salary amount of the payee

Numerical

housingAllowance
Mandatory

Housing allowance amount of the payee

Numerical

otherAllowance
Mandatory

Other allowance amount of the payee

Numerical

deduction
Mandatory

Total deduction amount of the payee

Numerical

amount
Mandatory

Total amount for the payee

Numerical

currency
Mandatory

Currency representing the payee amount

String

remarks
Optional

Remarks for payment to the payee

  • Length of input:
    Min 3 Characters
    Max 35 Characters_

String

Sample response

{
  "svPayrollServiceRS": {
    "company": [
      {
        "companyCode": "Company_Code",
        "payroll": [
          {
            "acERPcode": "Account_ERP_Code",
            "payrollPayId":"Payroll_Payment_ID",
            "authId":"Authentication_ID",
            "status": 0,
            "message": "Status_Message",
            "payeeDetails": [
              {
                "bankCode": "Bank_Code",
                "payeeId": "Payee_ID"
              },
              {
                "bankCode": "Bank_Code",
                "payeeId": "Payee_ID"
              },
              {
                "bankCode": "Bank_Code",
                "payeeId": "Payee_ID"
              }
            ]
          }
        ]
      }
    ]
  }
}

Response description

JSON TagDescriptionData Type
svPayrollServiceRSTag carrying information on process response for payroll processing requestObject
companyTag carrying information on companyObject
companyCodeUnique company identification codeNumerical
payrollTag carrying information on payroll payments in the responseObject
acERPcodeUnique ERP account codeNumerical
payrollPayIdUnique payroll payment identification detailsString
authIdUnique authentication identification detailsString
statusStatus code of the responseBoolean
messageStatus message descriptionString
payeeDetailsTag carrying information on payee payment details in the responseObject
bankCodeUnique bank code identificationString
payeeIdUnique payee/employee identificationString