Loan Action : Receipt Creation
POST Receipt Creation
This API facilitates the creation of a receipt for a loan transaction within the SynoFin platform. Users can submit a request for receipt generation, providing various transaction details. After successful creation, the request undergoes validation by a checker, who takes appropriate action (Service Request Actions | SynoFin Docs) to either approve or reject it.
Attribute Priority: Attributes fetched from SynoFin master are prioritized for inclusion in SynoFin masters.
URL: {{base_url}}/loan-modification/v1/service-request/save
Run in Postman: Receipt Creation Request
Request:
Schema
| Attribute | Data Type | Description | Mandatory |
|---|---|---|---|
| loan_id | String | The unique identifier for the loan. | Yes |
| request_data | Object | Contains various details related to the loan receipt request. | Yes |
| service_request_id | String | The ID of the service request. | No |
| service_request_subtype | String | The subtype of the service request. | Yes |
| service_request_type | String | The type of service |
Yes |
| service_type | String | The type of service. | No |
Request Data Object
| Attribute | Data Type | Description | Mandatory |
|---|---|---|---|
| loan_application_number | String | The loan application number. | No |
| date_of_receipt | Date | The value date of the receipt | Yes |
| receipt_amount | String | The amount received from the customer | Yes |
| cash_receipt_number | String | The cash receipt number. Mandatory if payment_mode is "cash". System auto-generates if sent blank. | No |
| payment_mode | String | The mode of payment (e.g., imps, neft, etc). Fetched from masters. Use keys from the masters. | Yes |
| transaction_date | Date | Business date of the system. Can be skipped. | No |
| received_from | String | Identifier of the entity from which payment is received. | No |
| receipt_purpose | String | The purpose of the receipt (e.g., installment, any_due). This is fetched from masters. Use keys from the masters. | Yes |
| payment_gateway_partner | String | It is the payment gateway partner like paytm. This is fetched from masters. Use keys from the masters. | No |
| e_nach_type | String | Its the type of e-nach like emandate_dc, upisi, papernach, nach_esign. This is fetched from masters. Use keys from the masters. Required when payment_mode is "nach". |
No |
| instrument_date | Date | The date mentioned on the instrument. Required when payment_mode is cheque/DD/NACH. | No |
| instrument_number | String | The number of the instrument. Required when payment_mode is cheque/DD/NACH. | No |
| transaction_reference | String | The reference number of the transaction. | No |
| collection_agency_code | String | Agency of the collection. | No |
| ifsc | String | IFSC code of the of the bank where receipt money is getting deposit. Required for payment_mode - neft/rtgs/imps/internet banking | No |
| payment_bank | String | Lender's bank account in which the money was received. Fetched from bank master. Fetched From Admin Master(id in Bank Accounts). | Yes |
| instrument_bank_name | String | The name of the bank. Required when payment_mode is cheque/DD/NACH. | No |
| instrument_bank_address | String | The address of the bank. Required when payment_mode is cheque/DD/NACH. | No |
| bank_account_number | String | The bank account number of the lender's bank for the transaction. | No |
| sourcing_branch | String | The code of the sourcing branch. Required when payment_mode is cash. | No |
| deliverable_charge_code | String | The code for any associated deliverable charge. Required when receipt_purpose is deliverble charge. | No |
| upi | String | The UPI ID associated with the transaction. | No |
| is_nach | Boolean | Indicates whether the payment method is NACH. | No |
| bounce_reason_for_nach | String | Reason for NACH bounce, if applicable. | No |
| fund_transfer_number | String | The fund transfer number associated with the transaction. | No |
| addition_in_excess_money | String | Additional amount added beyond the specified limit. | No |
| bank_recon_ref_identifier | String | The bank reconciliation reference identifier. | No |
| auto_allocated | String | Indicates whether the amount was auto-allocated. Possible values: "Yes" or "No". Suggested - "Yes". | Yes |
| receipts_allocation | Object | Required when auto_allocation is sent "No" | No |
| remarks | String | Remarks if required. | No |
| city_string | String | City where receipt is deposited. | No |
| taluka_string | String |
Taluka where receipt is deposited. |
No |
| district_string | String | District where receipt is deposited. | No |
| state_string | String | State where receipt is deposited. | No |
| pincode | String | Pincode where receipt is deposited. | No |
Body
{
"service_request_type": "receipt",
"service_request_subtype": "2",
"service_type": "",
"loan_id": "239",
"request_data": {
"loan_application_number": "",
"date_of_receipt": "2024-08-29",
"receipt_amount": "2000",
"cash_receipt_number": "",
"payment_mode": "neft", //Fetched From SynoFin Master {neft, rtgs, imps, internet_banking, nach, upi etc..}
"transaction_date": "2024-09-01",
"received_from": "LPPLHYDER012610466441",
"receipt_purpose": "any_due", //Fetched From SynoFin Master {any_due, installment, charges etc..}
"payment_gateway_partner": "paytm", //Fetched From SynoFin Master {paytm, razorpay, payu etc..}
"e_nach_type": "", //Fetched From SynoFin Master {emandate_dc, upisi, papernach, nach_esign etc..}
"instrument_date": "2024-09-01",
"instrument_number": "",
"transaction_reference": "",
"collection_agency_code": "",
"ifsc": "",
"payment_bank": "12312", //Fetched From Admin Master(id in Bank Accounts)
"instrument_bank_name": "",
"instrument_bank_address": "",
"bank_account_number": "",
"sourcing_branch": "",
"deliverable_charge_code": "",
"upi": "",
"is_nach": true,
"bounce_reason_for_nach": "", //Fetched From SynoFin Master {invalid_umrn, invalid_mandate, mandate_cancelled etc..}
"fund_transfer_number": "76464E5733322",
"addition_in_excess_money": "0",
"bank_recon_ref_identifier": "",
"auto_allocated": "Yes",
"receipts_allocation": "",
"receivables": //Fetched From Get Data for Loan Actions API using "request_id" = "receipt"
[
{
"charge_id": -2,
"charge_label": "Loan Processing fee",
"total_outstanding_amount": 26,
"type": "charges",
"original_amount": 26,
"charge_definition_id": null,
"excess_money_id": null,
"loan_id": null,
"disbursal_schedule_id": null,
"charge_code": "processing_fee",
"outstanding_amount": 26,
"amount_in_process": 0,
"payment_status": null,
"paid_amount": null,
"total_paid_amount": null,
"total_paid_amount_in_process": null,
"paid_amount_in_process": null,
"allocated_amount": "26",
"reason": null,
"payment_date": null,
"repayment_id": null,
"balance_payable": 0
},
{
"charge_id": -1,
"charge_label": "Total Outstanding Installment Amount",
"total_outstanding_amount": 1401,
"type": null,
"original_amount": null,
"charge_definition_id": null,
"excess_money_id": null,
"loan_id": null,
"disbursal_schedule_id": null,
"charge_code": null,
"outstanding_amount": 1401,
"amount_in_process": 0,
"payment_status": null,
"paid_amount": null,
"total_paid_amount": null,
"total_paid_amount_in_process": null,
"paid_amount_in_process": null,
"allocated_amount": "200",
"reason": null,
"payment_date": null,
"repayment_id": null,
"balance_payable": 1201
}
],
"remarks": ""
},
"service_request_id": ""
}
Response:
Success: 200 OK
Schema
| Attribute | Data Type | Description | Mandatory |
|---|---|---|---|
| response | Boolean | Indicates the success of the request. | Yes |
| data | Object | Contains additional details about the request. | Yes |
| result | Any | Result of the request. | No |
| status | String | Current status of the service request. | Yes |
| service_request_id | Integer | Unique identifier for the service request. | Yes |
| unique_transaction_number | Any | Unique transaction number, if applicable. | No |
| error | Any | Details of any errors, if applicable. | No |
Body
{
"response": true,
"data": {
"result": null,
"status": "initiated",
"service_request_id": 1349,
"unique_transaction_number": null
},
"error": null
}
Internal Server Error: 200
Schema
Error Response Code and Messages
| S. No | Code | Message | Description |
| 1. |
107373
|
Receipt Reference Number should be Unique
|
Appears When receipt number is similar. |
| 2. |
1015000
|
Invalid LoanApplicationNumber
|
Appears when the loan_id is invalid, null or empty |
| 3. |
1016001
|
Invalid Receipt Amount
|
Appears When receipt amount is empty or null. |
| 4. |
1015000
|
Request already initiated for bank identifier <
bank_recon_ref_identifier
|
Appears If the request is already generated with same
bank_recon_ref_identifier and no action is taken against it.
|
| 5. |
101627
|
Receipt date cannot be before disbursal date. | Appears if the receipt date is after the date of disbursal. |
| 6. | 101754 | Receipt date can be on or before business date | Appears if the receipt date occurs after the business date. |
| Attribute |
Type | Description |
Mandatory | ||||||
| response |
Boolean | true | Yes | ||||||
| data |
Object | Fail Response Object |
Yes | ||||||
|
|
Data : Fail Response Attribute
|
Yes | |||||||
|
error |
Object | Error : Fail Response Attribute
|
Yes | ||||||
Body
{
"response": false,
"data": {
"unique_transaction_number": null
},
"error": {
"code": 107373,
"text": "Receipt Reference Number should be Unique"
}
}
Unauthorized: 401
Note: If the API is not authorized with the Token or if the authorization token has expired, this error is going to show up.
Body
{
"code": 401,
"message": "auth fail, you can retry!"
}