Skip to main content
This page explains how the International Organization for Standardization (ISO) 4217 minor unit standard determines the precision of amount fields across DCC integrations. The precision rules differ between rate service calls and transaction file formats, so it is important to apply the correct format in each context.

Decimal places by currency

ISO 4217 uses the concept of minor units to define the number of decimal places for each currency. For example, EUR has 2 minor units (cents), JPY has 0 minor units, and KWD has 3 minor units (fils). The following table lists the decimal places for currencies commonly used in DCC transactions. For currencies not listed above, apply the decimal places defined by ISO 4217. See Currency codes for a full list of ISO 4217 numeric and alphabetic codes.

How precision applies in each integration area

The decimal places for a currency affect how amounts are formatted in different parts of the DCC integration. The rules differ between rate service responses and transaction file formats.

Rate service

When you request a rate offer, the rate service response includes the minor unit count for the cardholder currency. Use this value to determine how many decimal places to apply when displaying the converted amount to the cardholder.
For Visa compliance, currencies with 3 minor units are rounded to 2 decimal places in the rate offer. See Currency codes and minor units for details.

XML I-file

In the XML I-file, the baseAmount and transactionAmount fields must include a decimal point and use the number of decimal places defined by ISO 4217 for the currency. The merchant’s base currency configured during boarding determines which precision rules apply to the baseAmount field. For currencies with 0 decimal places (for example, JPY or CLP), do not include a decimal point. For all other currencies, include the full decimal representation. The following table shows correctly formatted amounts for three example currencies:

V-file and I-file

In the V-file and I-file fixed-width formats, amounts are expressed as unsigned integers in minor units. Do not include a decimal point. Each amount field is 11 characters wide, right-justified, and zero-padded. The merchant’s base currency configured during boarding determines which precision rules apply to the base amount field (Segment 1, positions 37 to 47). For currencies with 0 decimal places (for example, JPY or CLP), the amount must have two zeros appended in the last two positions of the 11-character field. This is because the field format reserves the last two positions for minor units regardless of currency precision. The following table shows correctly encoded 11-character amount fields for a V-file or I-file:

Common precision errors

Incorrect amount precision is one of the most common causes of transaction rejection. The following table describes common precision errors and how to resolve them.

Next steps

Use the following resources after reviewing this reference.
  • Currency codes: look up ISO 4217 numeric and alphabetic currency codes used in transaction files and boarding.
  • XML I-file reference: review amount field specifications for the XML transaction file format.
  • V-file reference: review segment field specifications for the V-file fixed-width format.
  • I-file reference: review segment field specifications for the I-file fixed-width format.