Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer tools
OverviewExplore all products
Start building
Start developing
Sample projects
About the APIs
Build with LLMs
Use Stripe without code
Set up Stripe
Create an account
Web Dashboard
Mobile Dashboard
Migrate to Stripe
    Migrate customer data
    Migrate payment data
      Import payment data
        Card data imports
        ACH data imports
        UK Bacs data imports
        SEPA data imports
        PADs/ACSS data imports
        AU BECS data imports
        Map payment data
        Upload supplementary data
      Export payment data
      Copy payment data
Manage fraud risk
Understand fraud
Radar fraud protection
Manage disputes
Verify identities
HomeGet startedMigrate to StripeMigrate payment dataImport payment data

Import ACH data

Copy page

For general guidance on the standard migration process, see Request a payment data import. This document offers supplemental information specifically for ACH Direct Debitimports.

When migrating ACH data from your previous processor, we can import the ACH records into Stripe using the default bank account (ba_) object or a payment method (pm_) object representation.

Before the first charge with ACH direct debit, a business must get permission from the customer to debit their bank account by presenting a mandate to the customer. To import ACH records as pm_ objects, we need your confirmation that you hold mandates for the bank accounts you’re importing. If you’re unsure, consult your previous payment service provider. If you don’t hold the mandates, we import the ACH records with the ba_ object representation.

After determining mandate status for all, some, or none of the bank accounts, inform us. Based on your response, we’ll then provide instructions on the next steps you need to take.

ACH validation status

You must confirm the WEB debit accounts’ validation status by choosing one of the options below:

  • All WEB debit accounts were debited before the Nacha WEB Debit Account Validation Rule took effect on 19 March 2022.
  • All WEB debit accounts have been validated according to Nacha’s Web Debit Account Validation rule by your previous payment service provider.
  • Some WEB debit accounts were debited before Nacha’s WEB Debit Account Validation Rule became effective on 19 March 2022, or complied with the rule through your previous provider. You must provide a list of validated and non-validated records.
  • None of the WEB debit accounts were processed before the effective date of the Nacha WEB Debit Account Validation Rule on 19 March 2022, nor successfully validated by your previous provider. Stripe must validate these accounts. (An instant verification fee applies per bank account validation.)

How it works

Shows the ACH record import process

ACH emails

In our intake form, choose whether to import the mandates as bank account (ba_) or payment method (pm_) objects.

  • If you choose bank accounts, we don’t notify your customers about the migration.
  • If you choose payment methods and provide customer emails, we’ll automatically send your customers an email to confirm the mandate in accordance with Nacha requirements after the import. Your customers don’t need to do anything after receiving the emails.

ACH file guidance

  • A processor can provide a number of different fields.
  • We advise your processor to provide a full export of all customer and payment method data to Stripe.
  • Stripe can filter out any unnecessary fields from the previous processor’s data as needed.
  • Stripe can merge multiple received files if either the old customer ID or the old source ID is present in both files.

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 (not \r ).
  • 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 as per the CSV RFC. For example: "``William ""``Bard of Avon``"" Shakespeare``"
  • Fields can’t contain newline characters (\r or ) within a field. Example of what to avoid: 101 1st Ave Apt 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.

ACH data fields

FieldRequiredAdditional info
Old customer IDRequiredWe create a customer ID for each unique old customer ID provided.
Routing numberRequiredMust be 9 digits in length and include leading zeros.
Account numberRequiredMost bank account numbers have between 8 and 12 digits, though they can range from 5 to 17 digits.
Account holder typeRequiredSpecifies individual or company as the type of business.
Account typeRequiredSpecifies a checking or savings account. Unspecified account are imported as checking.
Account nameRequiredFirst and last name of account holder or company name.
EmailOptional*Additional metadata *If importing ACH records as payment methods and providing customer emails, we’ll automatically send your customers an email to confirm the mandate in accordance with Nacha requirements after the import. Your customers don’t need to do anything after receiving the emails.
CityOptionalAdditional metadata
PostalOptionalAdditional metadata
CountryOptionalProvide in ISO 2-letter country code format.
PhoneOptionalAdditional metadata
Address line 1OptionalAdditional metadata
StateOptionalAdditional metadata
Stripe customer IDOptionalAdditional metadata
Old source IDOptionalAdditional metadata
Customer/ACH MetadataOptionalAny additional metadata

ACH Data Migration Certification and Disclaimer Language

By submitting the ACH Data Migration intake form, you certify that all of the following statements are true and that you have authority to make these statements.

You agree to comply with Section 2.3 of the Nacha Operating Rules in connection with collecting authorisations when using Stripe services to process ACH Debit transactions.

You understand that you, as the Originator (as defined in the Nacha Operating Rules), are solely responsible for collecting and retaining ACH Debit authorisations from your customers that comply with the Nacha Operating Rules and Stripe’s ACH Payment Method Terms. For recommended text, see the Stripe ACH documentation.

If you do not meet the Nacha Operating Rules requirements for the authorisation of debits, you understand that you must collect new authorisations before processing ACH Debit transactions on Stripe.

For authorisations collected prior to migration to Stripe, you must provide Stripe with evidence of any relevant authorisation for ACH Debits upon request. When contesting a dispute, you are solely responsible for providing a copy of the authorisation.

Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access programme.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc