Live demo

The HMDA contract, running on a sample LAR

We ran the certified HMDA LARcontract against a synthetic Loan/Application Register — the same validity and quality edits the CFPB HMDA Platform runs at submission. Here's what it caught. (Data is synthetic; nothing leaves your browser.)

10
of 24 records would be flagged at submission
8 of 8 checks failed · 14 records are clean. Fix these before you file — a rejected submission means a missed deadline.

What failed

Required LAR fields presentcriticalSyntactical edit1 flagged
ULI0009· missing loan_amount
LEI is 20 characterscriticalValidity edit4 flagged
ULI0007· LEI is 14 chars, must be 20ULI0009· LEI is 21 chars, must be 20ULI0021· LEI is 21 chars, must be 20ULI0022· LEI is 21 chars, must be 20
ULI is uniquehighValidity edit2 flagged
ULI0001· duplicate ULI in the registerULI0001· duplicate ULI in the register
Action Taken is a valid code (1–8)highValidity edit1 flagged
ULI0004· action_taken 9 is not 1–8
Loan Purpose is a valid codemediumValidity edit1 flagged
ULI0006· loan_purpose 99 is not a valid code
County FIPS is validhighValidity edit1 flagged
ULI0011· county_fips 99999 not in the FFIEC reference
Reported income is non-negativemediumQuality edit1 flagged
ULI0010· income -5 is negative
Applicant demographics presentmediumQuality edit1 flagged
ULI0012· missing applicant sex

What passed

This is one certified contract of 31.

Run the same checks on your own LAR — download the contract and compile it to Soda, dbt, SQL, or Spark, or generate one from your data.

Demo runs the same 24-record synthetic register on every load. The checks mirror the certified HMDA contract exactly.