Enterprise treasury teams processing hundreds or thousands of bank transactions daily cannot rely on NetBanking downloads or PDF statements. The manual effort of extracting, formatting, and importing these files eliminates any speed advantage. MT940 is the alternative: a structured SWIFT message format that carries every transaction field in a defined position, ready for direct machine consumption. This guide is for finance controllers, treasury managers, and ERP integration teams evaluating MT940 as the data source for automated bank reconciliation.
What the MT940 Format Is
MT940 is a SWIFT message standard (Message Type 940) for transmitting customer account statements. It was designed for bank-to-corporate communication — specifically to replace paper statements with a machine-readable equivalent that corporate treasury and ERP systems could import directly.
An MT940 file for a single account covers a defined date range and contains four key tag groups. :60F: carries the opening balance with currency and date. :61: appears for each transaction and contains value date, booking date, debit/credit indicator, amount, and a short reference. :86: follows each :61: and contains the full narration text — the UTR, counterparty name, payment type, and remitter reference. :62F: closes the file with the closing balance. The Reserve Bank of India references SWIFT standards for enterprise banking connectivity in its guidelines for large-value payment systems.
Why MT940 Changes Automated Reconciliation
A CSV export from most Indian bank portals puts narration, amount, credit/debit indicator, and balance all in free-text columns. Field positions shift when narration text contains commas or line breaks. The reconciliation system must clean, validate, and parse each row before extracting any match key.
MT940 eliminates this problem. The :61: tag has a fixed structure: positions 1–6 are value date (YYMMDD), positions 7–10 are entry date, position 11 is the debit/credit flag, and so on. Amount and transaction reference are always in the same position. The :86: narration can be up to 6 lines of 65 characters each — enough to carry a 22-character UTR, a full entity name, and a reference without truncation. This structured layout allows reconciliation software India implementations to extract UTR and counterparty in a single parse pass, with no regex fallback required for well-formed files.
How Indian Banks Implement MT940
HDFC Bank
HDFC CMS (Cash Management Services) clients receive MT940 via SFTP. The :86: narration field uses /INF/ as a prefix to separate structured narration from free text. A typical HDFC MT940 :86: line reads /INF/NEFT CR:HDFC2268012345678 ABC CORP INV-2024-001. The HDFC CMS API also supports same-day statement pull via REST endpoint for clients on the enterprise tier.
ICICI Bank
ICICI CIB (Corporate Internet Banking) provides MT940 export via SFTP or portal download. ICICI uses /TXT/ as the :86: prefix — not /INF/. This is the single most common misconfiguration when teams migrate from HDFC to multi-bank reconciliation. An MT940 parser configured for HDFC /INF/ will return null on ICICI files until the prefix mapping is updated.
Axis Bank
Axis CMS supports MT940 with SFTP delivery. The :86: prefix varies by account type. Axis does not use /INF/ or /TXT/ — narration text begins directly after the tag. NACH batch credits appear as a single :61: line with batch reference in :86:.
Kotak Mahindra Bank
Kotak CMS provides MT940 via SFTP. Structure is similar to Axis — no prefix in :86:. Kotak supports intraday MT942 for select accounts.
SBI
SBI MT940 is available for Corporate Banking segment accounts only. Standard current accounts are not eligible. SBI’s :86: implementation varies between CBS versions and may include branch code or channel identifier fields not present in other banks.
MT940 Bank Support Reference Table
| Bank | MT940 Support | :86: Format Prefix | Accounts Eligible | Delivery Method |
|---|---|---|---|---|
| HDFC Bank | Yes (CMS) | /INF/ | Current accounts on CMS tier | SFTP + REST API |
| ICICI Bank | Yes (CIB) | /TXT/ | Current and escrow accounts on CIB | SFTP + portal |
| Axis Bank | Yes (CMS) | None (plain text) | Current accounts on CMS | SFTP |
| Kotak Mahindra Bank | Yes (Kotak CMS) | None (plain text) | Current accounts on CMS | SFTP |
| SBI | Selective | Bank-defined | Corporate Banking segment only | SFTP (on request) |
Failure Modes and Limitations
Not every account is eligible for MT940. Banks typically restrict it to current accounts with active CMS or corporate banking relationships. A company running 3 current accounts at the same bank may find only 1 qualifies for MT940 if the others are standard accounts below the CMS threshold.
Some banks charge for MT940 access — either as a monthly fee or a per-file charge. HDFC and ICICI include MT940 in CMS pricing; smaller banks may charge ₹500–₹2,000 per month separately.
The :86: field has a maximum of 6 lines at 65 characters each — 390 characters total. For NACH batch credits that aggregate hundreds of mandates, the batch reference fits comfortably, but the individual mandate breakdown does not. NACH batch reconciliation still requires the NPCI settlement file to explode the batch. Teams handling NACH batch reconciliation need to combine MT940 for the bank credit line with the NPCI batch report for mandate-level matching.
For teams building a complete multi-bank automated reconciliation setup, reconciliation software India implementations use MT940 as the primary statement source for HDFC, ICICI, Axis, and Kotak — with CSV fallback for banks that do not offer MT940. See the bank reconciliation process guide for the full matching workflow and multi-bank reconciliation India for configuring multiple MT940 feeds simultaneously. For the BRS output that MT940-based matching produces, see bank reconciliation statement India.