Create Payment Instruction
Context
The integration with JIT start with the payment instruction. Hence the entity we create at MUKTASoft to push into JIT as Payment Instruction will also be called Payment Instruction.
Solution
Scope
Payment Instruction
Auto Generation
Actors
Employee
Role: System
Details
Payment instruction (PI) is the API to push the PI details into JIT.
For failed transactions, revised PI is generated and then pushed into JIT.
For each bill one PI is prepared and pushed into JIT.
PI is prepared and pushed with approval of Bill (Wage Bill, Purchase Bill, Supervision Bill).
To generate a PI, selection of HOA logic is given under configuration section.
For Request/ Response parameters, please refer the integration approach document.
The response data is stored and maintained at MUKTASoft for each PI and revised PI.
Once a PI is generated can be searched and viewed using search and view PI feature.
Selection of HOA
System performs a check to decide on the HOA, It picks a HOA first out of three HOAs and check for the fund available for all the sanction orders one by one and when found sufficient fund is available, create PI.
HOAs are scanned in the sequence given below. Sequence of HOA to be selected should be configurable.
SC Head
ST Head
General Head
API Request
#
Parameter
Is Mandatory?
Description
2
jitBillNo
Yes
Payment Instruction ID of the payment instruction created in MUKTASoft and then pushed to JIT.
3
jitBillDate
Yes
Payment Instruction date of the payment instruction created in MUKTASoft and then pushed to JIT.
4
jitBillDdoCode
Yes
The code of DDO from the configuration.
5
granteeAgCode
Yes
Grantee code from the configuration.
6
schemeCode
Yes
MUKTA scheme code
7
hoa
Yes
Head of account from which payment to be made.
8
ssuIaId
Yes
Special spending unit id from the configuration.
9
mstAllotmentDistId
Yes
Virtual allotment parent ID/sanction ID from which payment to be made.
10
billNetAmount
Yes
PI net amount of the payment instruction created in MUKTASoft and then pushed to JIT.
11
billGrossAmount
Yes
PI gross amount of the payment instruction created in MUKTASoft and then pushed to JIT.
12
billNumberOfBenf
Yes
The count of beneficiaries in the payment instruction.
13
purpose
Yes
Purpose is the reference text. E.g. Muster Roll ID etc. for which the payment instruction is created.
Beneficiary Details
Array
In a single request multiple beneficiaries can be added.
14
benefId
Yes
The beneficiary's Payment ID, unique for each beneficiary for its payment. Payment of the beneficiary is tracked by this throughout the payment processing. It is generated with the PI generation.
15
benefName
Yes
Beneficiary name maintained in MUKTASoft.
16
benfAcctNo
Yes
Beneficiary’s bank account number maintained in MUKTASoft.
17
ifscCode
Yes
IFSC of bank branch from beneficiary’s accounts details.
18
benfMobileNo
Yes
Beneficiary's mobile number maintained in MUKTASoft.
19
benfAddress
Yes
Beneficiary’s address maintained in MUKTASoft.
20
accountType
Yes
Account type of beneficiary’s account maintained in MUKTASoft
21
paymentAmount
Yes
Amount payable to beneficiary.
22
panNo
No
PAN of beneficiary
23
adhaarNumber
No
Aadhaar of beneficiary
24
purpose
Yes
Purpose is the reference text. E.g. Muster Roll ID etc. for which the bill is created.
API Response
#
Parameter
Description
1
jitBillNo
Payment Instruction ID of the payment instruction created in MUKTASoft and then pushed to JIT.
2
jitBillDate
Payment Instruction date of the payment instruction created in MUKTASoft and then pushed to JIT.
3
ssuIaId
Special spending unit ID. A master value maintained in JIT-FS.
4
successCode
0 - for successfully accepting the PI.
7
sucessDescrp
Jit Bill is received successfully ,Payment Instruction will be generated after Bill is submitted by SSU in JIT-FS
No response
PI is created and saved at MUKTASoft.
Error message displayed on View Payment Instruction Page. [Message: On call of PI API: No response is received.]
PI status at MUKTASoft changes to Pending.
Beneficiary payment status update to “Payment Pending”.
Option to re-push the PI is provided, and the same time system will try to push all such PI once in a day at 9PM every day.
Response With Error
Error message is stored at MUKTASoft.
Error message displayed on View Payment Instruction Page. [Message: On call of PI API: <JIT error message>]
PI status at MUKTASoft updated/changes to Declined.
Beneficiary payment status updated to “Payment Pending”.
Option to re-push the PI is provided, necessary correction is made to encounter the error and PI is re-pushed.
Response Without Error
Success response is received and same is stored at MUKTASoft.
Info message displayed on View Payment Instruction Page. [Message: On call of PI API: Response is received and updated successfully]
PI status at the MUKTASoft changes to Initiated.
Beneficiary payment status changes to “Payment Initiated”.
An expense transaction is recorded under Fund Allocation Register.
API Call - Status - Payment Status - Actions Mapping
#
Response
PI Status (From)
PI Status (To)
Payment Status
User Action
API Call
1
No Response
Pending
Payment Pending
Resubmit
PI
2
Response with Error
Pending
Declined
Payment Pending
Resubmit
PI
3
Response Without Error
Pending/ Decline
Initiated
Payment Initiated
No Action
Validations
Make sure DDO Code and SSUID are passed into requests as per the configuration. In case configuration is missing. [Message: DDO and SSUID configuration is missing.]
Make sure Net or Gross amount of Payment Instruction is not more than the total allotted amount for SSU a HOA and Sanctioned ID. [Message: Insufficient fund.]
Make sure the payment instruction ID is unique and no PI has already been pushed with same PI ID. [Message: Duplicate payment instruction ID.]
Make sure number of beneficiaries mentioned in the header should not mismatch with the actual details. [Message: Number of beneficiaries provided in header doesn’t match with the details.]
Make sure amount mentioned in the net amount should not mismatch with the total of all the beneficiaries amount. [Message: The total net amount provided in hear doesn’t match with total of all the beneficiaries.]
Make sure Gorss amount is either equal to or more than Net Amount and none of them can be zero. [Message: Gross amount can not be less than the net amount.]
Make sure at least one beneficiary is included in PI. [Message: Beneficiary detail is missing.]
Make sure total net amount is equal to sum of all the beneficiaries’ payment amount. [Message: The total net amount provided in header doesn’t match with total of all the beneficiaries.]
Make sure PI doesn’t have duplicate beneficiary. i.e. same a/c and ifsc cannot be repeated. [Message: There are 2 or more than 2 beneficiaries account number and IFSC are same.]
Beneficiaries original account no /IFSC/Bifid is not matching with correction file – Make sure parameter values passed are correct. [Message: The beneficiary <paymentid> was not present in the original payment instruction.]
Configurations
Master Data
Status are configured as master data.
PI Status
Pending
Declined
Initiated
Rejected
Approved
In Process
Completed
Payment Status - Beneficiary’s payment status.
Payment Pending
Payment Initiated
Payment In Process
Payment Successful
Payment Failed
Attachments
Not applicable.
Workflow
Not applicable.
Actions
Resubmit (*On View Payment Instruction)*
PI is re-constructed, availability of fund is checked and push and the response is updated back.
Scheduler: Same time a scheduler running every day at 10PM will try to push such PIs which are created with status Pending.
Notifications
Not applicable
ID Generation
PI ID is generated following the format given below.
PI-<ULBCODE>/FY/<6 digit running sequence number>. E.g. PI-DK/2022-23/000023.
The Six digit running sequence no. should be running for ULB wise.
It has to be reset to 1 with start of every financial year. i.e. on 01/04 00:00AM
Payment transaction ID is generated for each beneficiary, which is unique for the every transaction. There is not specific format.
User Interface
View Payment Instruction.
Acceptance Criteria
Make sure the the availability of fund is checked before pushing the payment instruction into JIT.
PI is generated for each and every bill and pushed to JIT with the approval of bill.
All the validations are taken care.
PI ID is generated as per the format defined.
If the PI is declined, the same PI can be modified and re-pushed.
The response is captured in MUKTASoft for debugging and error reporting.
Technical glitched in the integration are defined as error and captured.
System keep trying until a response is received. The latest response is recorded in the log.