ACH File Exchange

Compile a send a next day US bank batch payment

ACH (Automated Clearing House) is a US network that powers electronic funds transfers. It processes financial transactions for consumers, businesses, and federal, state, and local governments. ACH processes large volumes of credit and debit transactions in batches.

The rules and regulations that govern the ACH network are established by National Automated Clearinghouse Association (NACHA).

Popular Use Cases

ACH is available for both credit (push) and debit (pull) transactions.

  • Payout funds using ACH credit transfers with Create Transaction type: push.
  • Accept payments ACH direct debit with Create Transaction type: pull.

ACH Credit

  • B2B vendor payments: One time or on-going payments to a business vendor providing a product or service.
  • Expense reimbursements: Payments from a business to an employee to often cover travel costs, meals, etc.
  • Tax refunds: Government disbursements to taxpayers to balance overpayments.
  • Retirement and investment contributions: Account holders send funds from one bank account into their investment account.

ACH Direct Debit

  • Consumer payments on insurance premiums: Accept monthly payments for insurance coverage.
  • Mortgage loans: Accept monthly installments for loans for homebuyers.
  • Utility bills: Accept payments for homeowners and building tenants.

📘

Integration Methods

TabaPay ACH is available via both our Unified APIas well as via file-based exchanges.

For more information please look at our ACH via API guide.

Want to get enabled for ACH in Unified API? Email [email protected]

ACH Files

Refer to ACH File Overview by NACHA to understand ACH file formatting.

File Details

• File sharing details will be provided to the client
• Input File name: yyyymmdd_ISO_MID_ACHInput_N_v2-5.csv (sent to TabaPay)
• Output File name: yyyymmdd_ISO_MID_ACHOutput.csv (received from TabaPay)
• Processed file: yyyymmdd_ISO_MID_ACHProcessed_A.csv (received from TabaPay)
o - yyyymmdd=file date
o - N=sequence number (1..n) if multiple files per cycle used
o - A=file modifier (A..Z)
o - For ISO: Do not use MID
• Comma separator for each field

Input files

• Merchant deposits input file(s) into the file sharing tool.
• All input files since last batch are processed.
• TabaPay moves Input files to 'Inboxprocessed' after processing.
• Email to [email protected] with copy to [email protected]: subject: NAME ACH; total debits and $s, total credits and $s
• Cut-off times: Same day: 7:30 AM PT; Next day: 6pm PT.
• File cutoff missed will be moved to next window
• Confirmation of processing email to merchant
• TabaPay output files, processed files, return files:
• Merchant Pickup return files, Processed files, and Output files in the 'Outbox'
• Processed file delivered within minutes of ACH files being processed by bank; One file for each merchant batch.
• Output file delivered next business day; same format as Processed file - with Trace ID and processed time from bank

Guidelines

• All files received prior to same day cutoff are processed as same day, otherwise processed as next day.
• ISO+MID assigned by TabaPay.
• CompanyName, CompanyID assigned by TabaPay.
• IIN must be unique by CompanyName, CompanyID as traceIDs and returns provided by IIN. For Person-to-Person WEB credit Entries, this field is required and contains the name of the consumer Originator. For WEB debit Entries, this field is optional, and is used at the discretion of the Originator.
• Offset account is always merchant's DDA at ODFI. Option to include offset records (default is no offset).

Explanation for each file

There are 4 files associated with ACH.

  1. Input file -> this file is generated by the merchant and contains the transaction requests.
  2. Processed file -> this file is generated by TabaPay. It indicates that transactions that have been sent to the bank.
    1. Status: Processed -> Transaction has been sent to the bank.
    2. Status: Rejected -> Transaction was rejected, status codes below.
  3. Output file (Conditional) -> This file is generated by some banks to let us know when the transaction was sent to the Fed. This file has the exact same format as the Processed file, and will include the Trace ID from the Fed. Might take up to 2 days to be sent.
  4. Return file -> This file contains a list of returned transactions. Can come back 6 to 7 days later.

TabaPay pushes ACH files via SFTP.

SFTP Push - Security options can include:

  1. Merchant whitelists TabaPay IP
  2. SFTP ID and Password
  3. TabaPay public key for SFTP security (ID or ID+PW)
  4. File encryption using Merchant public PGP key

ACH Request

View the following file format for ACH requests.

Request File Format

Rows

Values

Length/type

Description/Notes

ISO (Client ID)

Assigned by TabaPay

MID (SubClient ID)

1 alpha

Assigned by TabaPay

Same day, next day, real time

S, N, R

1 alpha

Same day must be in by cutoff time or converts to next day (see settle date in response file)

Type

CCD, PPD, WEB

3 alpha

CCD’s are Corporate Credit or Debit transactions and are used to originate transactions to or from Corporate Accounts only. PPD’s are Prearranged Payment or Deposit transactions and are used to originate transactions to Consumer Accounts only.WEB is Internet-Initiated/Mobile Entries

Entry Description

Text

10 characters

Shown on customer statement. If approved - can include company name with "|" separator. entryDescription|CompanyName*

Amount

########.##

999999

2 decimal places

IIN

Text

15 alpha-numeric

Individual Identification Number. No commas, no blanks. No symbols: REQUIRED: must be unique over 7 rolling days

First name

Doe

22 alpha-numeric combined fn ln

No commas, blanks allowed.  No symbols 

Last name

Doe

No commas, blanks allowed.  No symbols 

Account type

C/S/L/BC/BS/G

Up to 2 alpha (C, S, L, G, BC, BS)

Checking(C), Savings(S), Loan (L) Business Checking (BC), Business Savings (BS) General Ledger (G)

RTN

#########

Exactly 9 digits, must have check digit

Destination Bank Routing Number

Account

###############

4-17 numeric

Destination Bank Account Number

Credit-Debit

C

1 alpha C, D

Credit or Debit (C or D)

*Company name - if allowed in Entry Description

Text

16 alpha-numeric

Shown on customer statement

Request File Sample

ISO

MID

ACH Type

Entry Type

Entry Description

Amount

IIN

First name

Last name

Account type

RTN

Account

Debit-Credit

1000

1

N

CCD

100.01

1001

Samwise

Gamgee

C

123456789

4444444444

D

1000

2

N

CCD

101

1002

Samwise

Gamgee

C

123456789

4444444445

D

1000

2

S

CCD

102

1003

Samwise

Gamgee

G

233456789

3333333335

C

1000

2

N

PPD

101.02

1004

Samwise

Gamgee

G

123456789

4444444445

D

1000

2

N

PPD

101.02

1005

Samwise

Gamgee

G




1000

2

N

WEB

101.02

1006

Samwise

Gamgee

G

123456789

4444444445

D

AAAA

2

N

PPD

101.02

1007

Samwise

Gamgee

G

123456789

4444444445

D

1000

AAAA

N

PPD

101.02

1008

Samwise

Gamgee

G

123456789

4444444445

D

1000

2

N

PPD

101.02

1009

Samwise

Gamgee

G

123456789

4444444445

D

1000

2

N

PPD

101.02

1009

Samwise

Gamgee

G

123456789

4444444445

D

1000

2

B

PPD

101.02

1010

Samwise

Gamgee

G

123456789

4444444445

D

1000

2

N

PPD

101.02

1011

Samwise

Gamgee

Z

123456789

4444444445

D

1000

2

N

PPD

101.02

1012

Samwise

Gamgee

C

123456789

4444444445

Z

1000

2

N

PPD

101.02

1013

Samwise

Gamgee

C

12345678

4444444445

D

1000

2

N

PPD

3,452

1014

Samwise

Gamgee

C

*012345678

4444444445

D

1000

2

N

PPD

673452

1015

Samwise

Gamgee

C

*012345678

4444444445

D


ACH Response

View the following file format for ACH response codes.

Response and Processed File Format

ISO

Assigned by TabaPay

MID

Assigned by TabaPay

Entry Type

CCD, PPD, Web

3 alpha

Status

Output file: Complete, Error. Processed file: Accepted or Rejected

See Response Codes

Result

0, Response Code

See Response Codes

Same Day or Next Day

S, N

1 alpha

Same Day must be in by cutoff time or converts to next day

Processed date

mm-dd-yyyy

Settlement date

mm-dd-yyyy

Amount

########.##

999999.99

2 decimal places

IIN

abcdefghijklmnop

15 alpha-numeric

No commas, no blanks. No symbols

Trace ID

################

15 numeric

Output file only - from bank

First name

doe

22 alpha-numeric combined First Name and Last Name

No commas, blanks allowed.  No symbols 

Last name

doe

No commas, blanks allowed.  No symbols 

Account type

C/S/L/BC/BS/G

Up to 2 Alphabet (C, S, L, G, BC, BS)

Checking(C), Savings(S), Loan (L) Business Checking (BC), Business Savings (BS) General Ledger (G)

RTN

#########

Exactly 9 digits; must have checksum

Destination Bank Routing Number

Account

###############

4-17 numeric

Destination Bank account number

Credit-Debit

C

1 alpha C, D

Credit or Debit (C or D)

Fee

##.##

4 numeric with decimal (signed)

##.##

Message

Processed file contains a descriptive reason of any Rejected entries

ACH Response File Sample

ISO

MID

Status

Result

ACH Type

Processed date

Settlement date

Entry Type

Entry Description

Credit-Debit

Amount

Trace ID

IIN

First name

Last name

Account Type

RTN

Account

Fee

1000

1

Complete

0

N

3/11/19

3/12/19

CCD

D

100

9234000001

Samwise

Gamgee

C

123456789

4444444444

0.25

1000

2

Error

422: Duplicate IIN

N

3/11/19

3/12/19

CCD

D

101

9234000002

Samwise

Gamgee

C

123456789

4444444445

0.25

1000

2

Error

422: ACHType

S

3/11/19

3/12/19

CCD

C

102

9234000003

Samwise

Gamgee

BC

233456789

3333333335

0.25

1000

2

Error

422: EntryType

N

3/11/19

3/12/19

PPD

D

101

9234000004

Samwise

Gamgee

BC

123456789

4444444445

0.25

1000

2

Complete

0

S

3/11/19

3/12/19

CCD

C

102

9234000005

Samwise

Gamgee

C

233456789

3333333335

0.25

1000

2

Complete

0

S

3/11/19

3/12/19

CCD

C

102

9234000006

Samwise

Gamgee

C

233456789

3333333335

0.25


ACH Returns

View the following file format for ACH returns and return codes.

ACH Return File Format

ISO

ISO

MID

MID

Return date

Date (5_70_75)

Amount

Amount (6_30_39)

Account

Account (6_13_29)

RTN

ABA/Routing (6_04_12)

Name

Individual Name (6_55_76)

IIN

Individual ID (6_40_54)

Matches IIN from input

ACH RC

Transaction Code (6_02_03)

Trace

Trace (80_94)

Bank Discretionary

Bank Discretionary (6_77_78)

Addenda

Addenda (7_04_83)

Descriptive Date

Descriptive Date (5_64_69)

Company Name

Company Name (5_05_20)

IIN unique to company name and ID

Company Discretionary

Company Discretionary (5_21_40)

Company ID

Company ID (5_41_50)


Class

Class (5_51_53)

Entry Description

Company Entry Description (5_54_63)

Batch

Batch (5_88_94)

ODFI

Originating DFI (5_80_87)

Immediate Destination

Immediate Destination (1_04_13)

Immediate Origin

Immediate Origin (1_14_23)

File Date

File Date (1_24_29)

File Time

File Time (1_30_33)

File modifier

File Modifier (1_34_34)

Immediate destination name

Immediate Destination Name (1_41_63)

Immediate origin name

Immediate Origin Name (1_87_94)

Amount

Amount_Unsigned (no dollar or comma)

Service CC

Service Class 2xx (5_02_04)

Julian Date

Julian_Settle_Date (5_76_78)

Text4

Text4

Text5

Text5

Return Code

Return Code (7_04_06)


Return Description

Return Description


Original Trace #

Original Trace (7_07_21)

Optional Date

Optional Date (7_22_27)

Original RDFI

Original Receiving DFI (7_28_35)

Addenda Text

Addenda Text (7_36_79)

Addenda Trace

Addenda Trace (7_80_94)

Addenda Type

Addenda Type (7_02_03)

Returns Origin ID

Returns Origination Transaction Code (calculated)

Returns RTN

Returns ABA 9 digit (concatenated)

Amount

Amount_Unsigned (no dollar or comma)


ACH Return Codes

Code

 Description

Detail

R01

Insufficient funds

Available balance is not sufficient to cover the amount of the debit entry

R02

Bank account closed

Previously active amount has been closed by the customer of RDFI

R03

No bank account/unable   to locate account

Account number does not correspond to the individual identified in the entry, or the account number designated is not an open account

R04

Invalid bank account number

Account number structure is not valid

R06

Returned per ODFI request

ODFI requested the RDFI to return the entry

R07

Authorization revoked by customer

Receiver has revoked authorization

R08

Payment stopped

Receiver of a recurring debit has stopped payment of an entry

R09

Uncollected funds

Collected funds are not sufficient for payment of the debit entry

R10

Customer advises not authorized

Receiver has advised RDFI that originator is not authorized to debit his bank account

R11

Check truncation entry return

To be used when returning a check truncation entry

R12

Branch sold to another RDFI

RDFI unable to post entry destined for a bank account maintained at a branch sold to another financial institution

R13

RDFI not qualified to participate

Financial institution does not receive commercial ACH entries

R14

Representative payee deceased or unable to continue in that capacity

The representative payee authorized to accept entries on behalf of a beneficiary is either deceased or unable to continue in that capacity

R15

Beneficiary or bank account holder

(Other than representative payee) deceased* - (1) the beneficiary entitled to payments is deceased or (2) the bank account holder other than a representative payee is deceased

R16

Bank account frozen

Funds in bank account are unavailable due to action by RDFI or legal order

R17

File record edit criteria

Fields rejected by RDFI processing (identified in return addenda)

R18

Improper effective entry date

Entries have been presented prior to the first available processing window for the effective date.

R19

Amount field error

Improper formatting of the amount field

R20

Non-payment bank account

Entry destined for non-payment bank account defined by reg. 

R21

Invalid company ID number

The company ID information not valid (normally CIE entries)

R22

Invalid individual ID number

Individual id used by receiver is incorrect (CIE entries)

R23

Credit entry refused by receiver

Receiver returned entry because minimum or exact amount not remitted, bank account is subject to litigation, or payment represents an overpayment, originator is not known to receiver or receiver has not authorized this credit entry to this bank account

R24

Duplicate entry

RDFI has received a duplicate entry

R25

Addenda error

Improper formatting of the addenda record information

R26

Mandatory field error

Improper information in one of the mandatory fields

R27

Trace number error

Original entry trace number is not valid for return entry; or addenda trace numbers do not correspond with entry detail record

R28

Transit routing number check digit error

Check digit for the transit routing number is incorrect

R29

Corporate customer advises not authorized

RDFI has bee notified by corporate receiver that debit entry of originator is not authorized

R30

RDFI not participant in check truncation program

Financial institution not participating in automated check safekeeping application

R31

Permissible return entry (CCD and CTX only)

RDFI has been notified by the ODFI that it agrees to accept a CCD or CTX return entry

R32

RDFI non-settlement

RDFI is not able to settle the entry

R33

Return of XCK entry

RDFI determines at its sole discretion to return an XCK entry; an XCK return entry may be initiated by midnight of the sixtieth day following the settlement date if the XCK entry

R34

Limited participation RDFI

RDFI participation has been limited by a federal or state supervisor

R35

Return of improper debit entry

ACH debit not permitted for use with the CIE standard entry class code (except for reversals)


TabaPay Response Codes

Status

Result

File

Message

Accepted

0

Processed

Rejected

423

Processed

Invalid input record length

Rejected

440

Processed

Invalid entry class

Rejected

430

Processed

Invalid ISO

Rejected

431

Processed

Invalid MID

Rejected

432

Processed

invalid ISO format

Rejected

428

Processed

Duplicate or re-used IIN

Rejected

409

Processed

Duplicate or re-used IIN

Rejected

427

Processed

Invalid entry type

Rejected

426

Processed

Invalid ACH type (S, N, R)

Rejected

425

Processed

Invalid account type

Rejected

452

Processed

Invalid debit or credit indicator

Rejected

422

Processed

Invalid RTN

Rejected

448

Processed

Invalid amount formt

Rejected

449

Processed

Limit exceeded

Complete

0

Output

Error

100

Output

Rejected by ODFI