IRS Logo
Print - Click this link to Print this page

IDES Data Preparation

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 July 11, 2016, IDES will no longer accept data packets encrypted with the ECB cipher mode and all users are required to transmit data packets with the CBC cipher mode. The revised data packaging process improves the AES-256 key encryption and is summarized below. All other data packaging details, such as data padding, remain the same.  Data preparation sample files that can be used to update your applications are available in Java, .Net and OpenSSL. For more information, visit the IRS on GitHub

Sample Data Preparation Test Packet


Sample File

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.
Test file for CBC cipher mode
Test file for ECB cipher mode

Step 1 – Create sender payload file

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.

Example: (i.e. 2015 January 15  16:30:45.32 Z )


Page Last Reviewed or Updated: 28-Jun-2016