The I-file uses ASCII or UTF-8 character encoding, with every field at an
exact character position. Verify field positions using a code editor with
column view, such as UltraEdit or GNU Emacs.
Data type conventions
The following abbreviations appear in all field tables on this page. Each table entry uses these conventions to specify how data must be formatted at that character position.Transaction record
Each transaction record occupies a single line of 173 characters. The line is split into two segments. Segment 1 (positions 1–90) holds card, merchant, terminal, and transaction data. Segment 2 (positions 91–173) holds currency conversion data. Use codeJ1 for a sale transaction and J2 for a refund.
Segment 1 fields (positions 1–90)
The following table lists all fields in Segment 1 of the transaction record.
The following table lists the accepted values for the customer instructions
field at position 83.
An unsupported value in the customer instructions field causes transaction
rejection code 11. See
Troubleshoot transaction import
for the full list of rejection codes.
Segment 2 fields (positions 91–173)
The following table lists all fields in Segment 2 of the transaction record, which holds currency conversion data.Subrecord formats
Subrecords are optional supplemental lines that follow a transaction record. Each subrecord is 90 characters long. The I-file supports three subrecord types: multi-currency pricing (MCP), Integrated Circuit Card (ICC) addendum, and authorization network reference data. Only one subrecord of each type is permitted per transaction. A transaction may have multiple subrecords of different types, each on its own line with its own sequence number.MCP subrecord (code 07)
The MCP subrecord reports the Dynamic Currency Conversion (DCC) or multi-currency pricing offered currency and the method used to detect it. The following table describes the fields in the MCP subrecord.ICC addendum subrecord (code 10)
The ICC addendum subrecord captures the application currency code read from the card’s integrated circuit (EMV tag 9F42) during a chip transaction. The following table describes the fields in the ICC addendum subrecord.Authorization network reference data subrecord (code 26)
The authorization network reference data subrecord captures reference data returned in the card scheme’s authorization response. The following table describes the fields in the authorization network reference data subrecord.Net summary record
A net summary record totals all transactions for a specific combination of merchant, terminal, and currency during the reporting period. The record is 90 characters long. Use codeE4 when the value of sales equals or exceeds the value of refunds.
Use code E5 when the value of refunds exceeds the value of sales.
The following table describes the fields in the net summary record.
Net claim record
A net claim record totals all net summary records for a single merchant. One claim record exists per merchant. The record is 90 characters long. Use codeE8 when the merchant’s total sales equal or exceed total refunds.
Use code E7 when total refunds exceed total sales.
The format of the claim record depends on the length of the merchant ID. Do
not mix short and long merchant IDs in the same I-file. All merchant IDs in
a single file must use the same format.
Short merchant IDs (11 characters or fewer)
The following table describes the net claim record format when merchant IDs are 11 characters or fewer.Long merchant IDs (12 to 16 characters)
The following table describes the net claim record format when merchant IDs are 12 to 16 characters long.Next steps
The following resources complement this format reference.- Build and submit an I-file: step-by-step guide for building, encrypting, and submitting the I-file, including the header and trailer record formats.
- Troubleshoot transaction import: full tables of file rejection codes (R01–R15) and transaction rejection codes.
- Currency precision codes: the correct minor unit format for each currency, needed for the base amount and currency amount fields.
