Request and response 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 | Description |
CCD | Cash Concentration or Disbursement. Payments between corporate entities |
IAT | International payments (payments with an international leg) |
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 an enrollment for either ACH credit or debit activity. |
POS | Point of Sale payments |
PPD | Prearranged Payments to consumers |
TEL | Payments initiated by telephone |
WEB | Payments initiated via the internet |
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 |
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 |  |
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 |
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 |
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 |
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 |
Type | Description |
01 | Purchase of goods |
02 | Cash |
03 | Return Reversal |
11 | Purchase Reversal |
12 | Cash Reversal |
13 | Return |
21 | Adjustment |
99 | Misc. Transaction |
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 |
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) |