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 20 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