This guide describes identifiers used to track outgoing and incoming ACH. It also describes statuses that indicate a failed outgoing ACH request.
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. See also Mapping Transactions Within Your System for a general guide on using identifiers to trace transactions.
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.
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_idinstead 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|
|Posted Transactions RDF|
|CST||ID||Trans ID||Trace No|
|External Trans API|
- ACH transaction ID — This value is returned by the Create ACH Transaction endpoint as
ach_transaction_id. Most of the other transaction-retrieval endpoints return
ach_transaction_id, except Get All Transaction History and Get Pending Deposits, which return this value as
- External transaction ID — When you pass a
transactionIdwith 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.
- 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.
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.
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.
When one of your outgoing ACH transactions is returned by the recipient, Galileo writes the return to a returns table and assigns it the
ach_proc_id, which is included with the
ACRT: ach_return event message. The
ach_proc_id is not used by any other system. To match this event to the original ACH transaction (
BPMT: pmt or
BADJ: adj), match the
This table lists ACH transaction statuses that prevent an outgoing transaction from being completed, as well as the next step to take.
|Deleted by account holder||Wait for the account holder to request a new transaction.|
|Error||Return or cancel the transaction and notify the originator.|
|Canceled due to violation of debit limit||Notify the originator that the transaction was canceled and that it is outside of the allowed range.|
|Bad routing number||For outgoing ACH, obtain the correct routing number from the customer.|
|On hold||Determine whether to post or return the transaction.|
|Pending approval, limit exceeded||Notify the originator that the transaction is outside of the allowed range.|
Updated 5 months ago