All field positions are 1-indexed and fixed-width. Each field must
start at exactly the position shown. Use zero-fill or space-fill to
pad unused fields as specified for each field.
Data type conventions
The following abbreviations describe field encoding and justification in the V-file format.Transaction record types
The V-file supports seven transaction record types. The transaction code is a two-character value where the first character identifies the terminal environment and the second identifies the transaction direction. The following table describes each type and the segments it includes.Segment 1 (positions 1–90)
Segment 1 is present in all transaction record types. It occupies positions 1 through 90 of the transaction line and contains card, merchant, and terminal information. The following table describes each field.Customer instructions values
The following table lists the allowed values for the Customer instructions field. Values marked as not supported cause rejection code11.
Segment 2 Type 1 (positions 91–173)
Segment 2 Type 1 follows Segment 1 for all transaction record types. It occupies positions 91 through 173 of the transaction line and contains currency conversion details. The following table describes each field.Segment 2 Type 4 (positions 174–256)
Segment 2 Type 4 is required for K1 and K2 (airline) transactions only. It follows Segment 2 Type 1 on the same line and occupies positions 174 through 256. It contains airline passenger and booking data. The following table describes each field.The
Additional data identifier field in Segment 2 Type 1 must be
set to F1 when Segment 2 Type 4 and Segment 3 Type 5 follow.Segment 3 Type 5 (positions 257–463)
Segment 3 Type 5 is required for K1 and K2 (airline) transactions only. It follows Segment 2 Type 4 on the same line and occupies positions 257 through 463. It contains passenger name, customer reference, and itinerary leg data. The following table describes each field.Segment 4 (positions 174–429)
Segment 4 is required for P1 and P2 Integrated Chip Card (ICC) transactions only. It follows Segment 2 Type 1 and occupies positions 174 through 429 of the transaction line. It contains EMV (Europay, Mastercard, Visa) cryptogram and terminal data. The following table describes each field.Subrecord formats
Subrecords are optional supplemental records that follow their companion transaction records in the V-file. Each subrecord type is identified by a two-character transaction code at positions 20–21 of the subrecord. The following table summarizes the available subrecord types.Only one subrecord of each type is permitted per transaction. The
Total number of subrecords field in Segment 2 Type 1 must match the
number of companion subrecords present for each transaction record.05 Integrated Terminal subrecord
The Integrated Terminal subrecord carries additional authorisation and
scheme data for transactions processed through integrated terminals. It
occupies positions 1 through 273 of the subrecord line and is placed
immediately after its companion transaction record. The following table
describes each field.
Mastercard transit transaction types
The following table lists the allowed values for the Mastercard transit transaction type field.06 UPI and JCB subrecord
The UPI and JCB subrecord is required for JCB (Japan Credit Bureau) and
UPI (China UnionPay International) card transactions. It is formatted
under the Association for Payment Clearing Services (APACS) 40 standard
and occupies positions 1 through 90 of the subrecord line. The following table describes each field.
07 MCP and Supplemental Reporting subrecord
The MCP and Supplemental Reporting subrecord supports Multi-Currency
Pricing (MCP) and DCC transactions. It contains the foreign exchange
method, currency offered, and an optional cashier identifier for
per-cashier reporting. It occupies positions 1 through 90 of the
subrecord line. The following table describes each field.
10 ICC Addendum subrecord
The ICC Addendum subrecord captures the application currency code stored
on the integrated chip of the payment card (EMV tag 9F42). It occupies
positions 1 through 90 of the subrecord line. The following table
describes each field.
17 AMEX Hospitality subrecord
The AMEX Hospitality subrecord is mandatory for American Express
hospitality (lodging) V-file submissions. It is based on the Transaction
Advice Addendum (TAA) record for the lodging industry as defined in the
AMEX Global Financial Submission Guide. This subrecord must not be
submitted alongside any other industry-specific TAA transaction. It
occupies positions 1 through 169 of the subrecord line. The following
table describes each field.
18 Credentials on File subrecord
The Credentials on File subrecord must be present when a transaction
uses stored cardholder credentials. It conforms to Visa and Mastercard
stored credential indicators and is required from 14 September 2019
under Payment Services Directive 2 (PSD2) Strong Customer Authentication
(SCA) rules. It occupies positions 1 through 90 of the subrecord line.
The following table describes each field.
39 Contactless subrecord
The Contactless subrecord is required for all transactions where a
contactless consumer device is used at a terminal configured to support
the Form Factor Indicator (FFI). It occupies positions 1 through 300 of
the subrecord line. The following table describes each field.
40 Pay by Instalment subrecord
The Pay by Instalment subrecord is required when an instalment
transaction is performed and must conform to Visa and Mastercard
instalment data fields. It occupies positions 1 through 110 of the
subrecord line. The following table describes each field.
41 3D Secure subrecord
The 3D Secure subrecord is mandatory for all 3D Secure version 1, 3D
Secure version 2, and non-3D-Secure eCommerce transactions. It occupies
positions 1 through 130 of the subrecord line. The following table
describes each field.
Net summary record
A net summary record must be included for each terminal-currency combination present in the file. Summary records use transaction codeE4 (sales exceed refunds), E5 (refunds exceed sales), or E6
(cash advance). The net summary record line occupies positions 1 through
90. The following table describes each field.
Net claim record
A single net claim record exists per merchant. The record uses transaction codeE7 when refunds exceed sales (payment by merchant)
or E8 when sales equal or exceed refunds (claim by merchant). The
format differs depending on whether the merchant ID is 11 characters
or fewer, or between 12 and 16 characters.
Do not mix short and long merchant IDs in the same V-file. A file must
contain all merchant IDs with 11 characters or fewer, or all merchant
IDs with 12 characters or more.
Short merchant IDs (11 characters or fewer)
The following table describes the net claim record format for merchant IDs up to 11 characters. The record line occupies positions 1 through 90.Long merchant IDs (12 to 16 characters)
The following table describes the net claim record format for merchant IDs of 12 to 16 characters. The merchant ID occupies positions 4 through 19. The record line occupies positions 1 through 90.Transaction rejection codes
Fexco includes a rejection code in the confirmation file for each rejected transaction in a partially rejected V-file. The following tables list codes by record section.Rejection codes
E4 and E8 also appear as transaction codes in the net
summary and net claim records. In the subrecord errors table, they are
rejection codes only.General errors
The following codes indicate general validation failures not specific to a single segment.Segment 1 errors
The following codes indicate field validation failures in Segment 1.Segment 4 errors
The following codes indicate field validation failures in Segment 4.Segment 2 Type 1 errors
The following codes indicate field validation failures in Segment 2 Type 1.Airline segment errors
The following codes indicate field validation failures in Segment 2 Type 4 or Segment 3 Type 5.Subrecord errors
The following codes indicate validation failures in subrecords.File rejection codes
Fexco includes a file rejection code in the confirmation file when an entire V-file is rejected. The following table describes each code.Next steps
Use the following resources to continue after reviewing this reference.- Build and submit a V-file: follow the step-by-step guide to construct, encrypt, and submit your V-file.
- How transaction import works: review the purpose of transaction import and the daily file cycle.
- Choose a file format: compare the V-file, XML I-file, and I-file formats.
- Troubleshoot transaction file errors: diagnose and resolve common submission errors.
