API ReferenceIntegrationsKnowledge Base

Bulk Payouts

You can use the bulk upload feature when you want to create a large number of fund accounts or payouts from the RazorpayX Dashboard.

You can create contacts, fund accounts or payouts in bulk by:

  1. Downloading the required sample template.
  2. Adding the required data to the template.
  3. Uploading the template via the Dashboard.

Bulk Upload Status#

Once uploaded, a bulk upload file moves through the following states:

  • created
  • processed

Created#

This is the initial state of the bulk upload. This indicates that the bulk upload is created in the RazorpayX database and is ready to be processed. No processing has been done at this point.

Processed#

This is the final state of a bulk upload where the uploaded details are processed.

Note:
Bulk upload processed does not mean the contact, fund account or payout were created and processed. It just means the bulk file was fully processed.

The contacts, fund account or payouts may or may not have been created or processed. Download the bulk upload report to check these details.

Contacts and Fund Accounts#

You can create fund accounts in bulk from your Dashboard. You can use the bulk upload feature to add fund account details against an existing contact or create a new contact with fund account details.

Note:

  • The bulk operation can only be used to create fund accounts. It cannot be used to edit existing details.
  • You cannot use this feature to bulk import contacts details only. You will have to add fund account details to the contact duing the bulk.

Upload File#

To create contacts or fund accounts:

  1. Log into your RazorpayX Dashboard.
  2. Navigate to MenuContactsBulk Contacts.
  3. Download the Sample template.
  4. Add the required data to the file. Ensure the data is formatted correctly.
  5. Upload the file via the Dashboard.

Bulk Upload File - Fields#

Download the template with example data. The table below lists the various required fields in the template and gives a brief description of each field.

Fund Account Type Mandatory
string The type of account to be linked to the contact ID. This can either be bank_account or vpa.
Fund Account Name Mandatory
string Name of the account holder as per bank records. For example, Gaurav Kumar.
Fund Account Ifsc Mandatory if Fund Account Type = bank_account
string Bank IFSC of the account number. For example, HDFC0000053.
Fund Account Number Mandatory if Fund Account Type = bank_account
string Beneficiary account number. For example, 765432123456789.
Fund Account Vpa Mandatory if Fund Account Type = vpa
string The virtual payment address. For example, gauravkumar@upi.
Contact Id Mandatory to add fund account to an existing contact
string This is the unique ID linked to a contact. For example, cont_00000000000001.
Contact Type Mandatory if Contact ID is not given
string The classification of contact that is being created. For example, employee. The following classifications are available in the system by default:
  • vendor
  • customer
  • employee
  • self

    Note:
    - Additional classifications can be created via the Dashboard.
    - This field is case sensitive.


Contact Name Mandatory if Contact ID is not given
string Name of the contact. For example, Gaurav Kumar.
Contact Email Optional
string Email address for the contact. For example, gaurav.kumar@example.com.
Contact Mobile Optional
number Phone number for the contact. For example, 9123456789.
Contact Reference Id Optional
string A user-generated reference given to the contact. For example, Acme Contact ID 12345. This field can have a maximum length of 40 characters.
notes[example text] Optional
string Notes for the details being imported. You can replace the example text in the header with text of your choice. You can add up to 15 notes. Text in the header is the title and text in the cell is the value for the note.

Bulk Upload Processed File - Fields#

Once a bulk upload is processed, you can download the processed bulk report from the Dashboard. The report has the following additional fields that you can check to see if the contacts/fund accounts were created successfully.

Fund Account Id
string Unique identifier for the fund account. Populated if the fund account is successfully created. For example, fa_ECDexvVvKxbQDK.
Error Code
string The error code for the failure. For example, BAD_REQUEST_ERROR.
Error Description
string The reason for the error. For example, Invalid IFSC Code in Bank Account

Payouts#

You can create payouts in bulk from your Dashboard. You can either make a payout to an existing fund account or create a new contact along with a fund account while creating the payout.

Cannot be Queued:
Currently, payouts created using the bulk upload option will not be queued if you have insufficient balance. Such payouts are failed.

Upload File#

  1. Log into your RazorpayX Dashboard.
  2. Navigate to MenuPayoutsBulk Payouts.
  3. Download the Sample template.
  4. Add the required data to the file. Ensure the data is formatted correctly.
  5. Upload the file via the Dashboard.

Read more: Schedule Bulk Payouts.

Bulk Payout Life Cycle#

A payout created using the Bulk Upload feature can have the following statuses during its life cycle:

  • processing
  • processed
  • reversed

Read more: Refer to the Payout section for more details about the payout states.

Cannot be Queued:
Currently, payouts created using the bulk upload option will not be queued if you have insufficient balance. Such payouts are failed.

Bulk Upload File - Fields#

Download the template with example data. The table below lists the various required fields in the template and gives a brief description of each field.

RazorpayX Account Number Mandatory
string The account from which you want to make the payout.
Account details can be found on the RazorpayX Dashboard. For example, 7878780080316316.
  • Pass your virtual account number if you want money to be deducted from your virtual account.
  • Pass your current account number if you want money to be deducted from your current account.

    Note:
    Ensure the account number format is not changed when uploading the file.
Payout Amount Mandatory
number The amount, in paise, to be transferred from the business account to the contact's fund account. For example, 1000. The minimum value is 100.
Payout Currency Mandatory
string The currency in which the payout is being made. In this case, it is INR.
Payout Mode Mandatory
string The mode that should be used to make the payout.

When account_type is vpa use UPI.

When account_type is bank_account, use one of the following:
  • NEFT
  • RTGS
  • IMPS

    Payout Modes are Case Sensitive:
    The payout modes are case sensitive. When creating payouts using APIs, ensure payout modes are entered in upper case.
Payout Purpose Mandatory
string The purpose of the payout that is being created. The following classifications are available in the system by default:
  • refund
  • cashback
  • payout
  • salary
  • utility bill
  • vendor bill

    Note:
    - Additional purposes for payouts can be created via the Dashboard, if required.
    - This field is case sensitive.
Payout Narration Optional
string This is a custom note that also appears on the bank statement. This field can have a maximum length of 30 characters. Allowed characters are: a-z, A-Z. 0-9 and space.

Note:
- If no value is passed for this parameter, it defaults to the Merchant Billing Label.
- Ensure the most important text in the first 9 characters as banks may truncate the rest as per their standards.
Payout Reference Id Optional
string A user-generated reference given to the payout. For example, Acme Transaction ID 12345. You can use this field to store your own transaction ID, if any. This field can have a maximum length of 40 characters.
Fund Account Id Conditionally Mandatory
string The unique ID linked to a fund account. For example, fa_00000000000001.

This field is mandatory if you want to make a payout to an existing fund account. This way you do not need to provide other fund account and contact details.
Fund Account Type Mandatory if Fund Account ID not given
string The type of account to be linked to the customer ID. This can either bank_account or vpa.
Fund Account Name Mandatory if Fund Account ID not given and Fund Account Type = bank_account
string Name of the account holder as per bank records. For example, Gaurav Kumar.
Fund Account Ifsc Mandatory if Fund Account ID not given and Fund Account Type = bank_account
string Bank IFSC of the account number. For example, HDFC0000053.
Fund Account Number Mandatory if Fund Account ID not given and Fund Account Type = bank_account
string Beneficiary account number. For example, 765432123456789.
Fund Account Vpa Mandatory if Fund Account ID not given and Fund Account Type = vpa
string The virtual payment address. For example, gauravkumar@upi.
Contact Type Mandatory if Fund Account ID not given
string The classification of contact that is being created, for example, employee. The following classifications are available in the system by default:
  • vendor
  • customer
  • employee
  • self

    Note:
    Additional classifications can be created via the Dashboard, if required.
Contact Name Mandatory if Fund Account ID not given
string Name of the contact. For example, Gaurav Kumar.
Contact Email Optional
string Email address for the contact. For example, gaurav.kumar@example.com.
Contact Mobile Optional
string. Phone number for the contact. For example, 9123456789.
Contact Reference Id Optional
string A user-generated reference given to the contact. For example, Acme Contact ID 12345. This field can have a maximum length of 40 characters.
notes[example text] Optional
string Notes for the details being imported. You can replace the example text in the header with text of your choice. You can add up to 15 notes. Text in the header is the title and text in the cell is the value for the note.

Bulk Upload Processed File - Fields#

Once a bulk upload is processed, you can download the processed bulk report from the Dashboard. The report has the following additional fields that you can check to see if the individual payouts were created and processed.

Payout Id
string Unique identifier for the payout. Populated if the payout is successfully created. For example, pout_FMfjLUuRS9Hlzc.
Error Code
string The error code for the failure. For example, BAD_REQUEST_ERROR.
Error Description
string The reason for the error. For example, No db records found.