Free Tool
goAML XML Validator
Validate your goAML CTR or STR XML against the official XSD v5.0.2 schema before submitting to your Financial Intelligence Unit. Catches missing required fields, invalid code values, malformed dates, and structural errors.
Your XML is validated locally in your browser — no data is sent to our servers
What this validator checks
- XML well-formedness — unclosed tags, invalid characters, bad attribute quotes
- Required root elements —
rentity_id,submission_code,report_code, submission/report date,currency_code_local - Code value enumerations —
submission_code(E/M/-),report_code(CTR/STR/SAR/STAR/AIF/MID…),transmode_code(OCCD/EFT01/SWIFT/MM01…),from_funds_code/to_funds_code - Date/time format — all
xs:dateTimefields must be ISO 8601 (YYYY-MM-DDTHH:MM:SS) - Transaction structure — each transaction must have a number, date, mode code, amount, and at least one party
- STR-specific checks — presence of
<reason>narrative and<report_indicators>typology codes - String length limits — narrative fields capped at 8000 characters per the XSD
Common goAML XML errors
- Missing <rentity_id> — your FIU-assigned entity ID must be a positive integer
- Wrong date format — dates must include time component:
2024-03-15T00:00:00not2024-03-15 - Invalid transmode_code — only schema-defined codes are accepted (e.g.
OCCD,EFT01,SWIFT,MM01) - Missing party information — every transaction needs From and To parties, or an
<involved_parties>block - amount_local not a decimal — no currency symbols, commas, or spaces (use
50000.00notKES 50,000)
This validator covers the most common rejection causes. Our goAML Reporting Platform generates schema-valid XML automatically from your core banking data, so these errors are prevented before the file is ever produced. See the full rejection guide for a deeper breakdown of FRC error codes.
