The summary below is an outline of instructions to prepare and submit a FATCA XML document using IDES. The process assumes an HCTA or FFI has an IRS-issued Global Intermediary Identification Number (GIIN) or FATCA Entity ID.

The file names are case sensitive and any variation in name, extension or format will cause a transmission failure.  There are no file extensions, unless otherwise noted. See the IDES User Guide, Publication 5190 for more information.

Important: Beginning January 16, 2017, all FATCA Reports (new, nil, corrected, void and amended) must be created using the FATCA XML Schema v2.0.  The FATCA XML Schema v2.0 replaced v1.1 and the FATCA Notification XML Schema v2.3 replaced v2.2.  All International Data Exchange Service (IDES) users are required to submit FATCA Reports using v2.0 because v1.1 is not supported.

Data preparation sample files that can be used to update your applications are available in Java, .Net, Unix and OpenSSL. For more information, visit the IRS on GitHub

Sample Data Preparation Test Packet

Description Sample Files
Sample FATCA data packet that includes all data files used to create a test transmission from an HCTA to the IRS. Review the readme file.   TestPacketv2.0.zipZIP
Test file for FATCA XML Schema v2.0

Step 1 – Create sender payload file "Updated"

Process Description

Sample File and Resulting File Name

1 . Validate FATCA XML file and digitally sign

  • Use “enveloping” signature and create SHA2-256 hash
  • Next, create an RSA digital signature using the 2048-bit private key that corresponds to the sender’s public key



2. Compress XML files with compatible compression utility

3. Encrypt XML file with AES-256 key

  • Cipher mode: CBC
  • Salt: No salt
  • Initialization Vector (IV): 16 byte IV
  • Key size: 256 bits/32 bytes
  • Encoding: None
  • Padding: PKCS#5 or PKCS#7

Step 2 - Encrypt AES key file

Process Description

Resulting Filename

1. Encrypt AES key and IV (48 bytes total – 32 byte AES key and 16 byte IV) with public key of each recipient

  • Padding: PKCS#1 v1.5
  • Key size: 2048 bits
2. Encrypt AES key and IV with public key of an approving HCTA Model 1, Option 2 (only)



Step 3 - Create metadata file

Process Description Resulting File Name
Create sender metadata file using metadata schema.           
Do not encrypt the metadata file.

Step 4 - Create transmission data packet

Process Description Resulting Filename
Create transmission archive. Compress all files with compatible compression utility. Do not encrypt the file. (i.e. 2017 January 15 16:30:45.320 Z)