Import Bacs data to Stripe
Learn how to import your Bacs data from your current payment processor to Stripe.
Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account. You can migrate your data from your current payment processor to your Stripe account using the Bacs bulk change process. We work with other payment processors and Bacs sponsor banks throughout the migration to securely migrate your Bacs data. A Bacs migration takes approximately 6 weeks to complete.
To export Bacs data from Stripe to another payment processor, see Export Bacs data from Stripe.
Before you begin
Before migrating, complete the following account setup:
Activate the Bacs Direct Debit payment method in the Stripe Dashboard.
Decide which Service User Number (SUN) to use:
- Stripe shared SUN: A free SUN that uses Stripe’s name and branch on statements, payment sheets, and emails.
- Custom SUN: For a monthly fee, you can subscribe to Custom Branding and use a custom SUN to show your business name and brand on statements, payment sheets, and emails.
Collect the following details required for the migration request form:
- Bacs SUN with current processor
- Your preference for shared or custom SUN on Stripe
- The number of mandates you’re migrating to Stripe
- Whether you’re requesting migration on behalf of a connected account
Submit your Bacs import migration request
Start the migration process by submitting a data migration request:
- Navigate to the Stripe Support form for data migrations. If you’re not signed in, select Sign in and enter the credentials of the account that you want to migrate your data to.
- Select Import data from a third party into a Stripe account.
- Select Bacs as the data type you want to import.
- Complete the remaining fields and select Send email.
Within three days of receiving your request, our Data Migrations team emails you to request a signed bulk change deed.
Complete the bulk change deed
To complete the migration, your current Bacs processor must sign a bulk change deed. This agreement authorizes the transfer of your mandates from your current payment processor to Stripe.
Caution
Sign in to download the bulk change deed.
The following template highlights the requirements of a bulk change deed for an import of Bacs data to Stripe.

One of the following sets of representatives from your current processor must sign the bulk change deed:
- Two current SUN owner directors
- A director and a witness
- A director and a company secretary
Directors and company secretaries need to be publicly identifiable through public data sources, such as Companies House. If you’re using a witness’s signature, cross out the Secretary/Director label as pictured in the template.
Complete only section 1.1 and the To be completed by the Current Service User section. Leave New Service User and New Sponsoring Bank sections blank and don’t date the document in section 3.3.
Marks on the document such as staples, staple holes, or other amendments invalidate the bulk change deed.
After completing the bulk change deed, reply to the intake form email thread from our Data Migrations team with a scan of it.
Coordinate your bulk change timeline
After we receive your bulk change deed, Stripe’s Data Migrations team works with you, your current payment processor, and our sponsor bank to agree on a bulk change date. On the bulk change date, Stripe imports your mandates and customers into your Stripe account.
We recommend scheduling your bulk change date at least 6 weeks from the date you submit the signed bulk change deed to us. The following process must complete in advance of the bulk change date:
- Agreement between all parties on a bulk change date
- Stripe completes a Notification of Change form
- Review and approval of documents by Stripe and current sponsor banks
- Advance notice sent to customers about the bulk change
- Transfer of data to Stripe and preparation of the import
If you need to complete the migration in multiple phases, let us know in the support email thread. We’ll work with you to set different bulk change dates for each phase.
Send letters to payers
The Letter to Payers explains why you need the migration, how it affects payers, and the Direct Debit Guarantee.
Download the pre-approved Letter to Payers template. Inform us if you need to edit the Letter to Payers. Any modifications require a review by Stripe’s sponsor bank.
Caution
Sign in to download the Letter to Payers template.
You can decide how to deliver the Letter to Payers to your customers. Email, mail, and text message are all valid communication options. Not alerting payers to this change can result in failed payments and disputes.
Communication timing
Wait until after you receive final approval for the bulk change from the sponsor banks to send the Letter to Payers.
You must send the Letter to Payers in accordance with the Advance Notice Period in your current SUN. Contact your current processor to confirm your Advance Notice Period.
Your customer might see two active mandates in their banking portal for 1-3 business days while Stripe completes the import of your existing mandates.
Import Bacs mandates
After we receive bulk change approval from the sponsor banks, we coordinate with you and your current processor to transfer the relevant customer and mandate data.
Stripe reviews the data received from your current processor and identifies any problems with the import. We work with you and your current processor to correct any issues. We then share a summary of the import for your final review and approval.
Your current payment processor must cancel your existing mandates before we execute the import on the bulk change date. After cancellation:
- You can’t charge your customers using your current processor.
- We execute the mandate import on the bulk change date and email you a confirmation after completion.
- We create a
Customer
with an associated BACSPaymentMethod
for each unique customer in the transferred data file.
The following table shows the Bacs timeline in business days (T) from the bulk change date to the time you receive funds in your account:
T+0 | Migration complete and mandate submitted |
T+3 | Mandate is active and the payment is submitted |
T+5 | Funds leave the customer’s bank account |
T+7 | Funds are available in Stripe |
File formatting requirements
Export data files must meet the following data standards for us to proceed with an import:
- The file must be in CSV format.
- The file must be UTF-8 encoded.
- Delimit rows by a single newline character
\n
(not\r\n
). - Delimit columns by
,
- You must wrap all fields containing commas in double quotes
"
. We recommend wrapping all fields in double quotes. - Leave empty fields entirely empty (no character in between delimiters). You must not denote a missing field with
NULL
,N/A
, or any other value. - Escape any double quotes that are part of the content with another double quote per the CSV RFC. For example:
"``William
""``Bard of Avon``""
Shakespeare``"
- Fields can’t contain newline characters (
\r
or\n
) within a field. Example of what to avoid:101 1st Ave\nApt 1
- All rows must have the same number of columns.
- Columns support any order.
- You must encrypt sensitive data files with our PGP key before submitting through SFTP.
Bacs data fields
Field | Required | Additional info |
---|---|---|
Old customer ID | Required | We create a customer ID for each unique old customer ID provided. |
Name | Required | Must include the first and last name of the person on the mandate. |
Sort code | Required | Must be 6 digits in length and include leading zeros. |
Account number | Required | Must be 8 digits in length and include leading zeros. |
Required | Stripe requires your customer’s email so we can send out notifications. Contact us if your customers don’t have email addresses. | |
Address line 1 | Required | First line of the address for the customer’s Bacs mandate. |
City | Required | City address for the customer’s Bacs mandate. |
Postal | Required | Zip code of the address for the customer’s Bacs mandate. |
Country | Required | Must be in the form of the ISO 2 letter country code. |
Phone | Optional | Phone number of the account holder. |
Address line 2 | Optional | Secondary details of the address for the customer’s Bacs mandate. |
State | Optional | State of the address for the customer’s Bacs mandate. |
DDI date | Optional | Additional metadata (date the Bacs mandate was created). |
Date of first collection | Optional | Additional metadata (date the mandate was first charged). |
Stripe customer ID | Optional | Stripe customer ID to map the mandates to if required. |
Old source ID | Optional | Unique representation of a payment method. |
Customer/Bacs Metadata | Optional | Any additional metadata. |