FATCA XML Schemas and Business Rules for Form 8966

The FATCA XML Schema is based on business requirements collected by a multilateral working group. The schema uses elements from existing reporting schemas used by the OECD and the European Union (EU) to reduce burden on reporting entities. The links below provide guidance on how to validate schemas.

XML resources

The .xsd and sample .xml files can be viewed with a web browser, such as Internet Explorer or Chrome and a text editor such as Microsoft Notepad, or an XML tool such as XMLSpy or XML Notepad.

Data Preparation Sample Packet

Review the sample FATCA data packet that includes all data files used to create a test transmission to the IRS.

Important: In January 2017, 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 version 2.0 because version 1.1 is not supported.

Resources Description

Updated 08-31-2016
Effective 01-2017

Publication 5124, FATCA XML Schema v2.0 User Guide
Updated 04-2017

FATCAXML_v2.0 (25KB) - Main schema for FATCA reporting. Updated 08-30-2016

ISOFATCATypes-v1.1 (72 KB) - Two-letter country codes defined in ISO 3166-1 standard and the three-letter currency codes defined in ISO 4217 standard. Referenced by main schema.

OECDTypes-v4.1 (37KB) - Defines different types for a name and legal character of an address. Referenced by STF FATCA schema.

STFFATCATypes-v2.0 (24KB) - Common data types specific for FATCA based on the Standard Transmission Format (STF) from the OECD. Referenced by main schema.
Updated 08-31-2016

Updated 02-08-2017
(2KB) - Sample amended Nil FI Report
Updated 08-31-2016
(2KB) - Sample Nil FI Report
Updated 08-31-2016
(2KB) - Sample void Nil FI Report
Updated 12-07-2016
(7KB) - Sample CAR response and filing scenario.
Updated 12-07-2016
(4KB) - Sample with optional elements, attributes and all available choices.
Updated 01-10-2017

(17KB) - Sample for a direct reporting non-financial foreign entity (DRNFFE) with substantial U.S. owners.

  • Passive NFFE
  • Sponsored DRNFFE

Sender Metadata XML v1.1
Effective 11-24-2015

Publication 5188, FATCA Metadata XML Schema v1.1 User Guide

FATCA-IDES-SenderFileMetadata-1.1 (12 KB)- Main schema used to generate sender metadata file

FATCA Sender File Metadata XML Samples_1.1. :

  • FATCA Report (RPT)
  • FATCA Report Notifications (NTF)
  • Competent Authority Request (CAR)

FATCA Notification XML v2.4,

**Effective March 2018**

Publication 5189, ICMM Notifications User Guide

Publication 5216, ICMM Notification XML Schema User Guide

BASE-FATCA-NOTIFICATION-2.4 (105 KB) - Base schema for common data elements and data types related to FATCA notifications. Referenced by all main notifications schemas.

Updates (from prior version):

  • 3 file level notifications added (NCF, NDF, NIF)
  • 1 existing file level notification deleted (NDP)
  • New record level error codes added (8019-8021)
  • New report type code added (USP)
  • New element NilReportRecordCnt added

FATCA-FILE-ERROR-NOTIFICATION-2.4 (4 KB) -Main schema that describes various types of file level error notifications.

FATCA-VALID-FILE-NOTIFICATION-2.4 (8 KB) - Main schema for the valid file notifications.

FATCA Report Notification XML Samples_2.4.xml :

  • FileErrorNotificationSample_2.4.xml
  • FieldLevelErrorNotification_2.4.xml
  • RecordLevelErrorNotification_2.4.xml
  • ValidFileNotification_2.4.xml


FATCA Wrapper for Non-XML v1.1
Effective 8-21-2015

FATCA-IDES-FileWrapper-1.1 (135 KB) - Base schema for common data elements and data types for converting non-XML formatted files into an XML format. The only allowable non-XML file types are TXT, PDF, RTF and JPG.

FATCA IDES File Wrapper Non-XML Samples:

  • Unsigned
  • Signed

To Convert to XML:

  • Convert the TXT file by using the  <Wrapper> element tag directly around the text.  
  • Files of PDF, RTF, or JPG types must use Base64 encoding scheme to convert the binary based content into text, and then apply <Wrapper> element tag around the text.