--- title: "Configure settlement delay" description: "Learn how you can change the default settlement delay for your users' balance accounts." url: "https://docs.adyen.com/marketplaces/custom-payouts/configure-settlement-delay" source_url: "https://docs.adyen.com/marketplaces/custom-payouts/configure-settlement-delay.md" canonical: "https://docs.adyen.com/marketplaces/custom-payouts/configure-settlement-delay" last_modified: "2026-05-19T18:02:48+02:00" language: "en" --- # Configure settlement delay Learn how you can change the default settlement delay for your users' balance accounts. [View source](/marketplaces/custom-payouts/configure-settlement-delay.md) By default, the settlement delay for transactions is configured for your entire merchant account. You can configure a different settlement delay for specific balance accounts when you create or update them using the [Configuration API](https://docs.adyen.com/api-explorer/balanceplatform/latest/overview). ## Requirements Before you begin, take into account the following requirements, limitations, and preparations. | Requirement | Description | | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **[API credential roles](/development-resources/api-credentials/roles/)** | Make sure that you have the following role for the [Configuration API](https://docs.adyen.com/api-explorer/balanceplatform/latest/overview):- **Balance Platform BCL role** | | **[Webhooks](/development-resources/webhooks)** | Subscribe to the [Configuration webhooks](https://docs.adyen.com/api-explorer/balanceplatform-webhooks/latest/overview) to receive the following webhooks:- [balancePlatform.balanceAccount.created](https://docs.adyen.com/api-explorer/balanceplatform-webhooks/latest/post/balancePlatform.balanceAccount.created) - [balancePlatform.balanceAccount.updated](https://docs.adyen.com/api-explorer/balanceplatform-webhooks/latest/post/balancePlatform.balanceAccount.updated) | | **Limitations** | You can only specify a settlement delay of **1** day with previous approval from Adyen. You cannot use custom settlement delay on a balance account with a [managed payout schedule](/marketplaces/managed-payouts). | | **Setup steps** | You must contact your Account Manager to enable custom sales day settlement delay for your marketplace. | ## Configure settlement delay You can configure the settlement delay on new and existing balance accounts by using the [Configuration API](https://docs.adyen.com/api-explorer/balanceplatform/latest/overview) and including the `platformPaymentConfiguration` object in your request: * Use POST [/balanceAccounts](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts) when you create a balance account. * Use PATCH [/balanceAccounts/{id}](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/balanceAccounts/\(id\)) when you update a balance account. In the [platformPaymentConfiguration](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#request-platformPaymentConfiguration) object, include the following parameters: | Parameter | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [settlementDelayDays](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#request-platformPaymentConfiguration-settlementDelayDays) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | Specifies after how many business days the funds in a settlement batch are made available. Possible values: integers from **1** to **20**, and **null** (default). | | [salesDayClosingTime](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#request-platformPaymentConfiguration-salesDayClosingTime) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Specifies at what time a sales day ends. Possible values: Time in `"HH:MM"` format, where:- `HH` ranges from **00** to **07**. - `MM` must be **00**.Default value: **00:00**.If you have previously configured a specific closing time, you must include this parameter whenever you update the balance account. Otherwise, the parameter is set back to the default value. | The following code sample shows how you can change the sales day's settlement delay to 3 days. **Change settlement delay** #### curl ```bash curl https://balanceplatform-api-test.adyen.com/bcl/v2/balanceAccounts/BA00000000000000000000001 \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X PATCH \ -d '{ "platformPaymentConfiguration": { "settlementDelayDays": 3 } }' ``` #### Java ```java // Adyen Java API Library v38.1.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.balanceplatform.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.balancePlatform.*; Client client = new Client("ADYEN_BALANCE_PLATFORM_API_KEY", Environment.TEST); // Create the request object(s) PlatformPaymentConfiguration platformPaymentConfiguration = new PlatformPaymentConfiguration() .settlementDelayDays(3); BalanceAccountUpdateRequest balanceAccountUpdateRequest = new BalanceAccountUpdateRequest() .platformPaymentConfiguration(platformPaymentConfiguration); // Send the request BalanceAccountsApi service = new BalanceAccountsApi(client); BalanceAccount response = service.updateBalanceAccount("id", balanceAccountUpdateRequest, null); ``` #### PHP ```php setXApiKey("ADYEN_BALANCE_PLATFORM_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $platformPaymentConfiguration = new PlatformPaymentConfiguration(); $platformPaymentConfiguration ->setSettlementDelayDays(3); $balanceAccountUpdateRequest = new BalanceAccountUpdateRequest(); $balanceAccountUpdateRequest ->setPlatformPaymentConfiguration($platformPaymentConfiguration); // Send the request $service = new BalanceAccountsApi($client); $response = $service->updateBalanceAccount('id', $balanceAccountUpdateRequest); ``` #### C\# ```cs // Adyen .net API Library v32.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.BalancePlatform; using Adyen.Service.BalancePlatform; var config = new Config() { XApiKey = "ADYEN_BALANCE_PLATFORM_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) PlatformPaymentConfiguration platformPaymentConfiguration = new PlatformPaymentConfiguration { SettlementDelayDays = 3 }; BalanceAccountUpdateRequest balanceAccountUpdateRequest = new BalanceAccountUpdateRequest { PlatformPaymentConfiguration = platformPaymentConfiguration }; // Send the request var service = new BalanceAccountsService(client); var response = service.UpdateBalanceAccount("id", balanceAccountUpdateRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v27.0.0 const { Client, BalancePlatformAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", environment: "TEST" }); // Create the request object(s) const balanceAccountUpdateRequest = { platformPaymentConfiguration: { settlementDelayDays: 3 } } // Send the request const balancePlatformAPI = new BalancePlatformAPI(client); const response = balancePlatformAPI.BalanceAccountsApi.updateBalanceAccount("id", balanceAccountUpdateRequest); ``` #### Go ```go // Adyen Go API Library v21.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v21/src/common" "github.com/adyen/adyen-go-api-library/v21/src/adyen" "github.com/adyen/adyen-go-api-library/v21/src/balancePlatform" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) platformPaymentConfiguration := balancePlatform.PlatformPaymentConfiguration{ SettlementDelayDays: common.PtrInt32(3), } balanceAccountUpdateRequest := balancePlatform.BalanceAccountUpdateRequest{ PlatformPaymentConfiguration: &platformPaymentConfiguration, } // Send the request service := client.BalancePlatform() req := service.BalanceAccountsApi.UpdateBalanceAccountInput("id").BalanceAccountUpdateRequest(balanceAccountUpdateRequest) res, httpRes, err := service.BalanceAccountsApi.UpdateBalanceAccount(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.5.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_BALANCE_PLATFORM_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "platformPaymentConfiguration": { "settlementDelayDays": 3 } } # Send the request result = adyen.balancePlatform.balance_accounts_api.update_balance_account(request=json_request, id="id") ``` #### Ruby ```rb # Adyen Ruby API Library v10.3.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_BALANCE_PLATFORM_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :platformPaymentConfiguration => { :settlementDelayDays => 3 } } # Send the request result = adyen.balancePlatform.balance_accounts_api.update_balance_account(request_body, 'id') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v27.0.0 import { Client, BalancePlatformAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_BALANCE_PLATFORM_API_KEY", environment: "TEST" }); // Create the request object(s) const platformPaymentConfiguration: Types.balancePlatform.PlatformPaymentConfiguration = { settlementDelayDays: 3 }; const balanceAccountUpdateRequest: Types.balancePlatform.BalanceAccountUpdateRequest = { platformPaymentConfiguration: platformPaymentConfiguration }; // Send the request const balancePlatformAPI = new BalancePlatformAPI(client); const response = balancePlatformAPI.BalanceAccountsApi.updateBalanceAccount("id", balanceAccountUpdateRequest); ``` If the request was successful, the response contains the `platformPaymentConfiguration` object with the data you provided. **Response — Balance account updated with sales day settlement** ```json { "accountHolderId": "AH00000000000000000000001", "defaultCurrencyCode": "EUR", "description": "S.Eller - Main balance account", "platformPaymentConfiguration": { "settlementDelayDays": 3 }, "timeZone": "Europe/Amsterdam", "balances": [ { "available": 0, "balance": 0, "currency": "EUR", "reserved": 0 } ], "id": "BA00000000000000000000001", "status": "active" } ``` ## Webhooks After the new settlement delay is applied to the balance account, we send one of the following webhooks to your server: * For a new balance account, we send the [balancePlatform.balanceAccount.created](https://docs.adyen.com/api-explorer/balanceplatform-webhooks/latest/post/balancePlatform.balanceAccount.created) webhook. * For existing balance accounts, we send the [balancePlatform.balanceAccount.updated](https://docs.adyen.com/api-explorer/balanceplatform-webhooks/latest/post/balancePlatform.balanceAccount.updated) webhook. **Balance account updated** ```json { "data": { "balancePlatform": "YOUR_BALANCE_PLATFORM", "balanceAccount": { "accountHolderId": "AH00000000000000000001", "defaultCurrencyCode": "EUR", "id": "BA00000000000000000001", "status": "active", "platformPaymentConfiguration": { "settlementDelayDays": 3 }, "timeZone": "Europe/Amsterdam" } }, "environment": "test", "timestamp": "2025-04-15T15:42:03+01:00", "type": "balancePlatform.balanceAccount.updated" } ``` ## See also * [Scheduled payouts](/marketplaces/custom-payouts/scheduled-payouts) * [On-demand payouts](/marketplaces/custom-payouts/on-demand-payouts)