Skip to main content

ACH Return Overview

note

The features documented here are in a beta state, and this documentation is considered draft material subject to frequent change.

Using our Platform API, you can securely submit ACH Returns to reduce your ACH return rates and automate your ACH return process.

You can query the status and outcomes of your submitted ACH returns to track progress and access resolution details.

ACH Return Fields

FieldData TypeDescription
account_guidStringThe unique identifier for the account associated with the transaction. Defined by MX.
account_number_last_fourStringThe last 4 digits of the account number used for the transaction by the Originating Depository Financial Institution (ODFI).
account_typeStringThe type of account used for the transaction by the Originating Depository Financial Institution (ODFI) (for example, CHECKING, SAVINGS).
ach_initiated_atStringThe date and time when the transaction was initiated by the Originating Depository Financial Institution (ODFI) in ISO 8601 format without timestamp.
client_guidStringThe unique identifier for the client associated with the ACH return. Defined by MX.
corrected_account_numberStringThe account number correction reported by the RDFI. Populate only if the resolution_code is NOTICE_OF_CHANGE.
corrected_routing_numberStringThe routing number correction reported by the RDFI. Populate only if the resolution_code is NOTICE_OF_CHANGE. Must be a valid 9-digit routing number format.
created_atStringDate and time when the ACH return record was created.
external_customer_guidStringYour unique identifier as defined by a partner.
guidStringThe unique identifier for the ACH return record.
idStringClient-defined identifier for this specific return submission. Allows you to track and reference you requests.
institution_guidStringThe MX-defined identifier for the institution associated with the ACH return.
investigation_notesStringNotes added by Product Support during investigation.
member_guidStringThe unique identifier for the member associated with the transaction. Defined by MX.
processing_errorsStringError messages encountered during processing.
resolution_codeStringA short, machine-readable code that categorizes the type of resolution or reason for the status. See Resolution Codes for a complete list.
resolution_detailStringA more detailed, human-readable message providing context and next steps related to the return_status and resolution_code.
resolved_status_atStringDate and time when the return was marked as resolved.
return_account_numberStringIncorrect account number used in the ACH transaction.
return_codeStringThe associated ACH return codes and notice of change codes (for example, R02, R03, R04, R05, R20, NOC). See Return Codes for a complete list.
return_notesStringNotes that you set to inform MX on internal ACH processing.
return_routing_numberStringIncorrect routing number used in the ACH transaction.
return_statusStringThe current processing status of the ACH return. See Return Status for a complete list of statuses.
returned_atStringThe date and time when the return was reported by the Receiving Financial Depository Institution (RDFI) in ISO 8601 format without timestamp.
sec_codeStringThe SEC code (Standard Entry Class Code) – a three-letter code describing how a payment was authorized (for example, WEB). See SEC Codes for a complete list.
started_processing_atStringDate and time when MX started processing the return.
submitted_atStringDate and time when the record was submitted through the API.
transaction_amountNumberThe amount of the transaction.
transaction_amount_rangeNumberThe transaction amount range, used for impact assessment.
updated_atStringDate and time when the ACH return record was last updated.
user_guidStringMX-defined identifier for the user associated with the event.

SEC Codes

CodeData TypeTitle
SEC_CODE_UNSPECIFIEDStringUsed if no other SEC code is set.
PPDStringPrearranged Payment and Deposit
PPD_PLUSStringPrearranged Payment and Deposit, with addenda record
CCDStringCorporate Credit or Debit
CCD_PLUSStringCorporate Credit or Debit, with addenda record
CTXStringCorporate Trade Exchange
WEBStringInternet Initiated/Mobile Entry
TELStringTelephone-Initiated Entry
ARCStringAccounts Receivable Entry
BOCStringBack Office Conversion Entry
POPStringPoint-of-Purchase Entry
IATStringInternational ACH Transaction
CORStringNotification of Change
CIEStringCustomer Initiated Entries
RCKStringRe-presented Check Entries
POSStringPoint of Sale

Resolution Codes

CodeData TypeDescription
DATA_UPDATEDStringThe resolution involved updating account data.
JOB_REQUIREDStringA new Instant Account Verification aggregation is required for resolution.
ACCOUNT_LIMITATIONStringThe return is due to an account-level limitation (for example, account type, transaction limits).
NOTICE_OF_CHANGEStringThe return is a Notice of Change (NOC) - informational, but contains corrected data.
UNRESOLVABLE_RETURNStringThe return could not be resolved by MX.
CLIENT_ACTION_REQUIREDStringClient action is needed.
INVALID_SUBMISSIONStringThe API submission was invalid.

Return Codes

CodeData TypeTitle
RETURN_CODE_UNSPECIFIEDStringUse to create an ACH return if you don't have a return code for an ACH return.
R01StringInsufficient Funds
R02StringAccount Closed
R03StringNo Account / Unable to Locate Account
R04StringInvalid Account Number Structure
R05StringUnauthorized Consumer Debit using Corporate SEC Code
R06StringODFI Requested Return
R07StringCustomer Revoked Authorization
R08StringPayment Stopped
R09StringUncollected Funds
R10StringOriginator not known and/or not authorized to Debit Receiver’s Account
R11StringCustomer advises not within Authorization Terms
R12StringAccount Sold to Another DFI
R13StringInvalid ACH Routing No.
R14StringRepresentative Payee Deceased
R15StringBeneficiary / Account Holder Deceased
R16StringAccount Frozen / Returned per OFAC
R17StringFile Record Edit Criteria / Suspicious Entry with Invalid Account No. / Return of Improperly-Initiated Reversal
R18StringImproper Effective Date
R19StringAmount Field Error
R20StringNon-Transaction Account

Return Status

StatusData TypeDescription
RETURN_STATUS_UNSPECIFIEDStringUsed if no other return status is set.
SUBMITTEDStringThe initial status after you successfully submit ACH return data using the API.
PENDINGStringThe submitted return is queued and awaiting automated processing.
PROCESSINGStringThe return is currently being actively processed, either by the automated system or by manual review.
RESOLVED_DATA_UPDATEDStringThe automated system successfully resolved the return by updating account data in the MX system.
RESOLVED_JOB_REQUIREDStringThe automated system determined that a new Instant Account Verification (IAV) aggregation is required to resolve the return.
RESOLVED_INFORMATIONALStringAfter automated or manual investigation, it's determined that the return reason is due to client-side issues or informational (like account restrictions) and no MX data fix is needed.
RESOLVED_UNRESOLVABLEStringAfter thorough automated and/or manual investigation, no resolution is found within MX systems or via data providers.
PENDING_CLIENT_ACTIONStringMX requires action from you to proceed with the return investigation or resolution. This could occur if there was missing data in the submission.
REJECTEDStringThe initial API submission was rejected due to errors in the data you provided.