Skip to content

ACH return reason code

R76 return code: No Errors Found

The RDFI contests a dishonor for field errors: its return had none.

What R76 means

R76 is the return reason code No Errors Found. The RDFI contests a dishonor for field errors: its return had none.

It is a contested dishonored return: the RDFI disputes the ODFI’s dishonor of its return and sends it back with R76 as the reason.

Typical causes

  • The RDFI contests a dishonor for field errors (R69): its return had none.

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.

Try your own settlement date in the ACH date calculator

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 R76 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 R76 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 R76 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.

REST · GET · no key
curl -s 'https://payopskit.com/api/v1/codes/R76?set=ach-return'
MCP · tools/call · lookup_payment_code
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "lookup_payment_code",
    "arguments": {
      "code": "R76",
      "set": "ach-return"
    }
  }
}
Response (JSON)
{
  "code": "R76",
  "set": "ach-return",
  "found": true,
  "matches": [
    {
      "set": "ach-return",
      "code": "R76",
      "name": "No Errors Found",
      "description": "The RDFI contests a dishonor for field errors: its return had none.",
      "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=R76 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.