# ACH Testing

### Returned check codes <a href="#ach-return-codes" id="ach-return-codes"></a>

Number checks for status change on all *OPEN* ACH transactions daily. Once we detect a status change, we send a report to the merchant. The report shows settled and/or returned checks.&#x20;

Returned checks will show the below mentioned codes. Below table shows how to generate the return codes using the specified routing and account number in the testing environment.

<table><thead><tr><th width="90">Code</th><th width="208">Code description</th><th width="149">Routing</th><th>Account number</th></tr></thead><tbody><tr><td>R01</td><td>Insufficient funds</td><td>021000021</td><td>1234 5678 9012 3451</td></tr><tr><td>R09</td><td>Insufficient collected funds in account</td><td>021000021</td><td>1234 5678 9012 3452</td></tr><tr><td>R09</td><td>Insufficient collected funds in account</td><td>021000021</td><td>1234 5678 9012 3453</td></tr><tr><td>R02</td><td>Receiver's account is closed</td><td>021000021</td><td>1234 5678 9012 3454</td></tr><tr><td>R03</td><td>No account on file</td><td>021000021</td><td>1234 5678 9012 3455</td></tr><tr><td>R05</td><td>Unauthorized CCD</td><td>021000021</td><td>1234 5678 9012 3456</td></tr><tr><td>R07</td><td>ACH authorization has been revoked</td><td>021000021</td><td>1234 5678 9012 3457</td></tr><tr><td>L04</td><td>Refer to Maker ICL</td><td>021000021</td><td>1234 5678 9012 3458</td></tr><tr><td>L09</td><td>Unauthorized ICL</td><td>021000021</td><td>1234 5678 9012 3459</td></tr><tr><td>R01</td><td>Insufficient Funds</td><td>122000661</td><td>1234 5678 9012 3450</td></tr><tr><td>R09</td><td>Insufficient collected funds in account</td><td>122000661</td><td>1234 5678 9012 3451</td></tr><tr><td>R02</td><td>Receiver's account is closed</td><td>122000661</td><td>1234 5678 9012 3452</td></tr><tr><td>R05</td><td>Unauthorized CCD</td><td>122000661</td><td>1234 5678 9012 3453</td></tr><tr><td>L04</td><td>Refer to Maker ICL</td><td>122000661</td><td>1234 5678 9012 3454</td></tr><tr><td>L09</td><td>Unauthorized ICL</td><td>122000661</td><td>1234 5678 9012 3455</td></tr><tr><td>C01</td><td>Account number</td><td>122000661</td><td>1234 5678 9012 3456</td></tr><tr><td>R08</td><td>Payment on this item has been stopped</td><td>122000661</td><td>1234 5678 9012 3457</td></tr><tr><td>R01</td><td>Insufficient Funds</td><td>122000661</td><td>1234 5678 9012 3458</td></tr><tr><td>C03</td><td>Transit/Routing Number &#x26; Account Number</td><td>122000661</td><td>1234 5678 9012 3459</td></tr><tr><td>R01</td><td>Insufficient Funds</td><td>011100106</td><td>1234 5678 9012 3450</td></tr><tr><td>R09</td><td>Insufficient collected funds in account</td><td>011100106</td><td>1234 5678 9012 3451</td></tr><tr><td>R02</td><td>Receiver's account is closed</td><td>011100106</td><td>1234 5678 9012 3452</td></tr><tr><td>R05</td><td>Unauthorized CCD</td><td>011100106</td><td>1234 5678 9012 3453</td></tr><tr><td>L04</td><td>Refer to Maker ICL</td><td>011100106</td><td>1234 5678 9012 3454</td></tr><tr><td>L09</td><td>Unauthorized ICL</td><td>011100106</td><td>1234 5678 9012 3455</td></tr><tr><td>C01</td><td>Account number</td><td>011100106</td><td>1234 5678 9012 3456</td></tr><tr><td>R08</td><td>Payment on this item has been stopped</td><td>011100106</td><td>1234 5678 9012 3457</td></tr><tr><td>R01</td><td>Insufficient Funds</td><td>011100106</td><td>1234 5678 9012 3458</td></tr><tr><td>C03</td><td>Transit/Routing Number &#x26; Account Number</td><td>011100106</td><td>1234 5678 9012 3459</td></tr></tbody></table>

***

### Complete list of return codes

Below you'll find a reference list to every possible return code value.

<table><thead><tr><th width="523">Return Description</th><th width="226">Return Code</th></tr></thead><tbody><tr><td>Incorrect bank account number</td><td>C01</td></tr><tr><td>Incorrect transit/routing number</td><td>C02</td></tr><tr><td>Incorrect transit/routing number and bank account number</td><td>C03</td></tr><tr><td>Bank account name change</td><td>C04</td></tr><tr><td>Incorrect payment code</td><td>C05</td></tr><tr><td>Incorrect bank account number and transit code</td><td>C06</td></tr><tr><td>Incorrect transit/routing number, bank account number and payment code</td><td>C07</td></tr><tr><td>Incorrect individual ID number</td><td>C09</td></tr><tr><td>Incorrect company name</td><td>C10</td></tr><tr><td>Incorrect company identification</td><td>C11</td></tr><tr><td>Incorrect company name and company ID</td><td>C12</td></tr><tr><td>Fraudulent ICL</td><td>L06</td></tr><tr><td>ICL Hold</td><td>L07</td></tr><tr><td>ICL Other</td><td>L08</td></tr><tr><td>Unauthorized ICL</td><td>L09</td></tr><tr><td>Non-Negotiable Item</td><td>L88</td></tr><tr><td>Other</td><td>L99</td></tr><tr><td>Insufficient funds</td><td>R01</td></tr><tr><td>Receiver's account is closed</td><td>R02</td></tr><tr><td>No account on file</td><td>R03</td></tr><tr><td>Invalid account number</td><td>R04</td></tr><tr><td>Unauthorized CCD</td><td>R05</td></tr><tr><td>Returned at bank's request</td><td>R06</td></tr><tr><td>ACH authorization has been revoked</td><td>R07</td></tr><tr><td>Payment on this item has been stopped</td><td>R08</td></tr><tr><td>Insufficient collected funds in account</td><td>R09</td></tr><tr><td>Customer advises not authorized</td><td>R10</td></tr><tr><td>Check truncation return (specify)</td><td>R11</td></tr><tr><td>Branch sold to another financial institution</td><td>R12</td></tr><tr><td>RDFI is not an ACH member(If this was a check by p</td><td>R13</td></tr><tr><td>Representative payee deceased or no longer able to</td><td>R14</td></tr><tr><td>Beneficiary or account holder other than represent</td><td>R15</td></tr><tr><td>Account funds have been frozen</td><td>R16</td></tr><tr><td>Item returned because of invalid data</td><td>R17</td></tr><tr><td>Improper effective date</td><td>R18</td></tr><tr><td>Amount field error</td><td>R19</td></tr><tr><td>Non-transaction account</td><td>R20</td></tr><tr><td>Invalid company identification</td><td>R21</td></tr><tr><td>Invalid individual ID number</td><td>R22</td></tr><tr><td>Payment refused by biller</td><td>R23</td></tr><tr><td>Duplicate entry</td><td>R24</td></tr><tr><td>Addenda record error</td><td>R25</td></tr><tr><td>Mandatory field error</td><td>R26</td></tr><tr><td>Trace number error</td><td>R27</td></tr><tr><td>Routing/transit number check digit error</td><td>R28</td></tr><tr><td>Corporate customer advises not authorized</td><td>R29</td></tr><tr><td>Receiver not participant in check truncation program</td><td>R30</td></tr><tr><td>Permissible return entry</td><td>R31</td></tr><tr><td>RDFI non-settlement</td><td>R32</td></tr><tr><td>Return of item</td><td>R33</td></tr><tr><td>Limited participation ODFI</td><td>R34</td></tr><tr><td>Return of improper debit entry</td><td>R35</td></tr><tr><td>Return of improper credit entry</td><td>R36</td></tr><tr><td>Source Presented for Payment</td><td>R37</td></tr><tr><td>Stop payment on source document</td><td>R38</td></tr><tr><td>Improper Source Document</td><td>R39</td></tr><tr><td>Return of item by government agency</td><td>R40</td></tr><tr><td>Invalid tansaction code</td><td>R41</td></tr><tr><td>Routing/transit number check digit error</td><td>R42</td></tr><tr><td>Invalid account number</td><td>R43</td></tr><tr><td>Invalid individual ID</td><td>R44</td></tr><tr><td>Invalid individual name or company name</td><td>R45</td></tr><tr><td>Invalid representative payee indicator code</td><td>R46</td></tr><tr><td>Duplicate enrollment</td><td>R47</td></tr><tr><td>Reserved</td><td>R49</td></tr><tr><td>State law affecting RCK acceptance</td><td>R50</td></tr><tr><td>Item is ineligible</td><td>R51</td></tr><tr><td>Stop payment on item</td><td>R52</td></tr><tr><td>Item and A.C.H. Entry Presented for Payment</td><td>R53</td></tr><tr><td>Misrouted return</td><td>R61</td></tr><tr><td>Incorrect trace number</td><td>R62</td></tr><tr><td>Incorrect dollar amount</td><td>R63</td></tr><tr><td>Incorrect individual identification</td><td>R64</td></tr><tr><td>Incorrect tranaction code</td><td>R65</td></tr><tr><td>Incorrect company identification</td><td>R66</td></tr><tr><td>Duplicate return</td><td>R67</td></tr><tr><td>Untimely return</td><td>R68</td></tr><tr><td>Multiple error return - return contains multiple errors</td><td>R69</td></tr><tr><td>Permissible return entry not accepted</td><td>R70</td></tr><tr><td>Misrouted dishonored return</td><td>R71</td></tr><tr><td>Untimely return</td><td>R72</td></tr><tr><td>Timely original return</td><td>R73</td></tr><tr><td>Corrected return</td><td>R74</td></tr><tr><td>Cross-border payment coding error</td><td>R80</td></tr><tr><td>Non-participant in cross-border program</td><td>R81</td></tr><tr><td>Invalid foreign receiving depository financial institution</td><td>R82</td></tr><tr><td>Foreign receiving depository financial institution</td><td>R83</td></tr><tr><td>Indicates a returned PAC (pre-authorized check)</td><td>R98</td></tr><tr><td>Indicates a returned PAC (pre-authorized check)</td><td>R99</td></tr><tr><td>Other</td><td>RCC</td></tr></tbody></table>

\
\ <br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.number.tech/documentation/testing/ach-testing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
