RBI mandates UTR format (22 characters: 4-char bank code plus 2-digit year plus 3-digit day plus 7-digit sequence) but not the surrounding narration template. HDFC uses forward slashes, ICICI hyphens, Axis spaces — so a single reconciliation setup must parse bank-specific formats across NEFT, RTGS, IMPS, UPI, and NACH without truncation breaking the UTR.
Per-bank parser configurations extract UTR, counterparty name, and reference from each narration using bank-specific delimiters and prefixes. NACH batch credits are exploded against the sponsor-bank batch file to individual mandate references. Truncated or UTR-less narrations fall back to amount plus date plus counterparty-pattern matching with dedup guardrails.
Bank-by-bank narration parser library (HDFC /INF/ prefix, ICICI /TXT/, Axis plain), UTR regex, NACH batch file ingestion, and truncation-fallback rules.
Consistent match keys across multi-bank inflows, NACH batch explosion into mandate-level ledger, exception queue for UTR-truncated and reference-less transactions, and reconciled statement-to-book trail.
Enterprise finance teams at mid-market and large Indian companies spend a disproportionate amount of time on bank reconciliation not because the volumes are high, but because Indian bank narrations were never standardised. Each payment type — NEFT, RTGS, IMPS, UPI, NACH — arrives with a different narration structure, and each bank formats that narration differently. This guide is for treasury managers, finance controllers, and reconciliation teams who want to understand how narration parsing works and why it fails.
What Bank Statement Narrations Are
A bank statement narration is the text description attached to each debit or credit in an account statement. For inward transfers, this narration carries information about the payment type, the Unique Transaction Reference (UTR), the counterparty name, and a reference string provided by the remitter.
The problem in India is structural: the Reserve Bank of India mandates the UTR format and the payment rail rails (NEFT, RTGS, IMPS, UPI) but does not prescribe a standard narration template. Every bank constructs the narration text according to its own core banking system. A reconciliation system receiving statements from four banks must maintain four parser configurations, and the format can change when a bank upgrades its CBS.
How Indian Banks Structure Narrations by Payment Type
NEFT Narrations
NEFT inward credits follow the pattern NEFT CR:[UTR] [counterparty name] [reference] at most banks, but the delimiters vary. HDFC uses forward slashes; ICICI uses hyphens; Axis may use spaces. The UTR is always 22 characters and is the primary match key.
RTGS Narrations
RTGS narrations are structured similarly: RTGS CR:[UTR] [counterparty] [reference]. Because RTGS is used for high-value transactions (above ₹2 lakh), the counterparty name is often a legal entity name that may differ from the name in the ERP. Fuzzy matching on entity names is required.
UPI Narrations
UPI credit narrations follow UPI/P2M/[UPI reference]/[remitter VPA or name]/[description]. The UPI reference is not a UTR — it is a 12-digit UPI transaction ID. For P2P transfers, the format is UPI/P2P/[ref]/[name]. High-volume UPI collections (payment gateways, aggregators) may aggregate credits before settling to the bank, so individual UPI references may not appear in the bank statement.
IMPS Narrations
IMPS credits carry an IMPS reference number (not a UTR) in the narration. The format varies significantly by bank. Some banks prefix with IMPS/[ref], others with IMPS CR [ref]. IMPS narrations often truncate the remitter name to 10–15 characters.
NACH Batch Credits
NACH (National Automated Clearing House) credits represent collections under standing mandates. A single NACH credit line in the bank statement covers all successful mandates in that settlement batch — frequently 200 to 500 individual debits. The narration typically shows the batch reference and sponsor bank code but not individual mandate IDs. Reconciliation requires exploding the batch using the NPCI settlement report. The Reserve Bank of India publishes operating guidelines for NACH that define batch settlement timelines.
Narration Pattern Reference Table
| Payment Type | Sample Narration | Primary Match Key | Banks with Format Variations |
|---|---|---|---|
| NEFT | NEFT CR:HDFC2268012345678 ABC CORP INV-2024-001 | UTR (22 chars) | HDFC (/), ICICI (-), Axis (space), Kotak (/) |
| RTGS | RTGS CR:SBIN2268001234567 XYZ LTD ADVANCE | UTR (22 chars) | SBI, HDFC similar; Axis omits “CR:” prefix |
| UPI | UPI/P2M/123456789012/john@oksbi/ORDER-891 | UPI Ref (12 digits) | All banks follow NPCI format; aggregator credits lack individual refs |
| IMPS | IMPS/9876543210/RAHUL KUMAR/9876 | IMPS Ref (12 digits) | Format varies widely; some banks prefix IMPS CR |
| NACH | NACH/BATCH-20260315-001/HDFC0000001 | Batch ID | Requires NPCI batch file for exploding to mandate level |
| Cheque | CLG/123456/HDFC0001234/20260315 | Cheque number | CTS-2010 format; instrument date and drawee bank in narration |
Where Narration Parsing Fails
Truncated narration fields. Bank CSV exports commonly limit narration to 50–100 characters. A NEFT narration carrying a 22-character UTR, a 30-character entity name, and a 20-character invoice reference will be cut. The last digits of the UTR — which make it unique — are often the casualty. Reconciliation systems fall back to amount-date matching, which produces false positives.
Special characters in entity names. Counterparty names with commas, ampersands, or brackets break CSV parsers and can shift narration text into adjacent columns. Names like M/S A & B TRADERS create multiple CSV fields from one narration.
NACH bulk aggregation. A NACH credit for ₹47,83,291 covering 312 mandates shows as one line in the bank statement. Without the sponsor bank’s batch file, there is no way to break this into individual collections. Finance teams running TDS reconciliation software with NACH payment collections face this explode-and-match problem regularly.
RTGS UTR truncation in ERP systems. The standard UTR is 22 characters, but many ERP systems impose field length limits that silently truncate it. SAP’s Assignment field, commonly used to store the UTR for payment matching, is limited to 18 characters. Oracle and Tally have similar constraints — typically 50 to 100 characters for the full narration field, but dedicated reference fields are often shorter. When a 22-character UTR is stored in an 18-character field, the last 4 characters are dropped. Since UTR uniqueness is concentrated in the trailing sequence digits, truncation destroys the match key. Companies work around this by stripping prefixes or non-numeric characters before import, but these workarounds are fragile — a bank format change or a different UTR prefix length breaks the stripping logic. This is the single most common root cause of unmatched items in enterprise bank reconciliation. The correct fix is to configure the ERP to store the full 22-character UTR in an unrestricted text field and use that field as the primary match key.
CBS upgrade-triggered format changes. When a bank migrates its core banking system, narration formats change without notice. A parser configured for the pre-migration format continues running and produces zero matches until someone investigates.
For teams managing multi-bank reconciliation at scale, reconciliation software India configurations must account for at least two narration format variants per bank and include fallback matching logic for truncated or malformed narrations. See the bank reconciliation process guide for process context and bank reconciliation statement India for how the BRS is constructed once narrations are matched. For virtual account setups where narration carries the virtual account number as the match key, see virtual account reconciliation India.