Join on the identifier, inspect the provenance.
Names drift and abbreviations collide. A stable agency ID is the primary key, while the legal instrument, registry status, and file source remain part of the evidence trail.
Join appropriation IDs to a legal-entity register before treating a budget line as verified. Missing records create a review obligation, not an automatic fraud verdict.
Reconcile the two supplied files.
WAITINGNo join yet-Match reasons appear here.A registry match can establish consistency between supplied files; it cannot establish release, procurement, performance, or lawful spending.
Names drift and abbreviations collide. A stable agency ID is the primary key, while the legal instrument, registry status, and file source remain part of the evidence trail.
No supplied registry row shares the allocation ID. The full line amount remains exposed to entity-verification review.
The ID exists but the supplied record is not active. This is a distinct review reason, not proof of misconduct.
The supplied files agree on an active entity. That clears this join test only; spending controls still apply.
The user-supplied demo registry row changes the local join from unmatched to active. It does not verify legal existence, release, or lawful spending.
Papa Parse 5.4.1 validated both CSVs. Every allocation row retains its ID, amount, registry status, legal basis, and match reason in the exported ledger.