Free-form legal-entity strings → canonical code, keyed by a punctuation- and
case-insensitive form (lowercase, alphanumerics only) so "LLC", "llc" and
"L.L.C." collapse to one key. Seeded from the real AiPrise/registry spellings
seen in prod. The canonical codes' own keys map to themselves, so
normalization is idempotent.
NOTE: the SQL backfill migration *_backfill_us_org_entity_type.sql
hard-codes the same key→code arms (SQL can't call this) — keep the two in sync.
BUSINESS_TYPE_ALIASES in @cfxlabsinc/clients/routefusion mirrors the same
keys; exported read-only so the drift test in virtual-account-services
(legalEntityTypeToRouteFusion.test.ts) can prove the two stay in sync.
Free-form legal-entity strings → canonical code, keyed by a punctuation- and case-insensitive form (lowercase, alphanumerics only) so "LLC", "llc" and "L.L.C." collapse to one key. Seeded from the real AiPrise/registry spellings seen in prod. The canonical codes' own keys map to themselves, so normalization is idempotent.
NOTE: the SQL backfill migration
*_backfill_us_org_entity_type.sqlhard-codes the same key→code arms (SQL can't call this) — keep the two in sync.BUSINESS_TYPE_ALIASESin@cfxlabsinc/clients/routefusionmirrors the same keys; exported read-only so the drift test in virtual-account-services (legalEntityTypeToRouteFusion.test.ts) can prove the two stay in sync.