AEOI Reporting

Free forever · no account · nothing uploaded

CARF XML validator

Drop a CARF/DAC8 submission file in and get a line-by-line report against the OECD CARF XML Schema v1.5. The parser runs in this tab: the file is never transmitted, never stored, and you do not need an account to see the whole report.

Drop a CARF/DAC8 XML file here

It is parsed in this browser tab. No upload, no account, no size limit beyond what your machine can hold.

What it checks

Schema validity is the easy half. Most rejections come from rules an XSD cannot express, so those are checked too — and every finding cites the section of the user guide it comes from, so it can be argued with.

Schema structure

Every element, its cardinality, its order and its datatype against CARF XML Schema v1.5. Out-of-order elements are named explicitly — they are valid-looking and still rejected.

Code lists

MessageTypeIndic, DocTypeIndic, Nexus, CtrlgPersonType, ExchangeType, both TransferType lists and AltValuation, with the meaning of each code quoted from the user guide.

Reference identifiers

DocRefID uniqueness across the file, the country-and-year prefix on DocRefID and MessageRefID, and CorrDocRefID pointing at something real.

Correction rules

The permitted DocTypeIndic combinations — new data in a correction message, a deleted RCASP with live users, a resend on the wrong element, test codes mixed with live ones.

TIN handling

NOTIN with its unknown flag, the issuing jurisdiction against the reported residences, and the number's format against 40+ national schemes.

Transaction arithmetic

Duplicate assets, two blocks sharing a category, zero counts with non-zero amounts, and retail payments below the USD 50 000 threshold.

Source: OECD, CARF XML Schema (July 2025), User Guide for Tax Administrations. Findings quote it; they are not tax advice.

CARF/DAC8 code lists

The full enumerations, for when a report names a code you have not seen before.

MessageTypeIndic

CARF701
The message contains new information
CARF702
The message contains corrections/deletions for previously sent information
CARF703
The message advises that there is no data to report

DocTypeIndic

OECD0
Resent Data
OECD1
New Data
OECD2
Corrected Data
OECD3
Deletion of Data
OECD10
Resent Test Data
OECD11
New Test Data
OECD12
Corrected Test Data
OECD13
Deletion of Test Data

ExchangeType

CARF401
Staking
CARF402
Crypto Loan
CARF403
Wrapping
CARF404
Collateral

TransferType (inbound)

CARF501
Airdrop
CARF502
Staking income
CARF503
Mining income
CARF504
Crypto loan
CARF505
Transfer from another RCASP
CARF506
Sale of goods or services
CARF507
Collateral
CARF508
Other
CARF509
Unknown

TransferType (outbound)

CARF601
Transfer to another RCASP
CARF602
Crypto loan
CARF603
Purchase of goods or services (other than a Reportable Retail Payment Transaction)
CARF604
Collateral
CARF605
Other
CARF606
Unknown

CtrlgPersonType

CARF801
CP of legal person — ownership
CARF802
CP of legal person — other means
CARF803
CP of legal person — senior managing official
CARF804
CP of legal arrangement — trust — settlor
CARF805
CP of legal arrangement — trust — trustee
CARF806
CP of legal arrangement — trust — protector
CARF807
CP of legal arrangement — trust — beneficiary
CARF808
CP of legal arrangement — trust — other
CARF809
CP of legal arrangement — other — settlor-equivalent
CARF810
CP of legal arrangement — other — trustee-equivalent
CARF811
CP of legal arrangement — other — protector-equivalent
CARF812
CP of legal arrangement — other — beneficiary-equivalent
CARF813
CP of legal arrangement — other — other-equivalent

Nexus

CARF901
Tax Residence
CARF902
Incorporation
CARF903
Management
CARF904
Place of Business
CARF905
Branch
CARF906
Authorisation (EU: authorised under Regulation 2023/1114)
CARF907
Remote Services (EU: Member State of single registration)

AltValuation

CARF1001
Book value
CARF1002
Third-party value
CARF1003
Recent RCASP valuation
CARF1004
Reasonable estimate by RCASP

INType

LEI
Legal Entity Identifier (ISO 17442, 20 characters)
EIN
Entity identification number
BRN
Business registration number
Other
Other

legalAddressType

OECD301
residentialOrBusiness
OECD302
residential
OECD303
business
OECD304
registeredOffice
OECD305
unspecified

Validating is free. Producing the file is what we sell.

If you are hand-building this XML, the validator will keep telling you what is wrong with it. The paid product collects the self-certifications, chases the people who ignore them, generates the file with stable DocRefIDs and handles the corrections afterwards — from EUR 59 a month, priced on the page.