Validate Free+ Pro Beta NACHA .ach
ACH return matcher
Use for Testing ACH return and NOC handling
  1. 1Add the file you sent
  2. 2Add the return or NOC file
  3. 3Fix unmatched references
US payments QA · Returns and NOCs

ACH return and NOC matcher

Check that every return and NOC from the bank points to the right payment. Each one must reference exactly one entry of the file you sent by trace number, company ID and receiving bank, and a return must repeat its amount. Files are read with the open-source Moov ACH engine. Need test files? Generate an original with returns and NOCs.

1The file you sent

or paste it

2The return or NOC file

or paste it

Up to 1 MB each. Files are checked in a temporary sandbox and deleted right away. Account numbers and names are not shown; corrected account numbers in NOCs are masked.

3Report

Add the file you sent and the bank's return or NOC file, or try a sample. You will get:
  1. structural errors in either file from the Moov ACH engine,
  2. for every return and NOC: the code, the original trace it points to, and whether it links to exactly one entry you sent,
  3. amount mismatches between a return and its original payment.

FAQ

How is a return matched to the original payment?

The return addenda (record 7, type 99) carries the original trace number and receiving bank. We link a return only when the trace, company ID and receiving bank match exactly one entry of your original file, and the return repeats the original amount. NOCs (type 98) are matched the same way.

Why would a return not match?

Common causes: the trace number was rewritten after the file was sent, the return points to another file, the company ID differs between batches, or the amount was changed. Matching by amount or by the current trace alone links returns to the wrong payment.

Which files are supported?

NACHA files up to 1 MB with CCD, PPD, CTX, WEB or TEL entries to checking or savings accounts. Dishonored and contested returns are not checked yet.

IBANgen provides synthetic QA data. Simulated files and responses do not reflect how any real bank or operator processes payments.

Next in your workflow