ACH Payment Processing

May 16, 2006

Copyright 2006, R. James Holton. All rights reserved.

 

 

FIRST THING: If you are contemplating paying reports via ACH, you need to contact your bank and/or processor to get all the required information and requirements from them.  Anything in this document may be superceded by them.

 

SECOND THING: The author and Adisoft, Inc. assume no responsibility for anything said, written or described in this document.  The author and Adisoft, Inc. are not responsible for any loses that may occur, directly or indirectly, by using the information in this document or by use of the associated software.

 

THIRD THING: Before using ACH as a payment method, make sure that you fully understand the process, and its risks, and that you have proper controls and audit procedures in place to compensate and control the associated risks.

 

This document describes the audit and administrative steps required to process ACH payments in ESS.  For information on setting up your ESS system for ACH payments, consult the “ACH Payment Setup” document in the “Professional Services Manual.”

 

Here are some terms that will be used in this document:

 

  1. Account number – An account number is assigned by a bank to either a checking or savings account.  It is unique within the bank.  Account numbers are not standard and come in different lengths.  The account number is found in the microcode at the bottom of a check.
  2. ABA Number – “ABA” stands for “American Bankers’ Association.”  This group assigns each bank a unique number with is called an “ABA Number.”  An ABA Number is comprised of 8 digits with the first two digits tied to a specific Federal Reserve district.
  3. ACH – Stands for “Automated Clearing House.”  A clearing house is a collection of banks that exchange checks.  This allows individuals to write checks and have them cleared effectively.  When ACH is used as an adjective for a electronic file, it is used interchangeably with NACHA.
  4. NACHA – Stands for “National Automated Clearing House Association,” which is the body that makes the standards for various clearing houses.
  5. Prenote – Prenote stands for “pre-notification.”  A prenote is a transaction that tests the validity of a routing code, account and associated information.  Prenotes are sent in advance of payments to ensure that the payment will be processed.  
  6. Routing Code – This is a bank’s ABA number plus a check digit.  The Routing Code is 9 digits and is found in the microcode at the bottom of a check.

 

 

Setting up a user for ACH

 

To setup a user for ACH payments, follow these steps:

 

  1. Select the “User ACH info” option in the “User File” section of the Audit module.
  2. Locate the user by either searching on the last name or personnel number.  After you’ve found the user, Edit the user record.
  3. Supply the following five pieces of information for the user:
    1. Reimbursement method – enter either PRENOTE or ACH.  If you enter PRENOTE, it will be necessary to prenote this user prior to releasing payments.  If you enter ACH, the user will be added to the ACH transfer when the end-of-day process is run and the user will not be added to the prenote process.  Follow your procedures.
    2. Bank Routing Code – Enter the 9 digit routing for the user.  This number will appear at the bottom of a check in the microcode.  The user can also get this number from the bank
    3. Account # - Enter the user’s account number.  This number will appear at the bottom of a check in the microcode.  The user can also get this number from the bank or from their bank statement.
    4. Is this a savings account? – A “Yes” indicates that this is a savings account.  A “No” indicates that this is a checking account.
    5. Has this been pre-noted? – Enter “Yes” if you have previously prenoted this account.

 

Prenoting

 

Check with your bank or processor about prenoting.   They will fill you in on the rules that you need to follow regarding prenotes. If you prenote, currently ESS will create a separate prenote feed that can be submitted to your bank or processor.  The prenote feed will prenote all users that have PRENOTE as their reimbursement method.  As part of creating the feed, a user, who is being prenoted, will have their reimbursement method changed from PRENOTE to VERIFYING.  Also, users with a “Has this been prenoted?” flag set to “No” and ACH as their reimbursement method will also appear in the list and if checked, have their reimbursement method changed to VERIFYING and be included on the prenote feed. If you have to rerun the feed, you’ll need to reset the users’ payment methods to PRENOTE for users that you want to prenote.  To create a prenote feed, follow these steps:

 

  1. Select the “Prenote Users” option under the “Process” section of the Audit module.
  2. You will a list of users that have been selected for prenoting.  If you do not want to prenote a specific user, uncheck the box in front of the user.  Only users with checked boxes will be added to the feed.
  3. To create the prenote file, click the “Release the…” button at the bottom of the screen.
  4. The prenote file is located in your end-of-day folder under the name “NACHA.PRE.”  Your end-of-day folder is defined in the system.xml file with the folder subelement under the endofday element.  See the “Professional Services Manual” for more information.
  5. Transfer the prenote file to your bank or processor per their directions.

 

Releasing pre-notes

 

After a specified number of day (e.g., 10 days), if you don’t receive a response that a prenote has failed, you can assume that the information for the prenoted user is correct.  You have two ways of doing this:

 

  1. Edit the user’s “User ACH Info” screen under the “User File” section.  Change VERIFYING to ACH.
  2. Run the “Prenoting OK” option under the “Process” section.  Users that are checked will have their reimbursement method changed from VERIFYING to ACH when you click the “Allow checked…” button.  Users are automatically checked when their prenote date is 10 days in the past.  Users can be manually check and unchecked.

 

Maintaining the calendar.xml file

 

The calendar.xml file is very important.  The NACHA feeds needs to be able to calculate two business days from any feed date.  It can account for weekends, but must be told when “banking” holidays occur so it can compensate for them.   The calendar.xml file contains the dates for future bank holidays and needs to be accurately maintained if the NACHA feed is used.  Consult the “ACH Payment Setup” section of the “Professional Services Manual” for more information.

 

The NACHA payment file

 

The NACHA payment is run as part of the end-of-day process and placed in the end-of-day folder.  The default file name is NACHA.FIL.  The name of the NACHA payment file can be customized with the subelement nacha_file_name under the endofday element in the system.xml file.  Consult the “Professional Services Manual” for more information on file naming.  After the NACHA payment file has been created, it should be transferred to your bank or processor via their directions.

 

Minimum suggested controls

 

The “Latest Payment Report” provides an ACH handoff number under the “Payment/Feeds” section.  This number should be compared against the payment totals on the ACH feed.(*)   Any difference should be understood and accepted as valid before transmitting the file.

 

(*) Currently ESS does not provide a “NACHA File Report.”  You’ll probably need to rely on your bank/processor for NACHA file totals.

 

###