3. NPS-NCS Clearing File Specification
3.1 Introduction
NPS National Card Switch (NPS-NCS) Clearing File Specification is designed to streamline the transmission and processing of transaction data between participating members, ensuring seamless interoperability and efficiency in clearing and settlement operations. By establishing a uniform set of data formats, protocols, and procedures, this specification facilitates smooth communication and reconciliation of transactions, thereby enhancing the overall reliability and integrity of the payment ecosystem.
3.2 File Naming Convention
Clearing file will be CSV and XML format.
• NCHLRAWDATABankA20241101.C1.csv
• NCHLRAWDATABankA20241101.C1.xml
Where,
NCHLRAWDATA- Static text, since this file contains raw data hence named NCHLRAWDATA.
BankA- Short name of member bank.
20241101- Date in YYYYMMDD format.
C1- File processing cycle.
Csv /.xml- file extension.
3.3 File Header
Clearing file transaction details are separated by new line while the fields are separated by caret (^).
Note: In order to prevent duplicate processing of same file, combination of member id, file generated date and cycle value will be maintained as unique constraint.
Field | Description | Max Length | Data Type | Value |
---|---|---|---|---|
MTI | Message Type Identifier | 4 | Number | 1644 |
Function code | 3 | Number | 601 | |
Reversal Indicator | Identifier if file is original or reversal | 1 | String | O - Original R - Reversal |
Member Id | Id of member bank to which file is being sent | 11 | Number | |
File Generated Date | Date on which file is generated | 8 | Number - YYYYMMDD | |
Cycle | Number of files generated on that day | 2 | Number | |
File Type Identifier | File type identifier to identify whether file is incoming or outgoing | 1 | String | I - Incoming O - Outgoing |
Processing Mode | Indicates whether file is test or production | 1 | String | P - Production T - Test |
Table 1 : Clearing File Header
3.4 Batch Header
Batches are categorized using transaction Codes (please refer 5.4 for detailed transaction codes). Each batch header starts with MTI 1664 and field are separated by caret (^).
Field | Description | Max Length | Data Type | Value |
---|---|---|---|---|
MTI | Batch Identifier | 4 | Number | 1664 |
Function code | Identifier | 3 | Number | 601 |
Batch Sequence Number | Sequence Number for each batch | 8 | Number | |
Transaction code | Indicates Transaction Type | 2 | Number | refer 5.4 |
Table 2: Clearing Batch Header
3.5 Transaction Field Detail
Transaction details will have below fields:
Field | Description | Max Length | Data Type | Value | |
---|---|---|---|---|---|
MTI | Message Type Identifier | 4 | Number | 1240 | |
Function code | 3 | Number | |||
Processing Code | Describe the effect of transaction on customer account and type of accounts affected | 6 | Number | ||
PAN | Primary account number of customer OR identifier for PAN (Tokens) | 19 | Number | 16- or 19-digit number | |
Approval Code | Approval code is a code authorizing institute assigns indicating approval | 6 | Alphanumeric | ||
Retrieval Reference Number | Unique number to identify the transaction | 12 | Number | ||
Acquirer Reference Number | Data that Acquirer provide in message that is used by Issuer in a subsequent message or in complete life cycle of transaction | 23 | Number | ||
MCC | Merchant category code | 4 | Number | ||
Transaction Date and Time | Date and time when transaction happened | 14 | Number YYYYMMDDHHMMSS | ||
Terminal Id | Id of terminal on which card is used | 16 | Alphanumeric | ||
Terminal Name and Location | Name and Location of terminal | 100 | Alphanumeric | ||
Transaction Amount | Amount in currency in which transaction happened | 12 | Number with 2 decimal places | ||
Transaction Currency Code | Currency code of transaction amount | 3 | Number | ||
Settlement Amount | Transaction Amount is converted into settlement amount | 12 | Number with 2 decimal places | ||
Settlement Currency | Currency code of settlement amount | 3 | Number | ||
Card holder billing amount | Transaction Amount is converted into issuer’s designated billing amount | 12 | Number with 2 decimal places | ||
Card holder billing currency | Currency code of card holder billing amount | 3 | Number | ||
Settlement Conversion Rate | Rate used to convert transaction amount into Settlement Amount | 8 | Number | ||
Card holder billing Conversion Rate | Rate used to convert transaction amount into Card holder billing amount | 8 | Number | ||
Forwarded by | Member Id who forwarded the transaction | 8 | Number | ||
Received by | Member Id who received the transaction | 8 | Number | ||
Acquirer Id | Member Id of Acquirer | 8 | Number | ||
Issuer Id | Member Id of Issuer | 8 | Number | ||
Settlement Date | Date on which transaction settled by the interchange | 8 | Number YYYYMMDD | ||
Message Reason Code | Reason for sending the message | 2 | Number | ||
Member Message Text | Additional information about the transaction | 100 | Alphanumeric | ||
Document Indicator | Indicates whether document is sent to support the transaction or not | 1 | Number | 0 - No document sent 1 - Document sent | |
Fee Type Indicator | Indicator whether Fee is Credit or Debit to the receiving member | 1 | String | C - Credit D - Debit | |
Fee Transaction Amount | Fee in transaction currency | 12 | Number with 2 decimal places | ||
Currency Code for Fee Transaction | Currency code for Fee Transaction Amount | 3 | Number | ||
Fee Settlement Amount | Fee in settlement currency | 12 | Number with 2 decimal places | ||
Currency Code for Fee Settlement | Currency code for Fee settlement Amount | 3 | Number | ||
Additional Amount | Additional amount of tips/surcharge or currency fluctuation | 12 | Number with 2 decimal places | ||
Additional Amount Sign | Sign of additional Amount | 1 | String | C - Credit D - Debit | |
Issuer Member Name | Short name of issuing member | 9 | String | ||
Acquirer Member Name | Short name of acquiring member | 9 | String | ||
Card Present (CP) Indicator | Indicates whether transaction is CP or CNP | 1 | Number | 0 = CNP 1 = CP 8 = Unknown | |
Terminal Capability | Indicates the capability of the point-of-sale (POS) terminal | 1 | Alphanumeric | 0 = Unknown entry point 1 = Manual entry 2 = Magnetic Stripes read 5 = ICC Read 6 = Key entered at POS 8 = Contactless 9 = Hybrid | |
ECI Indicator | Electronic Commerce and Payments Indicator | 1 | String | ||
Transaction Indicator | Indicator for MIT transaction | 1 | String | ||
Original Transaction Amount | Original transaction Amount in case of partial Chargeback/presentment | 12 | Number with 2 decimal places | ||
Transaction Identifier | Unique value to identify a transaction | Varies | Alphanumeric | ||
Process | Whether the transaction is issuing or acquiring | 1 | Alphanumeric | I - Issuing A - Acquiring | |
Case Id | Case Id of dispute | 20 | Alphanumeric | ||
Additional Data | Reserved for future use | Varies Not fixed | Alphanumeric | Additional information related to transaction will be available in this field |
Table 3: Transaction Fields
3.6 Batch Trailer
For each batch header, there will be an associated batch trailer. Each batch trailer starts with 1664 and field are separated by caret (^).
Field | Description | Max Length | Data Type | Value |
---|---|---|---|---|
MTI | Batch Identifier | 4 | Number | 1664 |
Function Code | Identifier for Trailer | 3 | Number | 602 |
Transaction code | Indicates Transaction Type | 2 | Number | |
Total Amount | Total of all the transactions inside a batch irrespective of transaction currency | 20 | Number | |
Total Count | Total Number of transactions inside a batch | 8 | Number |
Table 4: Clearing Batch Trailer
3.7 File Trailer
Each file is closed with a file trailer and contains total records of batches, amount and count.
Field | Description | Max Length | Data Type | Value |
---|---|---|---|---|
MTI | Message Type Identifier | 4 | Number | |
Function code | 3 | Number | ||
Total Batch Count | Total number of batches in a file | 8 | Number | |
Total Amount | Total of all the transactions irrespective of transaction currency | 20 | Number | |
Total Count | Total Number of transactions available in file excluding header and trailer | 8 | Number |
Table 5: Clearing File Trailer
3.8 Clearing File Sample Transaction
1.File Header
1644^601^O^00000004567^20240402^1^I^T^S
2.Batch Header
1664^601^1^05
3.Record Detail
1240^200^101100^9592605678986058^567345^975568938144^12345678901234 567890123^6011^20240401074516^T001B034B458P503^BANGKOK1 BAAC BANGKOK 001TH^500.00^524^500.00^524^^^^^00000009289^00000004567^00000009289 ^00000004567^20240401^^^0^C^0.00^524^0.00^524^0.00^524^C^BankA^B ankB ^1^5^^^^^A^^
(Additional data for future use)
4.Batch Trailer
1664^602^05^500.00^1
5.Batch Header
1664^601^2^25
6.Record Detail
1240^200^101100^9592605678986058^567345^975568938144^12345678901234 567890123^6011^20240401074516^T001B034B458P503^BANGKOK1 BAAC BANGKOK 001TH^200.00^524^200.00^524^^^^^00000009289^00000004567^00000009289 ^00000004567^20240401^^^0^C^0.00^524^0.00^524^0.00^524^C^BankA^B ankB ^1^5^^^^^A^^
Additional data for future use
7.Batch Trailer 1664^602^25^200.00^1
8.File Trailer 1644^602^2^300.00^2