Creodata Solutions Logo
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 elementsrentity_id, submission_code, report_code, submission/report date, currency_code_local
  • Code value enumerationssubmission_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:dateTime fields 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:00 not 2024-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.00 not KES 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.