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
addition_in_excess_moneyStringAdditional amount added beyond the specified limit.No
auto_allocatedStringIndicates whether the amount was auto-allocated. Possible values: "Yes" or "No".Yes
bank_account_numberStringThe bank account number for the transaction.No
bank_recon_ref_identifierStringThe bank reconciliation reference identifier.No
bounce_reason_for_nachStringReason for NACH bounce, if applicable.No
cash_receipt_numberStringThe cash receipt number.No
date_of_receiptDateThe value date of the receiptYes
deliverable_charge_codeStringThe code for any associated deliverable charge.No
fund_transfer_numberStringThe fund transfer number associated with the transaction.No
ifscStringThe IFSC code of the bank.No
instrument_bank_addressStringThe address of the bank.No
instrument_bank_nameStringThe name of the bank.No
instrument_dateDateThe date mentioned on the instrument (cheque or DD).No
instrument_numberStringThe number of the instrument (cheque or DD).No
is_chequeBooleanIndicates whether the payment method is a cheque.No
is_nachBooleanIndicates whether the payment method is NACH.No
loan_application_numberStringThe loan application number.No
payment_bankStringLender's bank account in which the money was received. Fetched from bank masterYes
payment_modeStringThe mode of payment (e.g., IMPS, NEFT). Fetched from mastersYes
receipt_amountStringThe amount received from the customerYes
receipt_purposeStringThe purpose of the receipt (e.g., installment, Any Due). This is fetched from masters.Yes
receipts_allocationStringDetails of any allocation of receipts.No
receivablesArrayAn array containing details of receivables. (Can be passed empty)No
received_fromStringIdentifier of the entity from which payment is received.No
remarksStringAdditional remarks or notes.No
sourcing_branchStringThe code of the sourcing branch.No
transaction_dateDateBusiness date of the system. Can be skipped.No
transaction_referenceStringThe reference number of the transaction.No
upiStringThe UPI ID associated with the transaction.No
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.request like here "receipt" will be used. Yes
service_type String The type of service.No
Request Data Object
AttributeData TypeDescriptionMandatory
loan_application_numberStringThe loan application number.No
date_of_receiptDateThe value date of the receiptYes
receipt_amountStringThe amount received from the customerYes
cash_receipt_numberStringThe cash receipt number. Mandatory if payment_mode is "cash". System auto-generates if sent blank.No
payment_modeStringThe mode of payment (e.g., imps, neft, etc). Fetched from masters. Use keys from the masters.Yes
transaction_dateDateBusiness date of the system. Can be skipped.No
received_fromStringIdentifier of the entity from which payment is received.No
receipt_purposeStringThe purpose of the receipt (e.g., installment, any_due). This is fetched from masters. Use keys from the masters.Yes
payment_gateway_partnerStringIt is the payment gateway partner like paytm. This is fetched from masters. Use keys from the masters.No
e_nach_typeStringIts 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_dateDateThe date mentioned on the instrument. Required when payment_mode is  cheque/DD/NACH.No
instrument_numberStringThe number of the instrument. Required when payment_mode is  cheque/DD/NACH.No
transaction_referenceStringThe reference number of the transaction.No
collection_agency_codeStringAgency of the collection.No
ifscStringIFSC code of the of the bank where receipt money is getting deposit. Required for payment_mode - neft/rtgs/imps/internet bankingNo
payment_bankStringLender's bank account in which the money was received. Fetched from bank master. Fetched From Admin Master(id in Bank Accounts).Yes
instrument_bank_nameStringThe name of the bank. Required when payment_mode is  cheque/DD/NACH.No
instrument_bank_addressStringThe address of the bank. Required when payment_mode is  cheque/DD/NACH.No
bank_account_numberStringThe bank account number of the lender's bank for the transaction. No
sourcing_branchStringThe code of the sourcing branch. Required when payment_mode is  cash.No
deliverable_charge_codeStringThe code for any associated deliverable charge. Required when receipt_purpose is deliverble charge.No
upiStringThe UPI ID associated with the transaction.No
is_nachBooleanIndicates whether the payment method is NACH.No
bounce_reason_for_nachStringReason for NACH bounce, if applicable.No
fund_transfer_numberStringThe fund transfer number associated with the transaction.No
addition_in_excess_moneyStringAdditional amount added beyond the specified limit.No
bank_recon_ref_identifierStringThe bank reconciliation reference identifier.No
auto_allocatedStringIndicates whether the amount was auto-allocated. Possible values: "Yes" or "No". Suggested - "Yes".Yes
receipts_allocationObjectRequired when auto_allocation is sent "No"No
remarksStringRemarks if required.No
city_stringStringCity where receipt is deposited.No
taluka_stringString

Taluka where receipt is deposited.

No
district_stringStringDistrict where receipt is deposited.No
state_stringStringState where receipt is deposited.No
pincodeStringPincode 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!"
}