You can delay the vendor settlements by enabling the Defer Settlement from the Settings page. To enable defer settlement, click the toggle button, set the Defer by Days value, and click Save.

The Defer by Days value determines the number of the days by which the settlement will be delayed to vendors. For example, if you set the Defer by Days value to 5, the settlements to the vendors will be delayed by 5 days from the date of transaction.

Scenario 1: You trigger the Vendor Settlement Eligibility Date for Orders API before deferred delay eligibility.

Configuration:

  • Defer by Days value: 15 days
  • Transaction Date: 2nd December at 4:00 PM

Since the deferred delay value set by you is 15 days, the vendor settlement eligibility is: 17th December 4:00 PM.

Let us assume:

  • Supplier 1 delivers goods/services to customer on 5th December.
  • Supplier 2 delivers goods/services to customer on 6th December.

You can facilitate customized vendor settlements at different time for the same order ID. As supplier 1 has delivered goods on 5th December, you can trigger the Set_Vendor_Settlement_Eligibility_Date_for_Orders API.

Provide the following in the API:

  • order ID
  • vendor ID
  • change the settlementEligibilityDate value to a newer value

T+x*: Settlement cycle is subject to bank approval and can vary based on transaction type, business category/model, risk parameters, and other factors.

The settlement will happen to supplier 1 based on the updated settlementEligibilityDate.

Scenario 1 Configurations (Supplier 1)Values
Deferred delay value15 days
Supplier 1 schedule optionSettlement ID: 1 (T+1* settlement at 11:00 AM)
Supplier 1 original settlement date18th December at 11:00 AM (Since the deferred delay was set to 15 days and T+1* settlement)
Supplier 1 service delivery time2022-12-06 9 PM
settlementEligibilityDate updated by you2022-12-06 09:00:00
Supplier 1 new settlement date7th December at 11:00 AM since supplier 1 is in T+1 settlement of 11:00 AM).

Sample Request

curl --location --request PUT 'https://api.cashfree.com/api/v2/easy-split/orders/{{orderid}}/settlement-eligibility/vendors/{{vendorid}}
' \
--header 'X-Client-Id: {{clientId}}' \
--header 'X-Client-Secret: {{secretKey}}' \
--header 'Content-Type: application/json' \
{
    "settlementEligibilityDateUpdate": "2022-12-06 9PM"
}

Sample Response

{
	"status": "OK",
	"subCode": "200",
	"message": "Updated vendor settlement eligibility date."
}

In the same way, you can settle supplier 2 before the deferred delay. Let us assume the similar configurations:

Scenario 1 Configurations (Supplier 2)Values
Deferred delay value15 days
Supplier 2 schedule optionT+1* settlement at 11:00 AM
Supplier 2 original settlement date18th December at 11:00 AM (Since deferred delay set to 15 days and T+2* settlement)
Supplier 2 service delivery time12th December 8PM
settlementEligibilityDate updated by you2022-12-12 09:00:00
Supplier 2 new settlement date12th December at 11:00AM since supplier 2 is at T+1* settlement at 11:00 AM)

Sample Request

curl --location --request PUT 'https://api.cashfree.com/api/v2/easy-split/orders/{{orderid}}/settlement-eligibility/vendors/{{vendorid}}
' \
--header 'X-Client-Id: {{clientId}}' \
--header 'X-Client-Secret: {{secretKey}}' \
--header 'Content-Type: application/json' \
{
    "settlementEligibilityDateUpdate": "2022-12-07 09:00:00"
}

Sample Response

{
	"status": "OK",
	"subCode": "200",
	"message": "Updated vendor settlement eligibility date."
}

Scenario 2: You trigger the Set Vendor Settlement Eligibility Date for Orders API after the deferred delay eligibility

Configuration:

  • Defer by Days value: 15 days
  • Transaction Date: 2nd December at 4:00 PM

As you have set the deferred delay value to 15 days, you can update the settlementEligibilityDate only within this time period (2nd December - 17th December 4:00PM). If you trigger the API post that, you will get an error stating: “Settlement eligibility cannot be beyond max_eligibity_date. Provide an earlier date”. The settlements will happen as per the deferred delay only.

Sample Request

curl --location --request PUT 'https://api.cashfree.com/api/v2/easy-split/orders/{{orderid}}/settlement-eligibility/vendors/{{vendorid}}
' \
--header 'X-Client-Id: {{clientId}}' \
--header 'X-Client-Secret: {{secretKey}}' \
--header 'Content-Type: application/json' \
{
    "settlementEligibilityDateUpdate": "2022-21-09 09:00:00"
}

Sample Response

{
    "status": "ERROR",
    "subCode": "400",
    "message": "Settlement eligibility cannot be beyond max_eligibity_date. Provide an earlier date.
}