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

The tables below show how the ACH-related identifiers are represented across Galileo systems. The variety in identifier names 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 or trans_id instead of the identifier shown below. You may also need to request that some fields be added to your events.

Trace numbers

Every ACH transaction has a 15-digit trace number, which is generated by the transaction originator. Trace numbers have this format:

  • 8-digit prefix, which is the originating bank routing number minus the check digit.
  • Seven additional digits, which are generated in sequence.

Because a trace number cannot have more than 15 digits, the counter for the last seven digits resets after it reaches 9999999, which means that trace numbers are not universally unique. All Galileo clients use the same counter, so depending on the volume of outgoing ACH transactions on the Galileo platform, a single Nacha file can end up having the same trace number more than once. Likewise, trace numbers generated by external banks will reset to 0000000 periodically, depending on how many ACH transactions their customers originate, and so the incoming Nacha files might also have repeated trace numbers.

The trace number is the only transaction identifier that is passed in a Nacha file. The other identifiers that Galileo generates are not included. For that reason, Galileo identifiers cannot be used to track returned transactions.

You can find the official trace number in these places:

Outgoing ACH identifiers

An outgoing ACH transaction is initiated by the Create ACH Transaction endpoint, which returns these two fields:

  • ach_transaction_id — Unique ID for an outgoing ACH transaction.
  • transaction_id — Echo of the transactionId in the endpoint request.

Later, when the transaction is posted to the account, it is assigned a pmt_id if the funds go into the local account and an adj_id if the funds are removed.

Use these three identifiers to track the transaction through the Galileo system.

Data sourceACH transaction IDExternal transaction IDPayment/Adjustment ID
Create ACH Transaction requesttransactionId
Create ACH Transaction responseach_transaction_idtransaction_id
BPMT: pmt or
BADJ: adj
ach_trans_idext_trans_id*pmt_id or adj_id
Posted Transactions RDFSOURCE TRACEEXTERNAL TRANSACTION IDSOURCE ID
AUTHORIZATION CODE
Outgoing ACH RDFSOURCE_TRACEADJ_ID
ACH Returns RDFTraceTrans ID
Get ACH Transaction Historyach_transaction_id
Get All Transaction Historyach_trans_idexternal_trans_idsource_id
Get Transaction Historyach_transaction_idexternal_trans_idsource_id
CSTTrans IDID
FACH: ach_credit_returnach_trans_id*ext_trans_idpayment_id
ACRT: ach_returnach_trans_id*

* Available by request

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.

Incoming ACH identifiers

An incoming ACH transaction is initiated when Galileo processes an incoming Nacha file. Galileo uses this ID:

  • ach_source_trace — Assigned by the ODFI, included in the Nacha file.

Later, when the transaction is posted to the account, it is assigned a pmt_id if the funds go into the local account and an adj_id if the funds are removed.

Use these two identifiers to track the transaction through the Galileo system.

Data sourceACH source tracePayment/Adjustment ID
BPMT: pmt or
BADJ: adj
ach_source_trace*pmt_id or adj_id
Posted Transactions RDFACH TRACE NUMBER
SOURCE TRACE
SOURCE ID
AUTHORIZATION CODE
Incoming ACH RDFTrace NumberAuthorization Code
Early ACH RDFTrace NumberTransaction ID
Incoming ACH Manual Review RDFTRACE_NUMBERTRANS_ID
Get Pending Depositsach_trans_id
Get Deposit Historyach_trans_id
Modify Pending Deposit StatusdepositTransactionId
Get All Transaction Historyach_trans_idsource_id
Get Transaction Historyach_transaction_idsource_id
CSTTrace NoID
ACHC: ach_credit_failach_source_trace*
ACHR: ach_debit_failach_source_trace*

* Available by request



Galileo Financial Technologies, LLC 2025

All documentation, including but not limited to text, graphics, images, and any other content, are the exclusive property of Galileo Financial Technologies, LLC and are protected by copyright laws. These materials may not be reproduced, distributed, transmitted, displayed, or otherwise used without the prior written permission of Galileo Financial Technologies, LLC. Any unauthorized use or reproduction of these materials are expressly prohibited.