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 January 2017, the FATCA XML Schema v2.0 will replace v1.1 and the FATCA Notification XML Schema v2.3 will replace v2.2. All International Data Exchange Service (IDES) users will be required to submit FATCA Reports using version 2.0 because version 1.1 will no longer be 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.zip
Test file for FATCA XML Schema v2.0

TestPacket1.zip
Test file for CBC cipher mode using FATCA XML Schema v1.1

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

FATCAEntitySenderId_Payload.xml

Example:
000000.00000.TA.840_Payload.xml

2. Compress XML files with compatible compression utility FATCAEntitySenderId_Payload.zip

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
FATCAEntitySenderId_Payload

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
FATCAEntitySenderId_Payload
2. Encrypt AES key and IV with public key of an approving HCTA Model 1, Option 2 (only)

FATCAEntityReceiverId_Key

HCTAFATCAEntityId_Key

Step 3 - Create metadata file

Process Description

Resulting File Name

Create sender metadata file using metadata schema.           
Do not encrypt the metadata file.
FATCAEntitySenderId_Metadata.xml

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.   

UTC_FATCAEntitySenderId.zip

2017011516304532Z_000000.00000.TA.ISO.zip (i.e. 2017 January 15 16:30:45.32 Z )

 

Page Last Reviewed or Updated: 06-Dec-2016