NACH returns arrive T+1 or T+2 with a 2-digit NPCI reason code that determines whether the debit can be retried (code 01 Insufficient Funds), whether the mandate is still valid (code 20 Account Closed, code 25 Mandate Cancelled), or whether a dispute is active (code 27 Stop Payment). Processing every return identically causes retry of non-retriable mandates and delays DPD reporting.
Parse the NPCI return file by UMRN, map the return code to a retriable vs non-retriable classification, and route each code to its resolution workflow (retry, mandate re-registration, collections contact, dispute). Stop DPD counting from the original presentation date, not the retry date, for accurate NBFC risk reporting.
NPCI return code library, retriable vs non-retriable mapping, UMRN keyed matching to the LMS, retry SLA (3–5 business days, max 2 attempts), and DPD anchor rules.
Every return code routed to the right workflow same-day, accurate DPD figures in the LMS, reduced false retries, and a regulator-ready collections audit trail.
NACH return codes are the 2-digit reason codes that NPCI attaches to every rejected NACH debit mandate. For NBFCs, insurance companies, and SIP operators running high-volume NACH debit batches, the return code is not just a notification — it is the classification that determines whether the debit can be retried, whether the mandate is still valid, and whether DPD counting should begin. Finance teams that process all returns identically regardless of code will retry non-retriable mandates and delay DPD updates on retriable ones.
What NACH Return Codes Are
NACH return codes are standardised reason codes defined by NPCI and communicated through the return file that destination banks send back to presenting banks after processing a NACH debit batch. When a borrower’s bank cannot honour a debit instruction, it rejects the entry and assigns one of these codes to explain the reason.
The return file reaches the presenting bank within T+1 or T+2 business days from the debit presentation date. The presenting bank makes the return file available to the originator — typically an NBFC, insurer, or SIP registrar. At this point, the originator’s reconciliation system must parse the file, extract the UMRN and return code for each failed entry, and map the code to the appropriate resolution action.
In India, all NACH mandates carry a UMRN (Unique Mandate Reference Number), a 20-character alphanumeric string assigned by NPCI at mandate registration. The UMRN is the primary match key in the return file — it links each returned entry back to the specific borrower, mandate, and scheduled payment amount in the loan management system.
How Return Codes Drive Resolution Workflows
Retriable Codes: Retry Within the Billing Cycle
Return codes 01, 02, and 03 are classified as retriable. Code 01 (Insufficient Funds) is the most common — the borrower’s account had insufficient balance on the presentation date. The mandate itself remains valid, and the originator can submit a fresh NACH batch using the same UMRN. Most lenders allow up to 2 retry attempts within the same billing cycle, typically 3 to 5 business days after the original return date.
Non-Retriable Codes: Mandate or Account Invalid
Return codes 05, 20, 21, and 25 indicate that the underlying account or mandate is no longer valid. Retrying these is futile and will generate a repeated return. Code 20 (Account Closed) means the bank account no longer exists. Code 25 (Mandate Cancelled by Account Holder) means the borrower has specifically revoked the NACH authorisation — which requires a re-registration process, not a retry.
Dispute Codes: Separate Workflow Required
Code 27 (Stop Payment) is a borrower-initiated instruction to block the specific debit. Unlike a liquidity failure, stop payments reflect deliberate intent. Retrying a code 27 return produces another code 27. The resolution path is a borrower contact and dispute resolution workflow — separate from the standard retry queue.
Technical Codes: Bank-Side Processing Failure
Code 09 (Technically Impaired) indicates a bank-side processing failure rather than a problem with the mandate or account balance. These entries can typically be resubmitted in the next batch cycle.
NACH Return Code Reference Table
| Code | Description | Category | DPD Impact | Recommended Action |
|---|---|---|---|---|
| 01 | Insufficient Funds | Retriable | DPD clock starts on original due date | Retry within 3–5 business days, max 2 retries |
| 02 | Exceeds Arrangement | Retriable | DPD clock starts on original due date | Verify debit amount against mandate limit; retry |
| 03 | Effects Not Cleared — Refer to Drawer | Retriable | DPD clock starts on original due date | Retry after 2–3 business days |
| 05 | No Account / Unable to Locate Account | Non-retriable | DPD starts immediately; no retry | Initiate borrower contact for account verification |
| 09 | Technically Impaired | Technical | No DPD impact; resubmit only | Resubmit in next batch; no borrower action needed |
| 20 | Account Closed | Non-retriable | DPD starts immediately; no retry | Require borrower to register mandate on active account |
| 21 | Account Blocked | Non-retriable | DPD starts immediately | Borrower contact required; re-registration after unblocking |
| 25 | Mandate Cancelled by Account Holder | Non-retriable | DPD starts immediately | Mandate re-registration required; assess collections risk |
| 27 | Stop Payment | Dispute | DPD starts immediately | Escalate to dispute resolution; do not retry |
India-Specific Compliance Context
The classification of NACH returns as retriable or non-retriable has a direct regulatory consequence under RBI’s prudential norms for NBFCs. Under the RBI Master Direction on NBFC — Systemically Important Non-Deposit taking (NDSI), the DPD counter begins from the original contractual due date — not from the return date. A finance team that delays posting a code 20 or code 25 return to the LMS effectively understates NPA provisioning until the error is caught.
Correct NACH return code reconciliation must therefore distinguish between (a) the date the debit was presented, (b) the date the return was received, and (c) the date the LMS was updated. The gap between (b) and (c) should be zero for non-retriable and dispute codes — the DPD counter cannot wait for a manual review cycle.
For organisations running NACH batch reconciliation at scale, NACH batch reconciliation with automated return code classification eliminates the manual triage step that creates this posting delay. Reconciliation software India that maps UMRN directly to LMS loan records reduces the time from return file receipt to LMS update from hours to minutes.
Batch-Level Reconciliation: The Aggregate Credit Problem
The most operationally complex aspect of NACH reconciliation is not the return codes themselves — it is matching the bank statement credit to individual mandates. The bank statement shows a single aggregate credit for the entire NACH batch settlement. A batch that presented 2,000 mandates totalling ₹1.47 crore appears as one credit entry in the bank statement, with a narration containing only the batch reference and sponsor bank code. There is no mandate-level breakdown in the bank narration.
The individual mandate-level data — which borrower paid, which borrower failed, which return code was assigned to each failure — exists only in the NPCI settlement and return files, not in the bank statement. The aggregate credit represents the net sum of successful mandates only. Failed mandates (those assigned return codes) are excluded from the credit amount.
Return mandates appear separately. When a destination bank rejects mandates from the batch, those rejected amounts are communicated through the return file and may appear as separate debit entries in the bank statement — sometimes on the same day as the credit, sometimes one or two business days later. This creates a timing mismatch: the credit for successful mandates arrives on Day T, but the debit entries for returned mandates may arrive on Day T+1 or T+2. During this gap, the bank balance appears inflated by the amount of returns not yet debited.
Reconciliation therefore requires three data sources for every NACH batch: the bank statement credit (aggregate successful amount), the NPCI settlement file (mandate-level detail of successful debits), and the NPCI return file (mandate-level detail of failed debits with return codes). Without all three, it is impossible to confirm that the aggregate credit matches the sum of individual successful mandates, or to identify which specific mandates failed and why. Finance teams that attempt to reconcile NACH collections using only the bank statement and the return file — without the settlement file — cannot verify the completeness of the credit amount.
The full NACH return reason code list and mandate standards are published by NPCI NACH product overview, which is the authoritative source for code definitions and file format specifications.
For broader context on NACH as a payment system, the NACH reconciliation guide covers the full debit lifecycle. The what is NACH in India article explains mandate registration and UMRN structure. Finance teams handling return queues systematically will also find exception management reconciliation India useful for building a structured return workflow.