Developer Resources
Details
| SoapAction | http://jackhenry.com/ws/ACHFileAdd |
| Input Name | ACHFileAdd |
| Output Name | ACHFileAddResponse |
| Input Namespace | http://jackhenry.com/jxchange/TPG/2008 |
| Group Name | ACH |
| Container | TPG_ACHMaster.xsd |
XML Examples
ACHFileAdd Request
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ACHFileAdd xmlns="http://jackhenry.com/jxchange/TPG/2008">
<MsgRqHdr>
<jXchangeHdr>
<JxVer/>
<AuditUsrId>AuditUsrId1</AuditUsrId>
<AuditWsId>AuditWsId1</AuditWsId>
<Ver_1/>
<jXLogTrackingId>{GUID}</jXLogTrackingId>
<Ver_2/>
<InstRtId>011001276</InstRtId>
<InstEnv>TEST</InstEnv>
<Ver_3/>
<BusCorrelId/>
<Ver_4/>
<Ver_5/>
<ValidConsmName>{Insert}</ValidConsmName>
<ValidConsmProd>{Insert}</ValidConsmProd>
</jXchangeHdr>
</MsgRqHdr>
<ACHFileConsmRefId>12345</ACHFileConsmRefId>
<ACHNACHAFile>
101 113102552 1131025522101191706A094101R2020 Bank 554 R2020 Bank 554 00095725
5220MAC ProfessionalMAC PROFESSIONAL 5917591111PPDMAC PRO 2101190001113102552000001
622011000015123456 0000020020 MAC Tech 0113102552000001
6271131025521984 0000020020123456789 Sierra Lynn McCaffrey 0113102552000002
822000000200124102560000000200200000000200205917591111 113102552000001
9000001000001000000020012410256000000020020000000020020 
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
</ACHNACHAFile>
<ValidateOnly>true</ValidateOnly>
</ACHFileAdd>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ACHFileAdd FAQ
Question: When we send over the ACHFileAdd, is there something on that side that is going to tell us what was received? Any sort of totals or anything like that, to be able to confirm everything that should have been sent is sent?
Answer: ACHFileRefId is given when a formatted ACH file has been delivered, so the presence of a reference identifier along with a RsStat of Success would confirm successful transmission of an ACH file. You could also take the ACHFileRefId that is produced in the response and inquire on the status of the file through the ACHFileInq service. ACHStatType would indicate whether a file has been processed or is still pending.
Question: Should this file have gone to the ACH warehouse?
Answer: It will not be sent automatically to ACH warehouse unless automerge core parameter is set on the Silverlake side.
Question: What is the maximum size of the NACHA File that can be sent inside of ACHFileAdd?
Answer: SilverLake An ACH package size of 3MB (post compressed and includes the SOAP envelope) will be the maximum NACHA file size that can be submitted within the ACHNACHAFile element. If they need to submit larger files, they will need to utilize OFI. In the ACHFileAdd request, they would include the OFIFileName element with the name of the data file (following contract standards).
Answer: CIF 20/20 An ACH package size of 3MB (post compressed and includes the SOAP envelope) will be the maximum NACHA file size that can be submitted within the ACHNACHAFile element. OFI is not available for CIF 20/20.
Question: Does ACHFileAdd perform any validations on the NACHA file being passed in?
Answer: The business service will perform limited NACHA File validations in order to ensure the file meets the NACHA File standards. By ensuring the file meets the NACHA File standards, it will aid in a successful merge of the file into the ACWARE file by the core programs.
The following is a list of validations that will be performed. If any are found to be a violation an error will be returned.
- Invalid Receiving Point ID
- Invalid Check Digit for Receiving Point ID
- Invalid Sending Point ID
- Invalid Check Digit for Sending Point ID
- Invalid Standard Entry Class Code
- Invalid Effective Date
- Invalid transaction code
- Invalid Routing Number, must be numeric
- Non-Monetary transaction code with amount greater than zero
- Debit entry greater than $25,000
- Record Type 1 out of order
- Record Type 5 out of order
- Record Type 6 out of order
- Record Type 7 out of order
- Record Type 8 out of order
- Record Type 9 out of order
- Invalid Record Type
- Batch hash totals out of balance
- Batch item count is out of balance
- Batch debit totals are out of balance
- Batch credit totals are out of balance
- File hash totals out of balance
- File item count is out of balance
- File debit totals are out of balance
- File credit totals are out of balance
- ACH file has been previously entered
- Incomplete file
- File size is greater than 3MB (33,465 records)
- Receiving Point ABA is not found in ACTRNR file
Question: When we send ACH transfers using XferAdd API or sending NACHA file using ACHFileAdd API how are they processed to send to ACH network? Is there a daily cutoff time for this processing?
Answer: SilverLake There are 4 ways that NACHA files via ACHFileAdd can or will be merged into the ACH Warehouse File.
- The Financial Institution Bank personnel can take the core menu ACENTRY option 20 and Merge JXchange ACH Transactions throughout the business day to merge any jXchange NACHA files that are ready to be merged.
- If they have ACPAR option 23. ACH General Parameters – Auto Merge jXchange transaction parameters set up and there is a cut-off time if the FI chooses to set up when the Auto merge jXchange transactions = Y.
- They can be merged when the FI takes the menu ACPROC option 5. Pull Origination Entries and Create Tape if there are jXchange NACHA files ready to be merged.
- They can also be merged during EOD processing within ACRUNC if there are jXchange NACHA files ready to be merged.
Answer: CIF 20/20 Only has the functionality to merge the transactions manually by taking menu ACH – option 39 merge jXchange ACH transactions. CIF 20/20 does not have the Auto merge jXchange functionality like SilverLake does.
Question: SilverLake Does ACHFileAdd perform the standard risk checking?
Answer: No, ACHFileAdd bypasses the standard SilverLake risk checking.
Question SilverLake What is the maximum size of the NACHA File that can be sent inside of ACHFileAdd?
Answer: An ACH package size of 3MB (post compressed and includes the SOAP envelope) will be the maximum NACHA file size that can be submitted within the ACHNACHAFile element.
If it looks like the files are going to be bigger, a consumer will need to split the file up to smaller chunks or we will have to engage SilverLake Core Support to setup an FTP process via Moveit which will have costs associated with setup, maintenance and file automation.
Question: I have submitted an ACH File via ACHFileAdd and got a success, but the data is not appearing on the core.
Answer: Please make sure you do not have the ValidateOnly element set to true.
How do you resolve a “Receiving Point ABA is not found in ACTRNR file” error when calling ACHFileAdd?
The receiving point in the 1 record of the NACHA file must be listed in ACPAR option 2 of the financial institution you are connecting to.
If the financial institution needs assistance with this configuration, they can open a case with Core Support.
Question: SilverLake We are receiving ErrCode - 140 - Invalid format for the unique identifier. What is the valid format?
Answer: SilverLake expects a GUID for the ACHFileConsmRefId. Since this error falls under the Fault category, it can be overridden, and you may use an identifier of your choosing. However, it is strongly recommended to use a GUID for consistency and best practice.
Question:
- What are the cutoff times for ACH processing?
- How often are incoming ACH files pulled in and posted to accounts?
- What method is used to move these files?
Answer: For banks or credit unions hosted with Jack Henry Outlink, the financial institution will need to open a support ticket with the Outlink team to obtain their specific ACH cutoff times, posting schedules, and file‑transfer methods.
For financial institutions not using Jack Henry’s Outlink services, these details vary by institution. Please work directly with the bank or credit union to receive their ACH processing schedules and file‑movement procedures.
- Have a how-to question? Seeing a weird error? Get help on StackOverflow.
- Register for the Developer Office Hours where we answer technical Q&A from the audience.