ACH Tracking and Troubleshooting
This guide describes identifiers used to track outgoing and incoming ACH. It also describes statuses that indicate a failed outgoing ACH request.
Using identifiers to track ACH transactions
You can use a combination of identifiers to track ACH transactions within your system. Tracking methods depend on whether the transaction is outgoing or incoming ACH.
The table below shows how various ACH-related identifiers are represented across Galileo systems. The variety in identifiers is a reflection of the complexity in back-end systems and databases.
Note
The labels for these identifiers in the Events API messages may differ according to the arrangements you made with Galileo. For example, some of these identifiers could be labeled
tran_id
instead of the identifier shown below. You may also need to request that some fields be added to your events.
ACH transaction ID | External transaction ID | Payment or adjustment ID | Internal transaction ID | Trace ID | |
---|---|---|---|---|---|
Program API | ach_transaction_id ach_trans_id (both outgoing) | external_trans_id | source_id | ach_trans_id deposit_transaction_id (both incoming) | |
Events API | ach_trans_id | ext_trans_id | pmt_id adj_id | ach_source_trace | |
Posted Transactions RDF | TRACE NO (outgoing) | EXTERNAL TRANSACTION ID | AUTHORIZATION CODE | TRACE NO (incoming) | |
ACH-related RDFs | Transaction ID (Early ACH) | External Transaction ID (Early ACH) | Source ID (Early ACH) Authorization Code (Early ACH, Incoming ACH)adjustment id (Outgoing ACH) | Transaction ID (Early ACH) | ORIG_TRACE (Outgoing ACH) Trace Number (Early ACH) Trace number (Incoming ACH) |
CST | ID | Trans ID | Trace No | ||
External Trans API | transaction_id | source_trace |
- ACH transaction ID — This value is returned by the Create ACH Transaction endpoint as
ach_transaction_id
. Most of the other transaction-retrieval endpoints returnach_transaction_id
, except Get All Transaction History and Get Pending Deposits, which return this value asach_trans_id
. - External transaction ID — When you pass a
transactionId
with the Create ACH Transaction call, the value is copied to the external transaction ID field. This identifier is universally unique, and it is present only for outgoing ACH transactions. - Payment or adjustment ID — The identifier for the actual payment (credit) or adjustment (debit) that is triggered by the ACH transaction, either incoming or outgoing. The otype differentiates ACH transactions from other types of payments and adjustments. Consult the Funds Flow document that Galileo provided to see which otypes refer to ACH transactions.
- Internal transaction ID — This is the primary key for one of the tables involved in ACH processing.
- Trace ID — The 15-digit identifier that is passed in the Nacha file. This value may help differentiate one ACH transaction from another, but it is not universally unique, even within the same Nacha file, and so it cannot be used by itself to uniquely identify a transaction. Present for both incoming and outgoing ACH transactions.
Tracking outgoing ACH transactions
When you use the Create ACH Transaction endpoint, the ach_transaction_id
that it returns and the external transaction ID can be used to track the transaction in the Program API, events webhook messages, and the Posted Transactions RDF. To match the same transaction in the CST, match the ID for payment and adjustment transactions.
Tracking incoming ACH transactions
When Galileo receives a Nacha file, the only identifier in the file for a transaction is the trace ID, which is not universally unique. When Galileo posts the transaction to the payments or adjustments table, you can use that ID in conjunction with the trace ID to track the transaction across multiple systems.
Matching returned transactions
When one of your outgoing ACH transactions is returned by the recipient, Galileo sends the ACRT: ach_return
event message. To link this return to the original ACH transaction (BPMT: pmt
or BADJ: adj
), match the ach_trans_id
.
Troubleshooting outgoing ACH
This table lists ACH transaction statuses that prevent an outgoing transaction from being completed, as well as the next step to take.
Status | Description | Next step |
---|---|---|
D | Deleted by account holder | Wait for the account holder to request a new transaction. |
E | Error | Return or cancel the transaction and notify the originator. |
L | Canceled due to violation of debit limit | Notify the originator that the transaction was canceled and that it is outside of the allowed range. |
R | Bad routing number | For outgoing ACH, obtain the correct routing number from the customer. |
X | On hold | Determine whether to post or return the transaction. |
l | Pending approval, limit exceeded | Notify the originator that the transaction is outside of the allowed range. |
Updated about 2 months ago