ACH return reason code
R75 return code: Return Not a Duplicate
The RDFI contests a dishonor for duplication: its return was not a duplicate.
What R75 means
R75 is the return reason code Return Not a Duplicate
. The RDFI contests a dishonor for duplication: its return was not a duplicate.
It is a contested dishonored return: the RDFI disputes the ODFI’s dishonor of its return and sends it back with R75 as the reason.
Typical causes
- The RDFI contests a dishonor for duplication (R67): its return was not a duplicate.
Return timeframe
The RDFI transmits the contested dishonored return within 2 banking days after the settlement date of the dishonored return.
Banking days are the Federal Reserve’s business days: weekends and Fed holidays don’t count, so a holiday in the window pushes the deadline out by a day.
Worked example
For a dishonored return that settled on Wednesday, November 25, 2026, the day before Thanksgiving: the RDFI must transmit the contested dishonored return by Monday, November 30, 2026.
What happens next
- The ODFI reviews the contested dishonored return; how any remaining disagreement is resolved between the two banks is up to the Rules and their agreements.
How R75 appears in a NACHA file
A contested dishonored return is an entry detail record followed by one addenda record of type 99. The addenda carries R75 in positions 4–6 and the original entry’s trace number in positions 7–21, then the details of the return and the dishonored return being contested (their trace numbers, settlement dates and reason codes). The layout differs from a plain return’s; the Rules give it field by field.
To read a contested dishonored return 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 R75 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/R75?set=ach-return'{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "lookup_payment_code",
"arguments": {
"code": "R75",
"set": "ach-return"
}
}
}{
"code": "R75",
"set": "ach-return",
"found": true,
"matches": [
{
"set": "ach-return",
"code": "R75",
"name": "Return Not a Duplicate",
"description": "The RDFI contests a dishonor for duplication: its return was not a duplicate.",
"details": {
"category": "contested",
"timeframe": "The RDFI transmits the contested dishonored return within 2 banking days after the settlement date of the dishonored return",
"timeframeKind": "banking-days",
"timeframeDays": 2,
"timeframeFrom": "dishonored-return-settlement",
"account": "any",
"accountNote": null,
"writtenStatement": false,
"initiatedBy": "RDFI",
"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=R75 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.