ACH return reason code
R30 return code: RDFI Not Participant in Check Truncation Program
The RDFI does not take part in the check truncation program (TRC and TRX entries).
What R30 means
R30 is the return reason code RDFI Not Participant in Check Truncation Program
. The RDFI does not take part in the check truncation program (TRC and TRX entries).
It is sent by the ACH Operator as a return entry: the original entry goes back to the ODFI with an addenda record carrying R30, and the ODFI passes the return on to the Originator.
Typical causes
- The RDFI does not take part in the check truncation program the TRC or TRX entry relies on.
Return timeframe
Returned by the ACH Operator at its next file delivery after processing.
What the Originator can do next
- Collect the item another way.
How R30 appears in a NACHA file
A return is the original entry detail record (type 6) sent back with a return transaction code — 21 or 26 for a checking account, 31 or 36 for savings (21 and 31 return a credit, 26 and 36 a debit) — the original amount, and an addenda record of type 99 that carries the reason. The batch keeps the original entry’s SEC code.
| Positions | Field | In an R30 return |
|---|---|---|
| 1 | Record Type Code | 7 (addenda) |
| 2–3 | Addenda Type Code | 99 (return) |
| 4–6 | Return Reason Code | R30 |
| 7–21 | Original Entry Trace Number | Trace number of the entry being returned |
| 22–27 | Date of Death | YYMMDD for R14 and R15; blank otherwise |
| 28–35 | Original Receiving DFI Identification | First 8 digits of the original entry’s RDFI routing number |
| 36–79 | Addenda Information | Free text from the RDFI |
| 80–94 | Trace Number | The return entry’s own trace number |
To read a return file record by record, open the file in NACHA Navigator, a free sister site that parses NACHA files in your browser without uploading them.
Look up R30 from code or an AI agent
The code table on this page is the one behind the REST API and the MCP server, so a script or an AI agent gets the same answer as JSON. No key and no account.
curl -s 'https://payopskit.com/api/v1/codes/R30?set=ach-return'{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "lookup_payment_code",
"arguments": {
"code": "R30",
"set": "ach-return"
}
}
}{
"code": "R30",
"set": "ach-return",
"found": true,
"matches": [
{
"set": "ach-return",
"code": "R30",
"name": "RDFI Not Participant in Check Truncation Program",
"description": "The RDFI does not take part in the check truncation program (TRC and TRX entries).",
"details": {
"category": "return",
"timeframe": "Returned by the ACH Operator at its next file delivery after processing",
"timeframeKind": "operator",
"timeframeDays": null,
"timeframeFrom": null,
"account": "any",
"accountNote": null,
"writtenStatement": false,
"initiatedBy": "ACH Operator",
"note": null,
"effectiveFrom": null,
"upcomingChange": null,
"caveat": null
}
}
]
}The MCP server is at /mcp (Streamable HTTP, no key); the API and MCP docs show how to connect Claude, Cursor or VS Code.
The deadline for a settlement date: GET /api/v1/ach/return-deadline?settlement_date=2026-11-25&code=R30 or the MCP tool ach_return_deadline.
Source: Nacha Operating Rules, Appendix Four (Return Entries). The code’s title is the Rules’ own; the rest is this site’s plain-language summary. It is informational and not a substitute for the Rules, your ACH Operator’s schedule or your ODFI agreement.