Before you troubleshoot
Before you troubleshoot a specific error, run through these checks:- Confirm the filename follows the correct naming convention for your file format (I-file, V-file, or XML I-file).
- Verify the file sequence number has not already been used.
- Check that all merchant IDs in the file match IDs that were boarded with Fexco.
- Confirm the file’s summary totals reconcile with the transaction records (financial integrity).
- Confirm that record sequence numbers start at
0000001and increment by one with no gaps (logical integrity).
File rejection issues
Entire XML I-file rejected with invalid XML (S3)
Entire XML I-file rejected with invalid XML (S3)
.status file shows status S3 and includes an XML parse
error with a line number and column number.Common causes- Unclosed tags, incorrect element names, or invalid attribute values.
- Encoding mismatches.
- The
dispositionattribute contains an invalid value (must be eitherproductionortest).
- Read the parse error in the
.statusfile. Use the line and column numbers to locate the error in your XML file. - Validate the XML file against Fexco’s XSD schema before resubmitting.
- Resubmit with the same sequence number (do not increment for a fully rejected file).
Entire XML I-file rejected as duplicate (S4)
Entire XML I-file rejected as duplicate (S4)
.status file shows status S4.Why this happensA file with the same sequence number has already been uploaded
and accepted.How to fixCheck your submission history and increment the sequence number
to the next unused value. Resubmit with the new sequence number.I-file or V-file rejected with integrity failure (R10, R11, R12)
I-file or V-file rejected with integrity failure (R10, R11, R12)
R10, R11, or R12.Common causes- The file totals do not reconcile (financial integrity): a summary, claim, or trailer total does not match the transactions it covers.
- The record sequence numbers are not consecutive (logical integrity): a gap, duplicate, or incorrect total count in the UTL.
- Check financial integrity. Verify the hierarchical totals at every level: each E4/E5 summary must total its transactions, each E7/E8 claim must total its summaries, and the UTL must total all claims.
- Check logical integrity. Verify that sequence numbers start
at
0000001and increment by one with no gaps. The record count in the UTL must equal the highest sequence number. - Resubmit with the same sequence number. Update the filename date if resubmitting on a different day.
I-file or V-file rejected with invalid filename (R01, R02, R03, R04)
I-file or V-file rejected with invalid filename (R01, R02, R03, R04)
R01
and R04.Common causes- The filename does not follow the naming convention
(
IXXXYYYYMMDDnnnnnn.DATorVXXXYYYYMMDDnnnnnn.DAT). - The submitter identifier does not match the value assigned by Fexco.
- The date portion is not a valid
YYYYMMDDdate. - The sequence number does not follow the expected sequence.
- Verify the filename matches the convention described in the I-file guide or V-file guide.
- Confirm the three-character submitter identifier matches the value Fexco provided during onboarding.
- Resubmit with the same sequence number.
I-file or V-file already uploaded (R05)
I-file or V-file already uploaded (R05)
R05.Why this happensA file with this filename (including sequence number) was
already submitted and accepted.How to fixIncrement the sequence number and resubmit.Transaction rejection issues
One or more transactions rejected in a partially accepted file
One or more transactions rejected in a partially accepted file
- XML I-file: the
.statusfile showsS2. The_rejections.xmlfile lists the rejected transactions withrejectionReasoncodes. - I-file or V-file: the confirmation text file shows “partially rejected.” The confirmation data file includes a two-digit rejection code on each affected transaction line.
- Look up the rejection code in the rejection codes reference in Developer resources.
- Fix only the rejected transactions. Do not modify transactions that were processed successfully.
- Build a new file containing only the corrected transactions. Increment the sequence number by one (because the original file was partially accepted).
- Submit the corrected file and verify the new confirmation shows all transactions accepted.
Invalid merchant ID (code 03)
Invalid merchant ID (code 03)
03.Common causes- The merchant ID does not match a boarded merchant.
- Short and long merchant IDs are mixed in the same file.
- Verify the merchant ID matches a boarded merchant.
- Confirm all merchant IDs in the file use the same format: either all 11 characters or fewer, or all 12-16 characters.
- Resubmit only the corrected transactions.
Invalid exchange rate (code 12 or 17)
Invalid exchange rate (code 12 or 17)
12 or 17.Common causes- The exchange rate field is empty, contains non-numeric characters, or is not 13 characters.
- The base amount, exchange rate, and currency amount are not mathematically consistent.
- Verify the exchange rate is a 13-character decimal,
right-justified, zero-filled (for example,
0000001.06164). - For non-DCC transactions, use
00000001.0000. - Verify that the base amount multiplied by the exchange rate equals the currency amount (within rounding tolerance).
Formatting issues
Fields in the wrong position
Fields in the wrong position
R13 or R14.Why this happensThe I-file and V-file use fixed-length records. Every field
must start at the exact character position specified. A single
misaligned field shifts all subsequent fields.How to fixOpen the file in a code editor with column view (such as
UltraEdit or
GNU Emacs) and verify
each field starts at the correct position. See the
I-file guide
or
V-file guide
for field positions.Currency amounts include a decimal point (code 34, 53)
Currency amounts include a decimal point (code 34, 53)
34 (invalid base amount)
or 53 (invalid currency amount).Why this happensAmounts must be in unsigned minor units with no decimal point.How to fixRemove the decimal point and express the amount in the
currency’s smallest unit. For example, USD 124.78 becomes
00000012478. See the
currency precision table
for the correct number of decimal places per currency.Zero-minor-unit currencies not padded correctly (code 34, 53)
Zero-minor-unit currencies not padded correctly (code 34, 53)
34 or 53.Why this happensCurrencies with zero minor units must be right-padded with
00. This is a specific exception in the formatting rules.How to fixRight-pad the amount with 00. For example, JPY 241,832
becomes 00024183200.Wrong summary or claim code (code 22, 23)
Wrong summary or claim code (code 22, 23)
22 or 23.Why this happensThe summary or claim code does not match the net direction of
the transactions it covers.How to fix- Use
E4when sales equal or exceed refunds. UseE5when refunds exceed sales. - Use
E8when sale summaries equal or exceed refund summaries. UseE7when refund summaries exceed sale summaries.
Resubmission and sequence numbers
After fixing the errors, resubmit the corrected file. The sequence number action depends on the rejection type:- Accepted: increment the sequence number by one for the next file.
- Partially rejected: the file was processed and valid transactions were accepted. Increment the sequence number. Resubmit only the corrected rejected transactions in the next file.
- Fully rejected: do not increment. Fix the errors and resubmit with the same sequence number. Update the filename date if resubmitting on a different day.
Still having issues?
If you have worked through the steps above and the issue persists, contact Fexco DCC Support with:- Your submitter identifier (three-character code).
- The file format you are using (XML I-file, I-file, or V-file).
- The filename and sequence number of the rejected file.
- The full rejection code from the confirmation file.
- The environment (production or test).
Next steps
- Build and submit an I-file: I-file construction and field positions.
- Build and submit a V-file: V-file construction and field positions.
- Build and submit an XML I-file: XML I-file construction and validation.
