Skip to main content

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: 

Request Type: POST
Authorization: Bearer Token

Query Parameter:
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 request like here "receipt" will be used. 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
unique_transaction_number
null
Yes

error

Object
Error : Fail Response Attribute
code Please Refer Error Response Code and Messages
text
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!"
}