Back to packs

CRS / FATCA Reporting

CRSfree

10 data-quality rules for automatic exchange of financial account information under the OECD Common Reporting Standard (CRS) and US FATCA (Form 8966), exchanged as XML to tax authorities. Covers required reporting elements, TIN presence/validity, ISO 4217 currency and ISO 3166 country codes, account-balance format, controlling persons for passive NFEs, and DocRefId uniqueness. Use it to pass schema/business-rule validation before transmission.

10 rules 0 downloadsNo ratings yet
crsfatcaoecdaeoitax-reportingregulatory-reporting
0.0(0 ratings)

Sign in to rate this pack

Test this pack with your data

Download the template, fill in your data, and see quality results instantly.

Test This Pack

Download & Install

Choose your tool — get a ready-to-run file

Run this on your data? Upload your CSV — we'll auto-map the columns, validate, and report the bad rows.Test my dataWant this certified on your data? Book a 30-min demo.Book a demo
Or use the CLI
$ npx dqhub install crs-fatca-reporting --format soda --table YOUR_TABLE

Reference data required

This contract's checks join against 2 reference tables. Load them into your warehouse — DQHub ships the public ones, the rest link to their source. All reference data →

About this pack

10 data-quality rules for automatic exchange of financial account information under the OECD Common Reporting Standard (CRS) and US FATCA (Form 8966), exchanged as XML to tax authorities. Covers required reporting elements, TIN presence/validity, ISO 4217 currency and ISO 3166 country codes, account-balance format, controlling persons for passive NFEs, and DocRefId uniqueness. Use it to pass schema/business-rule validation before transmission.

What's included

4completeness rules
2referential integrity rules
1range rules
1format rules
1consistency rules
1uniqueness rules

Checks included (10)

Required Reporting Elements Present

Each reportable account must carry the Reporting FI, account number, account holder, and account balance.

TIN Present (or Documented Reason)

A Tax Identification Number must be reported for each account holder; if omitted, a valid reason/code must be present. Missing TINs generate record-level errors.

MessageRefId Present(message_ref_id)

The message header must carry a MessageRefId identifying the transmission.

Account Number Present(account_number)

Each reportable account must carry an account number (or the documented "NANUM" indicator where no number exists).

Currency Code Is Valid ISO 4217

Every monetary amount's currCode must be a valid three-character ISO 4217 currency code.

Country Code Is Valid ISO 3166

Residence country and TIN-issuing country must be valid two-character ISO 3166-1 codes.

Account Balance Is Non-Negative(account_balance)

Reported account balance should not be negative (a closed account is reported as 0).

Account Holder Type Is Valid(account_holder_type)

Account holder type must be a valid CRS code (e.g. CRS101 Passive NFE with controlling person, CRS102 reportable person, CRS103 passive NFE that is a reportable person).

Passive NFE Has a Controlling Person

A passive NFE account holder (CRS101) must report at least one controlling person.

DocRefId Is Unique(doc_ref_id)

Each DocRefId must be globally unique within the reporting jurisdiction; duplicates are rejected.