Complete reference guide to ACH transaction error codes, rejection codes, and resolution steps for payment processing workflows.
Understanding ACH error codes is essential for troubleshooting payment processing issues and maintaining smooth transaction workflows. This reference guide covers error codes returned during ACH transaction processing and provides actionable steps for resolution.
Compliance Note: ACH transactions must comply with NACHA regulations. Some error resolutions may require customer verification or account updates to maintain compliance standards.
How to Use This Guide
When an ACH transaction fails, the system returns a specific error code. Use this guide to:
- Identify the issue - Find the error code in the tables below
- Understand the cause - Review the description for context
- Apply the resolution - Follow the recommended steps to resolve the issue
- Prevent recurrence - Implement validation checks where applicable
Standard ACH Transaction Error Codes
These error codes apply to all ACH transaction types, including sales, credits, and returns.
| Code | Message | Description | Resolution |
|---|---|---|---|
0 | Approved | The transaction was successfully approved and processed. No validation or processor errors occurred. | None required. |
96 | Error | The transaction failed due to an unhandled exception in the application. This can happen during validation, routing, processor communication, or other processing logic. | Contact Support for assistance. |
29 | Unauthorized Transaction | Merchant's configuration does not include permission for standalone ACH transactions. Attempting a standalone credit without authorization triggers this error. | Verify merchant provisioning includes permission for standalone ACH transactions. Contact Support to update merchant permissions if needed. |
140 | Verification Error | The routing number provided failed validation during ACH verification. | Verify that the routing number is correct and valid for the customer's bank. The number must be a valid 9-digit ABA routing number. |
1000 | Unknown User | The credentials, such as the AccountID, Username, or Password in the ServiceCredential section provided in the API request, are invalid. | Confirm that valid credentials are used in both the ServiceCredential section and the Basic Auth header. Ensure no fields are missing or set to null. |
190 | Null/Invalid AlphaNumeric First & Last Individual/Company Name | The transaction is missing the required First Name and Last Name values for the payer. This occurs when both the FirstName and LastName fields are empty or contain invalid characters (non-alphanumeric). | Ensure that both FirstName and LastName fields contain valid alphanumeric values. For business transactions, supply the company name in the appropriate field. |
209 | Invalid Transaction Code | The system receives an unrecognized or unsupported transaction type. Occurs when TransactionType is NotSet or does not match supported cases (Sale, StandAloneCredit, Refund, ACHReturn, Void, etc.). | Ensure that the correct TransactionType is being set before calling the route. |
17 | Invalid Batch Number | The system was unable to locate a valid ACH settlement batch for the transaction. | Contact Support for batch resolution. |
96 | Error - Processor | The system attempted to process a transaction but found that the processor information was missing or not configured. This typically occurs when the processor is not provisioned for the merchant account. | Verify that the processor is properly provisioned for the merchant account. Contact Support to provision or activate the processor. |
814 | Provisioning Deactivated | The merchant's processor is inactive or disabled due to compliance issues, account suspension, or maintenance. | Confirm that the merchant account and processor provisioning are active. If deactivated, contact Support to re-enable provisioning before resubmitting transactions. |
1007 | SEC Code Not Authorized | The submitted SEC (Standard Entry Class) code is not provisioned or authorized for the merchant. | Contact Support for assistance. |
701 | Invalid or Unroutable Routing Number | The routing number failed validation during ACH verification. | Verify that the routing number is correct and valid for the customer's bank. The number must be a valid 9-digit ABA routing number. |
702 | Invalid Account Number | The bank account number is invalid, missing, formatted incorrectly, or fails validation checks (contains invalid characters, wrong length, or checksum error). | Verify that the customer's bank account number is correct and formatted properly (numeric only, no spaces or special characters). If issues persist, confirm account details directly with the customer's bank. |
703 | Invalid Account Type | The AccountType value is not recognized or unsupported. Acceptable values: 0 (Checking), 1 (Savings). | Verify that the request specifies a valid account type: 0 for Checking or 1 for Savings. Update the field value and resubmit the transaction. |
704 | Invalid Account Holder Type | The AccountHolderType is invalid or missing. Acceptable values: 0 (Personal), 1 (Business). | Verify that the request specifies a valid account holder type: 0 for Personal or 1 for Business. Update the value and resubmit the transaction. |
706 | Invalid City | The City field is invalid or improperly formatted. Validation rules: Must not exceed 50 characters; may contain letters, spaces, hyphens (-), periods (.), or apostrophes (') only. | Ensure the City field contains a valid name (e.g., "New York", "St. Louis", "O'Fallon"). Remove any numbers, symbols, or extra characters, then resubmit. |
705 | Invalid Zipcode | The ZipCode field is invalid or improperly formatted. Validation rules: Must not exceed 10 characters; may contain letters, numbers, spaces, or dashes (-) only. | Ensure the ZipCode field is properly formatted (e.g., "12345" or "12345-6789"). Remove any invalid characters or extra spaces, then resubmit. |
ACH Refund-Specific Error Codes
These error codes are specific to ACH refund transactions and require the original transaction context.
| Code | Message | Description | Resolution |
|---|---|---|---|
801 | Original Transaction Not Found | The refund transaction references an originalTransactionID that cannot be found in the system. | Verify the original TransactionID is correct. Ensure the original transaction exists and is in a refundable state. Correct the transaction ID and resubmit the refund. |
802 | Original Transaction Not Approved | The refund references an original transaction that was unsuccessful. Refunds can only be issued for successfully processed transactions. | Verify the status of the original transaction. Refunds can only be created for approved transactions (0: Approved). Ensure the original transaction was successfully processed before retrying the refund. |
814 | Provisioning Deactivated | The merchant's processor provisioning is currently inactive or disabled due to compliance issues, account suspension, or maintenance. | Confirm that the merchant account and processor provisioning are active. If deactivated, contact Support to re-enable provisioning before resubmitting transactions. |
Important: Refund transactions have specific timing requirements under NACHA rules. Review ACH Refund Guidelines for compliance requirements.
ACH Rejection Codes
ACH rejection codes are returned by the receiving bank or the ACH network, indicating why a transaction was rejected after initial processing.
| Rejection Code | Message | Description | Resolution |
|---|---|---|---|
14 | Invalid Account | The bank account has been identified as closed or invalid due to risk or verification checks. | Verify the customer's bank account status with their financial institution. If the account has been closed, request updated payment details before retrying the transaction. |
996 | Risk Decline | The risk engine flagged the transaction due to suspicious account activity or high-risk indicators. Triggered when the account matches known fraud, closed, or suspicious activity lists. | Review the customer's history and account information. Contact the Support Team to determine if the transaction can be retried with verified details. Avoid immediate retries until the risk flag is resolved. |
4001 | Risk Duplicate | The transaction is identified as a duplicate transaction by the risk management system. | Confirm the transaction has not already been processed. Check your Transaction History and avoid resubmitting duplicate requests. |
4013 | Risk IP Block | The transaction was blocked because the originating IP address is on the system's risk exclusion list. | Review the IP address used in the API request. If the address is legitimate, contact Support to remove it from the exclusion list. Ensure requests originate only from authorized, trusted IP addresses. |
4019 | Risk Sale Transaction Amount Limit | The ACH sale transaction amount exceeds the permitted range defined by the risk configuration. | Verify that the transaction amount is within the merchant's configured ACH sale limits. If higher limits are required, contact Support to request an increase. |
ACH R Codes
The ACH return code is sent directly to Stax by the merchant’s bank. An "R Code" provides additional information on why the attempted debit or credit by Stax failed. Please contact Stax Partner Support via Stax Connect for any additional assistance.
| R Code | Description |
|---|---|
| R01: Insufficient Funds | The available balance is insufficient to cover the debit amount. |
| R02: Account Closed | An account that was previously active has been closed by the customer. |
| R03: No Account / Unable to Locate Account | The account information provided is valid, but the account number does not match the individual/business. |
| R04: Invalid Account Number | The account number format is invalid. |
| R05: Unauthorized Debit to Consumer Account Using Corporate SEC Code | A debit was posted to a consumer account, but the account holder has not authorized the entry. |
| R06: Returned per ODFI's Request | The ODFI requested that the RDFI return the ACH entry. |
| R07: Authorization Revoked by Customer | The customer who initially authorized the ACH entry has revoked authorization. |
| R08: Payment Stopped | The receiver of a recurring debit transaction placed a stop payment order. |
| R09: Uncollected Funds | A sufficient ledger balance, but the available balance is below this dollar value. |
| R10: Customer Advises Unauthorized | The receiver has notified their bank that this entry is unauthorized. |
| R11: Check Truncation Entry Return | Only used when returning a check truncation. |
| R12: Branch Sold to Another DFI | A financial institution received an entry to an account that has been sold to another institution. |
| R13: Invalid ACH Routing Number | The provided routing number is invalid. |
| R14: Representative Payee Deceased or Unable to Continue | The representative payee is either deceased or can no longer continue in their original capacity. |
| R15: Beneficiary or Account Holder Deceased | The beneficiary or Account Holder is deceased. |
| R16: Account Frozen | Access to the account is restricted due to legal action or a specific action taken by RDFI. |
| R17: File Record Edit Criteria | A transaction may contain invalid account information (excluding routing and account numbers) or be questionable. |
| R20: Non-transactional Account | The account is not set up to accept payments. |
| R29: Corporate Customer Advises Not Authorized | The account holder advised the RDFI that the originator cannot debit their account. |
Next Steps
For Developers
- Review the ACH API Reference for proper request formatting
- Set up Webhook Notifications for real-time error monitoring
For Partners
- Configure Transaction Monitoring to track error patterns
- Review Risk Management Settings to optimize approval rates
- Access the Merchant Portal for account provisioning updates
Need Help?
- Reach out to Support for integration assistance, provisioning and compliance questions.
This documentation is updated regularly to reflect current NACHA regulations and processing requirements. Last updated: November 2025.
