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.



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 IDExternal transaction IDPayment or adjustment IDInternal transaction IDTrace ID
Program APIach_transaction_id
ach_trans_id (both outgoing)
deposit_transaction_id (both incoming)
Events APIach_trans_idext_trans_idpmt_id
ACH-related RDFsext_trans_idsource_idtrans_idtrace_no
CSTIDTrans IDTrace No
External Trans APItransaction_idsource_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 return ach_transaction_id, except Get All Transaction History and Get Pending Deposits, which return this value as ach_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.

StatusDescriptionNext step
DDeleted by account holderWait for the account holder to request a new transaction.
EErrorReturn or cancel the transaction and notify the originator.
LCanceled due to violation of debit limitNotify the originator that the transaction was canceled and that it is outside of the allowed range.
RBad routing numberFor outgoing ACH, obtain the correct routing number from the customer.
XOn holdDetermine whether to post or return the transaction.
lPending approval, limit exceededNotify the originator that the transaction is outside of the allowed range.