Request and response codes: ACH
SEC codes
A SEC code indicates the Standard Entry Class required by Nacha for every ACH transaction. When you originate an ACH payment by API, you enter this code in the secCode field of the request. The table below explains common SEC codes. Learn more about SEC codes on the Nacha website.
Which code should I use?
Your Operations Support Team will guide with this based on the use case you are trying to support.
Code | Name | Description | Type | Transaction Type | Credit/Debit |
|---|---|---|---|---|---|
ARC | Accounts Receivable Entry | A single debit entry to an account initiated for purchases or payments that are made in person, via US mail, or placing the payment in a dropbox. | Consumer or Non-Consumer Mail Order or Retail | Single Entry | Debit only |
BOC | Back Office Conversion Entry | A single debit entry to an account for in-person purchases or payments made at the point-of-purchase. Check is not returned to check writer. | Consumer or Non-Consumer Retail | Single Entry | Debit only |
CCD | Corporate Credit/Debit Entry | Funds are transferred between unrelated corporate entities or transferred as intra-company cash concentration and disbursement transactions. | Non-Consumer | Single or Recurring Entry | Credit/Debit |
| | Proof of Authorization for transactions ran on the web using CCD will adhere to the same requirements as a web transaction. | Retail, Phone Order, Ecommerce, and Mail Order | Single or Recurring Entry | Credit/Debit |
CIE | Customer Initiated Entry | A single credit entry initiated by a consumer (originator) to a non-consumer account. CIE is a consumer-initiated credit entry, a credit push to a merchant, typically used by a financial institution's or third-party's bill pay service and would be not be Originated by a merchant. | Consumer | Single Entry | Credit only |
COR | Notification of Change, or Refused Notification of Change | This Standard Entry Class Code is used by an RDFI or ODFI when originating a Notification of Change or Refused Notification of Change in automated format. It is also used by the ACH operator that converts paper Notifications of Change to automated format. | Consumer or Non-Consumer | N/A | N/A |
CTX | Corporate Trade Exchange
| Used to transfer funds between a buyer's and a seller's bank accounts.
| Non-Consumer | Single or Recurring Entry | Credit/Debit |
DNE (Federal Govt. Agency Use Only) | Death Notification Entry | A non-monetary entry from a Federal Government agency. Notifies the Financial Institution that the recipient of a government benefit has passed away. | Consumer | N/A | N/A |
ENR | Automated Enrollment Entry | A Non-Monetary Entry that triggers the origination of ACH credit or debit transactions to the account holder at the DFI. The ENR process allows DFIs to transmit information to Federal Government agencies, on behalf of their account holders, that serves as enrollment for either ACH credit or debit activity. | Non-Consumer (Federal Government Agency) | N/A | N/A |
IAT | International ACH Transaction | Credit or Debit Entry is part of a payment transaction that involves a financial agency's office not located within the territorial jurisdiction of the United States. NOTE: This SEC code is implemented only for very specific merchants and is not generally available. | Consumer or Non-Consumer | Single or Recurring Entry | Credit/Debit |
POS | Point of Sale payments | A transaction made made with a debit card. The POS card transaction typegives further information about the exact transaction. | Consumer | Single Entry | Credit/Debit |
PPD | Prearranged Payment and Deposit Entry | A single or recurring credit transaction for payment of payroll, expense reimbursement, dividends, retirement, interest, etc. | Consumer | Single or Recurring Entry | Credit/Debit |
RCK | Re-presented Check Entry | A re-presented check entry with security measures in place. | Consumer
| Single Entry | Debit |
TEL | Telephone-Initiated Entry | A single or recurring debit transaction initiated orally via the telephone. | Consumer | Single or Recurring Entry | Debit |
WEB | Internet-Initiated Entry | Credit - A single or recurring credit transaction from the account of a natural person to the account of a natural person. Cannot be used for business-to-consumer transactions. Debit - A single or recurring debit transaction initiated during a secure (minimum 128-bit encryption) internet or mobile session. | Consumer Ecommerce | Single or Recurring Entry | Credit or Debit |
Rejection codes
These codes are returned in the details of the Ach.Payment.Rejected webhook in the postingCode field.
Code | Description |
|---|---|
ERR | General Error |
RES | Account Restriction |
NSF | Insufficient Funds |
ANF | Account Not Found |
CLS | Account Closed |
INA | Account Inactive |
DRM | Account Dormant |
ESC | Account in escheatment |
CHR | Account in charge-off status |
STP | Stop payment active |
Payment types
This value appears in the paymentType field in ACH payment responses. The paymentType value tells you what kind of payment was sent. Do not confuse it with the extendedDetails.paymentType!
Type | Code | Description |
|---|---|---|
Origination | 0 | A new payment originating from either Cross River or another bank. Most payments are of this type. |
Return | 1 | Related to a previous origination that has been returned by the receiving bank. |
DishonoredReturn | 2 | Related to a previous return, that has been dishonored by the receiving bank. |
Contested return | 3 | Related to a previous origination. The receiving bank accepted the original payment but is now notifying you of information you should correct next time you send a payment to this receiver (e.g. use a different account number). |
NOC | 4 | Notification of Change. The payment was sent with bad info but the receiving FI fixed it and sent back the information (NOC). |
Refused NOC | 5 | |
Payment status
This value appears in the status field in ACH payment responses.
Status | Description |
|---|---|
Created | We have received the payment, but have not started processing it yet. This status should only appear briefly under normal circumstances. |
Pending | The payment is waiting to be batched and sent to the Federal Reserve. |
Hold | Payment is being held at the moment and reviewed by our Operations Team. |
Batched | The payment has been batched is a final review is being done before we send it out in a file to the Federal Reserve. |
Processing | For inbound payments, we are attempting to post the payment to the receiving account. For outbound payments, the payment has been sent to the Federal Reserve, but has not posted yet. An outbound standard payment may remain in this status for a day or more. Same day payments will transition to Complete soon after Processing. |
Completed | The payment has been posted and accepted by the Federal Reserve (in the case of outbound payments). This is a final status. |
Rejected | Our Operations Team wasn't able to process the payment and has rejected it. In the case of inbound, the payment has been returned to the originating bank. This is a final status. |
Canceled | An outbound payment has been canceled at the request of the partner. A payment may only be canceled while either pending or on hold. This is a final status. |
Blocked | The CR compliance team blocked the payment |
Return codes
Sometimes an ACH payment is returned by the receiving bank. A returnCode value appears in the details object of the extended Ach.Return.Received webhook event.
Code | Description |
|---|---|
R01 | Insufficient Funds |
R02 | Account closed |
R03 | No account or unable to locate account |
R04 | Invalid account number |
R05 | Unauthorized debit to consumer account |
R06 | Returned per ODFI's request |
R07 | Authorization revoked by customer |
R08 | Payment stopped or stop payment on item |
R09 | Uncollected funds |
R10 | Customer advises not authorized |
R11 | Customer Advises Entry Not in Accordance with the Terms of the Authorization |
R12 | Branch sold to another DFI |
R13 | Invalid ACH routing number |
R14 | Representment payee deceased or unable to continue in that capacity |
R15 | Beneficiary of account holder deceased |
R16 | Account frozen |
R17 | File record edit criteria |
R18 | Improper effective entry date |
R19 | Amount field error |
R20 | Non-transaction account |
R21 | Invalid company identification |
R22 | Invalid individual ID number |
R23 | Credit entry refused by receiver |
R24 | Duplicate entry |
R25 | Addenda error |
R26 | Mandatory field error |
R27 | Trace number error |
R28 | Routing number or check digit error |
R29 | Corporate customer advises not authorized |
R30 | RDFI not participant in check truncation program |
R31 | Permissible return entry |
R32 | RDFI nonsettlement |
R33 | Return of XCK entry |
R34 | Limited participation DFI |
R35 | Return of improper debit entry |
R36 | Return of improper credit entry |
R37 | Source Document Presented for Payment |
R38 | Stop payment on source document |
R39 | Improper Source Document |
R40 | Return of ENR |
R41 | Invalid Transaction Code |
R42 | Routing No. / Check Digit Error |
R43 | Invalid DFI Account No. |
R44 | Invalid Individual ID No. |
R45 | Invalid Individual / Company Name |
R46 | Invalid Representative Payee Indicator |
R47 | Duplicate Enrollment |
R50 | State Law Affecting RCK Acceptance |
R51 | Ineligible / Improper Item Related to RCK |
R52 | Stop Payment on Item Related to RCK |
R53 | Item and RCK Presented for Payment |
R73 | Timely Original Return |
R74 | Corrected Return |
R75 | Return Not Duplicate |
R76 | No Errors Found |
R77 | Non-Acceptance of R62 |
R80 | IAT Coding Error |
R81 | Non-Participant in IAT Program |
R82 | Invalid Foreign RDFI Identification |
R83 | Foreign RDFI Unable to Settle |
R84 | Not Processed by Gateway |
R85 | Incorrectly Coded Outbound Int’l Payment |
Dishonored returns
Code | Description |
|---|---|
R61 | Misrouted return |
R62 | Return of Erroneous or Reversing Debit |
R63 | Incorrect dollar amount |
R64 | Incorrect individual identification |
R65 | Incorrect transaction code |
R66 | Incorrect company identification |
R67 | Duplicate return |
R68 | Untimely return |
R69 | Multiple errors |
R70 | Permissible return entry not accepted |
R71 | Misrouted Dishonored Return |
R72 | Untimely Dishonored Return |
Reversal reasons
Use ACH reversals to correct errors in previously processed ACH payments, such as incorrect amounts, account details, or duplicate transactions. Nacha rules for reversals are strict, and reversals can only be processed according to these rules. Nacha only allows reversal requests for the reason listed here:
- Duplicate transaction
- Incorrect amount
- Incorrect date
- Incorrect receiver information
ACH correction codes
There are times when Cross River receives an ACH notification of change (NOC) related to an outbound payment. The reasonCode field in the extended Ach.Noc.Received webhook event provides the correction code indicating what information was wrong and needed to be changed for the payment to settle.
Code | Description |
|---|---|
C01 | Incorrect DFI Account Number |
C02 | Incorrect Routing Number |
C03 | Incorrect Routing Number and Incorrect DFI Number |
C04 | Incorrect Individual Name/Receiving Company Name |
C05 | Incorrect Transaction Code |
C06 | Incorrect DFI Account Number and Incorrect Transaction Code |
C07 | Incorrect Routing Number, Incorrect DFI Account Number, and Incorrect Transaction Code |
C08 | Incorrect Receiving DFI Identification (IAT only) |
C09 | Incorrect Identification Number |
C13 | Addenda Format Error |
C14 | Incorrect SEC Code for Outbound International Payment |
POS card transaction types
If the secCode value in the request is POS, in the extendedDetails object you must include a value for the cardTransactionType.
Type | Description |
|---|---|
01 | Purchase of goods |
02 | Cash |
03 | Return Reversal |
11 | Purchase Reversal |
12 | Cash Reversal |
13 | Return |
21 | Adjustment |
99 | Misc. Transaction |
IAT transaction types
When sending an IAT transaction, you must also supply a code for the transaction type in the iatDetails.transactionTypeCode field.
Code | Description |
|---|---|
ANN | Annuity |
BUS | Business/Commercial |
DEP | Deposit |
LOA | Loan |
MIS | Miscellaneous |
MOR | Mortgage |
PEN | Pension |
REM | Remittance |
RLS | Rent/Lease |
SAL | Salary/Payroll |
TAX | Tax |
ARC | Accounts Receivable Entry |
BOC | Back Office Conversion Entry |
MTE | Machine Transfer Entry |
POP | Point-of-Purchase Entry |
POS | Point-of-Sale Entry |
RCK | Re-presented Check Entry |
TEL | Telephone-Initiated Entry |
WEB | Internet-Initiated Entry |
Nacha field mappings
This table presents field names as they appear in a Nacha record and how they appear in CR APIs.
Nacha Record | Nacha Field | Cross River API Field |
|---|---|---|
Batch | Company Name | Originator.Name |
Batch | Company Discretionary Data | Originator.Data |
Batch | Company Identification | Originator.Identification |
Batch | Standard Entry Class Code | SecCode |
Batch | Company Entry Description | Description |
Batch | Company Descriptive Date | N/A |
Batch | Effective Entry Date | EffectiveDate |
Batch | Settlement Date | SettlementDate |
Batch | Originator Status Code | N/A |
Batch | Originating DFI Identification | Originator.RoutingNumber |
Entry | Transaction Code | TransactionType / Receiver.AccountType |
Entry | Receiving DFI Identification | Receiver.RoutingNumber |
Entry | DFI Account Number | Receiver.AccountNumber |
Entry | Amount | Amount |
Entry | Individual Identification Number | Receiver.Identification |
Entry | Individual Name | Receiver.Name |
Entry | Discretionary Data | Receiver.Data /ExtendedDetails.PaymentType (WEB/TEL only) |
Entry | Trace Number | TraceNumber |
Addenda (05) | Payment Related Information | Addenda (only one informational addenda record is supported) |