Skip to content

Batch Disbursement

What is a Batch Disbursement?

A batch disbursement allows the execution of multiple disbursement transactions to 140+ banks across Indonesia through a single excel file upload. The batch disbursement process removes the hassle of executing many manual transfers, thus increasing the success rate of disbursements. When transactions are successful, the merchant receives an email notification and the receiver receives a payment proof.

Advantages of using batch disbursement:

  • Quick, simple, and no technical integration required from the merchant
  • Semi-automated flow - quicker disbursements and an increased success rate
  • Process disbursements at any time, including weekends
  • No more bank tokens
  • A disbursement report sent via email and payment proof sent to the customer’s email immediately after successful disbursements

How are Xendit's batch disbursements different from a bank's batch transfer services?

Bank batch transfers Xendit batch disbursement
Long integration process - takes more than 3 months with a bank 3 days integration (1 day to develop, 1 day to test, 1 day to go live)
Transaction using tokens No tokens
Transactions done in batches which takes a longer time to send Transactions done instantly any time, including weekends
Manual batch uploads means a team is needed to do billing. Scaling of transactions means hiring more people Automatic, line by line reconciliation to indicate which transactions have succeeded or failed
Prone to human error Done automatically, no human errors

When to use a Batch Disbursement?

For batch disbursements, there is no daily limit on the amount of transactions or the number of batches. Nevertheless, there is a maximum limit of 1000 transactions per batch. For example, to disburse 5000 transactions, users will need to upload 5 batch disbursement excel files, each containing 1000 transactions, to the dashboard.

Some use cases of Batch Disbursement:

  • E-commerce companies disbursing multiple transactions to transfer money to suppliers, vendors, logistic fleets, or refunds to customers
  • Any company that needs to disburse monthly payrolls to its employees for salaries and other incentives

The Batch Disbursement Process

alt text

A report of the batch disbursement sent to your email will contain an attached excel file listing the status of each transaction in the batch. A high-level status of the batch is also available on your dashboard. Below is a list of batch statuses with their definitions:

  • Pending: the batch disbursement is being processed
  • Failed: the batch disbursement has been processed and all of the transactions have failed
  • Check: the batch disbursement has been processed, and some transactions have failed
  • Completed: the batch disbursement has been processed and all transactions were successful

How to make a Batch Disbursement

Before making a Batch Disbursement, it is important to take note of the type of users and their user permissions with regards to the Xendit dashboard. Each step of the batch disbursement process is dependent on various levels of user permission, and this is noted in the guide below. To view user permissions, please go to Dashboard > Settings > Users > Invite Users and click on each type of user.

alt text

You may then follow this step by step batch disbursement guide.

Batch Disbursement testing is also available in Development Mode. To ensure integration was successful, please refer to this section in our Xendit docs for the complete list of testing scenarios.

Batch Disbursement Template

Please download the batch disbursement template here.

The disbursement template is in excel form and consists of 2 worksheets, with the first sheet being instructions and the second sheet being the template that needs to be filled in (refer to screenshot below).

alt text

For a successful batch disbursement upload, please fill out the following columns on the ‘Template’ sheet for each disbursement.

Column Name Description
Amount (*) Amount in Indonesian Rupiah (IDR)
Note: Only plain numbers allowed, do not add any symbols. Formula is applicable.
Bank Code (*) Bank Code (see Supported Banks)
Bank Account Name (*) Recipient Name
Bank Account Number (*) Recipient Bank Account Number
Description (*) Description of transfer
Email (Optional) - Will trigger a “You’ve been paid” email. Use commas to specify multiple email addresses
Email CC (Optional) - Only applicable if email column is filled
Email BCC (Optional) - Only applicable if email column is filled
External ID (Optional) - Used for reference in reports and API callbacks - can be ID in your system to help reconcile per line item

Guidelines: (*) fields are required. Others are optional.


  1. Will I receive notification after I have sent batch disbursements?

    Yes. Once the batch disbursement is being processed, you will be notified by receiving a transaction report in your registered email.

  2. How do I know whether batch disbursements are successful or not?

    You will have the access to a dashboard user interface where you can monitor all details and statuses of batch disbursements that you’ve made. The status shown on your dashboard following a batch disbursement transaction you’ve made:

    • Pending: batch disbursement are being processed
    • Failed: batch disbursements have been processed and all of the transactions are failed
    • Check: batch disbursements have been processed but some of the transactions are failed
    • Completed: batch disbursements have been processed and all of the transactions are successful
  3. What should I do if the Name Validator succeeds but the disbursement fails? Why does this occur?

    Please check with your customer or the bank account owner to ensure that there are no issues with their account. A common reason for this is that the recipient's bank account is frozen. So the account exists and is validated, but can't actually receive funds.

    Alternatively, if the receipients bank is BCA and you have encountered the error code below, please try again with the leading "0" in front of the bank account number. For BCA, the Name Validator returns a success because the account number is treated in the same way with or without the "0" in front. However, for our disbursement system, the full bank account number (with the "0") is required to disburse successfully.

    "message":"BCA account numbers must be 10 digits long"}
  4. How do I transfer to many accounts at once?

    You will have to do a top up to a Xendit bank account, then Xendit will act on your behalf to disburse money to the specified accounts. You can always view your deposited balance on the dashboard and withdraw the funds at any time.

  5. Is there a minimum top up before I can disburse funds?

    No, there is no minimum for top up balance. However, in order for a disbursement to be successful, you need to keep a sufficient balance.

  6. Can I create multiple user accounts? Will I be charged extra?

    Yes, you can. You only need to register your business once and you will get one account by default. Then, you can invite more users with different access, and there is no extra fee for doing this.

  7. What if I input the wrong bank details on the destination account?

    The only validation Xendit does for each batch is name validation, which consists of matching the customer names you submitted with the names registered with the relevant bank accounts. In the cases where the names are inconsistent, you will be notified and can choose whether to approve such transaction or not on the dashboard. However, once submitted, transactions are final and cannot be reversed. We are also unable to correct bank names or account numbers after a batch has been submitted.

  8. If a batch is still "validating", will part of the individual transactions still go through?

    Nope - the entire batch must be validated before it is being processed

  9. How long does it take for a payment to go from pending to completed or failed?

    The time range depends on the size of the batch and the receiving banks. However, on average, it takes approximately 2 minutes per transaction - usually faster. This does not take into account any delays which are caused by the systems of either the disbursing or receiving bank.

  10. Is there a possibility that the disbursement status go from Completed to Failed?

    Yes, there was an occurrence but it rarely happens.

  11. For transactions that went from Completed to Failed, how long did the status take to change? Can it still change after X months?

    We were notified within 2-3 days as the failed payment will show up in our disbursing account as a refund. The longest period recorded was 3 days. No, it will not change after several months - the maximum period for such refund to be completed and detected should be within the week.

  12. Can I cancel a batch disbursement that has been approved?

    Once your batch disbursement request has been approved by the Approver, this means that the batch disbursement has been processed by Xendit therefore it can not be cancelled. Thus, please make sure that the final check has to be done by the Approver before requesting the batch disbursements.

  13. Is there any limit in the number of total disbursements in batch disbursements?

    Yes, the limit is 1000 number of disbursements per batch disbursement upload.

  14. Can you disburse into e-wallets?

    Yes, we support disbursements to major e-wallets (GoPay, OVO, and Mandiri e-cash). You can transfer funds directly to the e-wallets of your customers. Simply use the following input in a batch disbursement template:

    "Bank Code" = bank code of the destination e-wallet (Example: GOPAY / OVO / MANDIRI_ECASH)

    "Account Holder Name" = name of the customer, per the e-wallet’s records

    "Account Number" = customer’s phone number registered with the e-wallet (Example: 0812XXXXXX)

    As we will execute the transfer to the e-wallet account tied to the specified phone number, please ensure that you have entered the correct phone number in the request. The disbursement will appear as a top up on your customer’s e-wallet. We're always improving the number of channels we can disburse to. Let us know if there's a destination that you want to request!