{"title":"View the custom payout schedule executions","category":"default","creationDate":1779206568,"content":"<p>A payout initiated by a payout schedule is called an execution. You can view all executions of a custom payout schedule on your balance account in your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>, or by making a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Configuration API<\/a> request.<\/p>\n<h2>Requirements<\/h2>\n<p>Before you begin, take into account the following requirements, limitations, and preparations:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/marketplaces\/manage-access\/api-credentials-web-service\">API credentials<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">To view payout executions through API requests, your credential for the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Configuration API<\/a> must have the following role:<ul><li markdown=\"1\"><strong>Bank Scheduled Payouts Merchant Role<\/strong><\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/account\/user-roles\/\">Customer Area roles<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">To view payout executions in your Customer Area, make sure that your user has the following roles:<ul><li markdown=\"1\"><strong><a href=\"\/account\/user-roles\/#platforms\">Balance platform base role<\/a><\/strong><\/li><li markdown=\"1\"><strong><a href=\"\/account\/user-roles\/#platforms\">Configure scheduled payouts<\/a><\/strong><\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/development-resources\/webhooks\">Webhooks<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">To track payout executions and the resulting funds movements, subscribe to the following webhooks:<ul><li markdown=\"1\"><strong><a href=\"\/marketplaces\/webhook-types\/#configuration-webhooks\">Configuration webhooks<\/a><\/strong><\/li><li markdown=\"1\"><strong><a href=\"\/marketplaces\/webhook-types\/#transfer-webhooks\">Transfer webhooks<\/a><\/strong><\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"view-schedules-ca\">View payout schedule executions in Customer Area<\/h2>\n<p>To view the executions of a custom payout schedule in your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>:<\/p>\n<ol>\n<li>Go to <strong>Accounts &amp; balances<\/strong> &gt; <strong>Account holders<\/strong>, and search for the account holder.<\/li>\n<li>Open the <strong>Balance accounts<\/strong> tab and select the relevant balance account ID.<\/li>\n<li>Under <strong>Scheduled transfers<\/strong>, select the custom payout schedule.<br \/>\nA  managed payout schedule specifies the estimated arrival time of the payout, while a custom schedule specifies the transfer schedule.<\/li>\n<li>Open the <strong>Events<\/strong> tab to view the payout timeline, where you can:\n<ul>\n<li>View the date of the next payout.<\/li>\n<li>Review past payout events, including execution dates and statuses.<\/li>\n<\/ul><\/li>\n<\/ol>\n<h3>Execution event statuses and reasons<\/h3>\n<p>The table below explains the statuses you may see in the <strong>Events<\/strong> tab for each pre-configured payout schedule:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Status<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<th style=\"text-align: left;\">Possible reasons<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Sent<\/strong><\/td>\n<td style=\"text-align: left;\">The payout was successfully created and sent.<\/td>\n<td style=\"text-align: left;\">n\/a<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Not sent<\/strong><\/td>\n<td style=\"text-align: left;\">The payout was not triggered as expected.<\/td>\n<td style=\"text-align: left;\">The payout conditions were not met, for example, the balance was too low to pay out. No action is required.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Failed<\/strong><\/td>\n<td style=\"text-align: left;\">The payout schedule could not be sent because an error occurred.<\/td>\n<td style=\"text-align: left;\">The payout failed due to an error. The external bank account may be closed or suspended, or the capability to send funds to the transfer instrument may be disabled due to missing <a href=\"\/marketplaces\/verification-overview\">Know Your Customer (KYC) checks<\/a>. Payouts will continue to fail until the root cause is resolved.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"view-schedules-balance-account\">View payout schedule executions using the API<\/h2>\n<p>To view the executions of a custom payout schedule applied to a balance account using the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Configuration API<\/a>:<\/p>\n<ol>\n<li>\n<p>Make a GET&nbsp; <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform\/latest\/get\/balanceAccounts\/(balanceAccountId)\/sweeps\/(sweepId)\/executions\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/balanceAccounts\/{balanceAccountId}\/sweeps\/{id}\/executions<\/a> request, specifying the balance account ID in the path.<\/p>\n<\/li>\n<li>\n<p>The response includes the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform\/latest\/het\/balanceAccounts\/(balanceAccountId)\/sweeps\/(sweepId)\/executions#request-sweepExecutions\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">sweepExecutions<\/a> array, which contains all the executions of the payout schedule.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Payout schedule executions'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"sweepExecutions\\\": [\\n        {\\n            \\\"id\\\": \\\"SWPE12345678901234567890123456\\\",\\n            \\\"triggeredAt\\\": \\\"2026-05-16T08:00:00Z\\\",\\n            \\\"result\\\": \\\"succeeded\\\",\\n            \\\"resultDetails\\\": {\\n                \\\"transferId\\\": \\\"4VXLNP68FCFE5FQ1\\\"\\n            }\\n        },\\n        {\\n            \\\"id\\\": \\\"SWPE12345678901234567890100000\\\",\\n            \\\"triggeredAt\\\": \\\"2026-05-16T08:00:00Z\\\",\\n            \\\"result\\\": \\\"skipped\\\",\\n            \\\"resultDetails\\\": {\\n                \\\"reasonCode\\\": \\\"noBalanceToPayOut\\\",\\n                \\\"reason\\\": \\\"No balance to pay out\\\"\\n            }\\n        },\\n        {\\n            \\\"id\\\": \\\"SWPE12345678901234567890111111\\\",\\n            \\\"triggeredAt\\\": \\\"2026-05-16T08:00:00Z\\\",\\n            \\\"result\\\": \\\"skipped\\\",\\n            \\\"resultDetails\\\": {\\n                \\\"reasonCode\\\": \\\"disabledConfiguration\\\",\\n                \\\"reason\\\": \\\"Payout schedule \\\/ sweepConfiguration is already disabled\\\"\\n            }\\n        },\\n        {\\n            \\\"id\\\": \\\"SWPE12345678901234567890122222\\\",\\n            \\\"triggeredAt\\\": \\\"2026-05-16T08:00:00Z\\\",\\n            \\\"result\\\": \\\"failed\\\",\\n            \\\"resultDetails\\\": {\\n                \\\"reasonCode\\\": \\\"counterpartyAccountBlocked\\\",\\n                \\\"reason\\\": \\\"Counterparty account blocked\\\"\\n            },\\n\\t     \\\"sweepDisabled\\\": \\\"true\\\"\\n        }\\n    ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2>Execution results and reasons<\/h2>\n<p>When a payout is supposed to be triggered according to the custom payout schedule, Adyen sends a <a href=\"\/marketplaces\/webhook-types#custom-payouts\">webhook<\/a> to notify you of the success or failure of the execution.<\/p>\n<p>The webhook payload includes a result which corresponds to the webhook type.<\/p>\n<h3>Successful payout execution<\/h3>\n<p>If the execution is successful, Adyen sends a <code>balancePlatform.balanceAccountSweepExecution.succeeded<\/code> webhook. The payload of the webhook contains:<\/p>\n<ul>\n<li><code>balanceAccountSweepId<\/code>: The unique identifier of the custom payout schedule (sweep).<\/li>\n<li><code>id<\/code>: The unique identifier of the execution.<\/li>\n<li><code>resultDetails<\/code>: An object containing the <code>transferId<\/code> of the resulting funds transfer.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example webhook\u2014Payout execution successful'\" :id=\"'payout-execution-successful'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": {\\n        \\\"balancePlatform\\\": \\\"YOUR_BALANCE_PLATFORM_ID\\\",\\n        \\\"id\\\": \\\"SWPE12345678901234567890123456\\\",\\n        \\\"balanceAccountId\\\": \\\"BA00000000000000000000001\\\",\\n        \\\"balanceAccountSweepId\\\": \\\"SW1234567890123434535654234382\\\",\\n        \\\"triggeredAt\\\": \\\"2026-05-16T08:00:00Z\\\",\\n        \\\"result\\\": \\\"succeeded\\\",\\n        \\\"resultDetails\\\": {\\n            \\\"transferId\\\": \\\"4VXLNP68FCFE5FQ1\\\"\\n        }\\n    },\\n    \\\"type\\\":\\\"balancePlatform.balanceAccountSweepExecution.succeeded\\\",\\n    \\\"timestamp\\\": \\\"2026-05-16T07:06:35.184Z\\\",\\n    \\\"environment\\\": \\\"test\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h3>Failed or skipped payout execution<\/h3>\n<p>If the execution is skipped or failed, the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform-webhooks\/latest\/post\/balancePlatform.balanceAccountSweepExecution.failed#resultDetails\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">resultDetails<\/a> object contains a <code>reasonCode<\/code> and a <code>reason<\/code>.<\/p>\n<p>The following table contains all possible combinations of <code>result<\/code> and <code>reasonCode<\/code> values.<\/p>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Result<\/th>\n<th style=\"text-align: left;\">Reason code<\/th>\n<th style=\"text-align: left;\">Reason<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>skipped<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>noBalanceToPayOut<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">No balance to pay out<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>skipped<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>balanceBelowMinThreshold<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Payout amount is less than the configured minimum threshold<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>skipped<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>disabledConfiguration<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Payout schedule \/ sweepConfiguration is already disabled<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>skipped<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>manuallySkippedByAdyen<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Adyen blocked the payout<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>insufficientFundsToCoverPayout<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Insufficient funds in reserve account to cover collateralized payout<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>routeNotFound<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Routing failures during transfer initiation process<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>counterpartyAccountBlocked<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Counterparty account blocked<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>counterpartyAccountInvalid<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Counterparty account invalid<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>accountHierarchyNotActive<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Account hierarchy not active<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>transferInstrumentDoesNotExist<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Transfer instrument does not exist<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>missingCapabilities<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Missing capabilities<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>amountExceedsRouteLimits<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Amount exceeds route limits<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>amountFallsShortOfRouteLimits<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Amount falls short of route limits<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>amountInvalid<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Amount invalid<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>addressInvalid<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Address invalid<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>failed<\/strong><\/span><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>balanceAboveMaxThreshold<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">Payout amount is more than configured maximum threshold<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<p>The following tabs show example webhooks for both skipped and failed executions.<\/p>\n\n<div id=\"tabGNA34\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Payout execution skipped&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;If an execution is skipped, Adyen sends a &lt;code&gt;balancePlatform.balanceAccountSweepExecution.skipped&lt;\\\/code&gt; webhook. The payload of the webhook contains:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;balanceAccountSweepId&lt;\\\/code&gt;: The unique identifier of the custom payout schedule (sweep).&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;id&lt;\\\/code&gt;: The unique identifier of the execution.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;resultDetails&lt;\\\/code&gt;: An object containing the &lt;code&gt;reason&lt;\\\/code&gt; and &lt;code&gt;reasonCode&lt;\\\/code&gt; of the skip.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Example webhook\\u2014Payout execution skipped&#039;\\&quot; :id=\\&quot;&#039;payout-execution-skipped&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;data\\\\\\&quot;: {\\\\n        \\\\\\&quot;balancePlatform\\\\\\&quot;: \\\\\\&quot;YOUR_BALANCE_PLATFORM_ID\\\\\\&quot;,\\\\n        \\\\\\&quot;id\\\\\\&quot;: \\\\\\&quot;SWPE12345678901234567890100000\\\\\\&quot;,\\\\n        \\\\\\&quot;balanceAccountSweepId\\\\\\&quot;: \\\\\\&quot;SW1234567890123434535654234382\\\\\\&quot;,\\\\n        \\\\\\&quot;balanceAccountId\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000001\\\\\\&quot;,\\\\n        \\\\\\&quot;triggeredAt\\\\\\&quot;: \\\\\\&quot;2026-05-18T08:00:00Z\\\\\\&quot;,\\\\n        \\\\\\&quot;result\\\\\\&quot;: \\\\\\&quot;skipped\\\\\\&quot;,\\\\n        \\\\\\&quot;resultDetails\\\\\\&quot;: {\\\\n            \\\\\\&quot;reason\\\\\\&quot;: \\\\\\&quot;No balance to pay out\\\\\\&quot;,\\\\n            \\\\\\&quot;reasonCode\\\\\\&quot;: \\\\\\&quot;noBalanceToPayOut\\\\\\&quot;\\\\n        }\\\\n    },\\\\n    \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;balancePlatform.balanceAccountSweepExecution.skipped\\\\\\&quot;,\\\\n    \\\\\\&quot;timestamp\\\\\\&quot;: \\\\\\&quot;2026-05-18T07:06:35.184Z\\\\\\&quot;,\\\\n    \\\\\\&quot;environment\\\\\\&quot;: \\\\\\&quot;test\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:1,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Payout execution failed&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;If an execution fails, Adyen sends a &lt;code&gt;balancePlatform.balanceAccountSweepExecution.failed&lt;\\\/code&gt; webhook. The payload of the webhook contains:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;balanceAccountSweepId&lt;\\\/code&gt;: The unique identifier of the custom payout schedule (sweep).&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;id&lt;\\\/code&gt;: The unique identifier of the execution.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;resultDetails&lt;\\\/code&gt;: An object containing the &lt;code&gt;reason&lt;\\\/code&gt; and &lt;code&gt;reasonCode&lt;\\\/code&gt; of the failure.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;sweepConfigurationDisabled&lt;\\\/code&gt;: A boolean value indicating whether the custom payout schedule was disabled.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;When an execution fails, the failure may be flagged as final by our system. This happens when, for example, we receive a notification that the counterparty account is permanently closed and can no longer be used. In this case, the custom payout schedule is disabled and &lt;code&gt;sweepConfigurationDisabled&lt;\\\/code&gt; is set to &lt;strong&gt;true&lt;\\\/strong&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Example webhook\\u2014Payout execution failed&#039;\\&quot; :id=\\&quot;&#039;payout-execution-failed&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;data\\\\\\&quot;: {\\\\n        \\\\\\&quot;balancePlatform\\\\\\&quot;: \\\\\\&quot;YOUR_BALANCE_PLATFORM_ID\\\\\\&quot;,\\\\n        \\\\\\&quot;id\\\\\\&quot;: \\\\\\&quot;SWPE12345678901234567890122222\\\\\\&quot;,\\\\n        \\\\\\&quot;balanceAccountSweepId\\\\\\&quot;: \\\\\\&quot;SW1234567890123434535654234382\\\\\\&quot;,\\\\n        \\\\\\&quot;balanceAccountId\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000001\\\\\\&quot;,\\\\n        \\\\\\&quot;triggeredAt\\\\\\&quot;: \\\\\\&quot;2026-05-18T08:00:00Z\\\\\\&quot;,\\\\n        \\\\\\&quot;result\\\\\\&quot;: \\\\\\&quot;failed\\\\\\&quot;,\\\\n        \\\\\\&quot;resultDetails\\\\\\&quot;: {\\\\n            \\\\\\&quot;reason\\\\\\&quot;: \\\\\\&quot;Counterparty account blocked\\\\\\&quot;,\\\\n            \\\\\\&quot;reasonCode\\\\\\&quot;: \\\\\\&quot;counterpartyBlocked\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;sweepConfigurationDisabled\\\\\\&quot;: true\\\\n    },\\\\n    \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;balancePlatform.balanceAccountSweepExecution.failed\\\\\\&quot;,\\\\n    \\\\\\&quot;timestamp\\\\\\&quot;: \\\\\\&quot;2026-05-18T07:06:35.184Z\\\\\\&quot;,\\\\n    \\\\\\&quot;environment\\\\\\&quot;: \\\\\\&quot;test\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:1,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h3>Track fund movements<\/h3>\n<p>When a custom payout execution is successful, it triggers a funds transfer. To track the lifecycle of the funds as they move from the balance account to the bank account (transfer instrument) of your user, you can monitor the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Transfer webhooks<\/a>.<\/p>\n<p>These webhooks provide real-time updates on the status of the funds movement, such as when the transfer is authorized, captured, or if it is eventually returned by the bank.<\/p>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/marketplaces\/custom-payouts\/scheduled-payouts\"\n                        target=\"_self\"\n                        >\n                    Scheduled payouts\n                <\/a><\/li><li><a href=\"\/marketplaces\/payout-webhooks\"\n                        target=\"_self\"\n                        >\n                    Payout transfer webhooks\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/marketplaces\/custom-payouts\/scheduled-payouts\/view-custom-payout-executions","articleFields":{"description":"You can view all payout executions of a custom payout schedule on your balance account.","feedback_component":true,"type":"page","cache_enable":false,"parameters":{"payoutType":"scheduled","directoryPath":"\/marketplaces","model":"marketplace","counterpartyType":"transferInstrument","transferType":"payout","scheduleType":"custom"},"filters_component":false},"algolia":{"url":"https:\/\/docs.adyen.com\/marketplaces\/custom-payouts\/scheduled-payouts\/view-custom-payout-executions","title":"View the custom payout schedule executions","content":"A payout initiated by a payout schedule is called an execution. You can view all executions of a custom payout schedule on your balance account in your Customer Area, or by making a  Configuration API request.\nRequirements\nBefore you begin, take into account the following requirements, limitations, and preparations:\n\n\n\nRequirement\nDescription\n\n\n\n\nAPI credentials\nTo view payout executions through API requests, your credential for the  Configuration API must have the following role:Bank Scheduled Payouts Merchant Role\n\n\nCustomer Area roles\nTo view payout executions in your Customer Area, make sure that your user has the following roles:Balance platform base roleConfigure scheduled payouts\n\n\nWebhooks\nTo track payout executions and the resulting funds movements, subscribe to the following webhooks:Configuration webhooksTransfer webhooks\n\n\n\nView payout schedule executions in Customer Area\nTo view the executions of a custom payout schedule in your Customer Area:\n\nGo to Accounts &amp; balances &gt; Account holders, and search for the account holder.\nOpen the Balance accounts tab and select the relevant balance account ID.\nUnder Scheduled transfers, select the custom payout schedule.\nA  managed payout schedule specifies the estimated arrival time of the payout, while a custom schedule specifies the transfer schedule.\nOpen the Events tab to view the payout timeline, where you can:\n\nView the date of the next payout.\nReview past payout events, including execution dates and statuses.\n\n\nExecution event statuses and reasons\nThe table below explains the statuses you may see in the Events tab for each pre-configured payout schedule:\n\n\n\nStatus\nDescription\nPossible reasons\n\n\n\n\nSent\nThe payout was successfully created and sent.\nn\/a\n\n\nNot sent\nThe payout was not triggered as expected.\nThe payout conditions were not met, for example, the balance was too low to pay out. No action is required.\n\n\nFailed\nThe payout schedule could not be sent because an error occurred.\nThe payout failed due to an error. The external bank account may be closed or suspended, or the capability to send funds to the transfer instrument may be disabled due to missing Know Your Customer (KYC) checks. Payouts will continue to fail until the root cause is resolved.\n\n\n\nView payout schedule executions using the API\nTo view the executions of a custom payout schedule applied to a balance account using the  Configuration API:\n\n\nMake a GET&nbsp; \/balanceAccounts\/{balanceAccountId}\/sweeps\/{id}\/executions request, specifying the balance account ID in the path.\n\n\nThe response includes the  sweepExecutions array, which contains all the executions of the payout schedule.\n\n\n\n\n\nExecution results and reasons\nWhen a payout is supposed to be triggered according to the custom payout schedule, Adyen sends a webhook to notify you of the success or failure of the execution.\nThe webhook payload includes a result which corresponds to the webhook type.\nSuccessful payout execution\nIf the execution is successful, Adyen sends a balancePlatform.balanceAccountSweepExecution.succeeded webhook. The payload of the webhook contains:\n\nbalanceAccountSweepId: The unique identifier of the custom payout schedule (sweep).\nid: The unique identifier of the execution.\nresultDetails: An object containing the transferId of the resulting funds transfer.\n\n\n    \n\nFailed or skipped payout execution\nIf the execution is skipped or failed, the  resultDetails object contains a reasonCode and a reason.\nThe following table contains all possible combinations of result and reasonCode values.\n\n    \n\n\n\nResult\nReason code\nReason\n\n\n\n\nskipped\nnoBalanceToPayOut\nNo balance to pay out\n\n\nskipped\nbalanceBelowMinThreshold\nPayout amount is less than the configured minimum threshold\n\n\nskipped\ndisabledConfiguration\nPayout schedule \/ sweepConfiguration is already disabled\n\n\nskipped\nmanuallySkippedByAdyen\nAdyen blocked the payout\n\n\nfailed\ninsufficientFundsToCoverPayout\nInsufficient funds in reserve account to cover collateralized payout\n\n\nfailed\nrouteNotFound\nRouting failures during transfer initiation process\n\n\nfailed\ncounterpartyAccountBlocked\nCounterparty account blocked\n\n\nfailed\ncounterpartyAccountInvalid\nCounterparty account invalid\n\n\nfailed\naccountHierarchyNotActive\nAccount hierarchy not active\n\n\nfailed\ntransferInstrumentDoesNotExist\nTransfer instrument does not exist\n\n\nfailed\nmissingCapabilities\nMissing capabilities\n\n\nfailed\namountExceedsRouteLimits\nAmount exceeds route limits\n\n\nfailed\namountFallsShortOfRouteLimits\nAmount falls short of route limits\n\n\nfailed\namountInvalid\nAmount invalid\n\n\nfailed\naddressInvalid\nAddress invalid\n\n\nfailed\nbalanceAboveMaxThreshold\nPayout amount is more than configured maximum threshold\n\n\n\n\n\n\nThe following tabs show example webhooks for both skipped and failed executions.\n\n\n    \n        \n        \n    \n\n\nTrack fund movements\nWhen a custom payout execution is successful, it triggers a funds transfer. To track the lifecycle of the funds as they move from the balance account to the bank account (transfer instrument) of your user, you can monitor the  Transfer webhooks.\nThese webhooks provide real-time updates on the status of the funds movement, such as when the transfer is authorized, captured, or if it is eventually returned by the bank.\nSee also\n\n\n                    Scheduled payouts\n                \n                    Payout transfer webhooks\n                \n","type":"page","locale":"en","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Marketplaces","lvl2":"Custom payouts","lvl3":"Configure custom payout schedules","lvl4":"View the custom payout schedule executions"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/marketplaces","lvl2":"https:\/\/docs.adyen.com\/marketplaces\/custom-payouts","lvl3":"https:\/\/docs.adyen.com\/marketplaces\/custom-payouts\/scheduled-payouts","lvl4":"\/marketplaces\/custom-payouts\/scheduled-payouts\/view-custom-payout-executions"},"levels":5,"category":"Marketplaces","category_color":"green","tags":["custom","payout","schedule","executions"]}}
