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 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.zip ZIP
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

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

20170115T163045320Z_000000.00000.TA.ISO.zip (i.e. 2017 January 15 16:30:45.320 Z)