Fast-payout icon

Schedule automatic internal funds transfers

Create a schedule to automatically transfer funds between balance accounts.

Automate internal fund transfers by configuring sweeps, in the same manner as setting up scheduled payouts. A sweep automatically pushes out or pulls in funds from a balance account based on a pre-defined schedule, amount, and source or destination. For more information, refer to How sweeps work.

Configure a push or pull sweep depending on the scenario. For example, to maintain balances, you can set up a pull sweep to pull funds from another balance account when the balance goes below a certain amount.

This page explains how to configure sweeps to schedule automatic transfers between balance accounts.

How sweeps work

Sweeps are configured on a balance account. The configuration includes the type of the sweep and conditions, such as the schedule when the sweep is evaluated or a trigger amount. The type dictates the direction of the funds: push to push funds out of the balance account to a destination that you specify, or pull to pull funds in to the balance account from a source that you specify.

You can also set sweep conditions such as:

  • Transfer the entire available amount or a fixed amount.
  • Maintain an amount on the balance account.
  • Set an amount that triggers the sweep.

When the conditions for the sweep are met, it triggers a transfer request. Adyen sends webhooks to your server when a transfer request results from a sweep.

Before you begin

  • Ensure that your server can receive and accept webhooks, and that the Transfer webhooks have been added in your Customer Area.
  • Ask our Support Team to enable transfers for the balance account that pushes or pulls funds.
  • If the balance accounts involved in the transfer do not belong to the same account holder, check the capabilities of the account holders:
    • The account holder of the balance account where the push or pull transfer request is initiated must have the sendToBalanceAccount capability.
    • The account holder of the balance account where the push or pull transfer request is received must have the receiveFromBalanceAccount capability.

Create a sweep

Configure sweeps by using your Customer Area, or making a POST /balanceAccounts/{balanceAccountId}/sweeps request. In this example, we will use a push sweep to push funds out of a balance account.

To configure sweeps in your Customer Area, your account must have the Manage sweep configurations role.

  1. In the navigation menu, select the merchant account linked to your balance platform.

  2. In Accounts & balances > Balance accounts, select a Balance account ID.

  3. In Scheduled transfers panel, select Add a transfer schedule.

  4. Select Payout schedule.

  5. Select Next.

  6. Enter and verify the configuration details in their respective fields.

    Field Description
    When balance on Automatically set to the balance account ID.
    Is more or equal to Set a trigger amount. Before paying out the funds, Adyen checks if the available balance is more than or equal to the trigger amount.
    Action Select Push an amount or Maintain a balance.
    Push this amount Select Entire available balance or Custom.
    Push balance to Select Balance account.
    Balance account Id Select the ID of the balance account.
    When schedule matches Select the predefined schedules or Custom.
    Schedule If you select a Custom schedule, specify the schedule or a cron expression. Select Submit.
    Activate Immediately after creation
    Description Enter a description for the schedule. (Optional)
  7. Select Next.

  8. Review the information that you provided.

  9. Select Save.

The details of your scheduled transfer are shown in Scheduled transfers.

The following example shows how to enter the configuration details.

Your user has two balance accounts, balance account 1 and balance account 2, which they use for different purposes. On balance account 1, they want to maintain a balance of EUR 200. To do this, they want to check on every Wednesday at 9:30 AM if the funds in balance account 1 have exceeded EUR 250 and push this excess to balance account 2.

The following table shows the details you must enter for this case.

Field Details
When balance on BA00000000000000000000001
Is more or equal to EUR 250
Action Maintain a balance
Maintain a balance of EUR 200
Push balance to Balance account
Balance account BA00000000000000000000002
When schedule matches Custom
Schedule Cron Expression > 30 9 * * 3 > Submit
Activate Immediately after creation

Get updates when a transfer results from a sweep

For every internal transfer request that results from a sweep, Adyen sends multiple webhooks to your server: a series of webhooks for the balance account where the transfer is an outgoing request, and a series of webhooks for the balance account where the transfer is an incoming request.

Using these webhooks, you can track the status of the transfer: received, then authorised, and finally booked. The webhooks also inform you if the transfer failed.

You can also view the transfer details in your Customer Area. Each transfer of funds between balance accounts appears in the Customer Area as two transfer entries: one for the balance account that is credited, and one for the balance account that is debited.