Skip to main content
The @claritylabs/cl-sdk/policy-taxonomy sub-path export gives you a validated, normalized set of ACORD Line of Business codes for use across extraction, operational profiles, and reporting. All 107 accepted codes are available as a Zod enum, a plain array, a label map, and full entry objects. Normalization functions translate legacy policy type strings and free-text descriptions into canonical ACORD codes.

Importing

The taxonomy is a sub-path export — import it from the dedicated path rather than the root package.

Core Exports

z.ZodEnum
A Zod enum containing all 107 accepted ACORD LOB codes. Use .parse() to validate and narrow user input or LLM output to a known code.
AcordLobCode[]
Plain array of all 107 ACORD codes. Useful for populating dropdowns, building filter UIs, or iterating over all supported lines.
Record<AcordLobCode, string>
Maps each ACORD code to its human-readable label. Use for display in reports, emails, and coverage comparison tables.
Array<{ code: AcordLobCode; label: string }>
Full entry objects with code and label for each supported line. Convenient for building select options with both value and display text.
Record<string, AcordLobCode>
Maps legacy policyType string values (e.g. "general_liability", "commercial_auto") to canonical ACORD codes. Used by the extractor to normalize legacy policy type strings on ingestion.
Set<AcordLobCode>
A Set of ACORD codes for personal lines. Use PERSONAL_LOB_CODES.has(code) to distinguish personal lines from commercial lines in mixed-book workflows.

Example Usage

Normalization Functions

normalizeOperationalLinesOfBusiness(vals)

Accepts an array of strings — legacy type names, common shorthand, or LLM-generated labels — and returns the corresponding array of validated AcordLobCode values. Values that cannot be mapped are silently omitted.

resolveOperationalProfileLinesOfBusiness(profile)

Accepts a PolicyOperationalProfile and returns the ACORD codes it represents, combining both explicit code fields and normalized legacy type fields from the profile.
Always run LLM-generated line-of-business strings through normalizeOperationalLinesOfBusiness before storing them. The function handles case variation, underscores vs. spaces, and common abbreviations so your stored codes are always canonical ACORD values.

Common Commercial Lines Codes

Using Codes in Extraction

The extractor automatically maps extracted coverage types to ACORD codes in the PolicyOperationalProfile. You can validate or override them using the schema:
Use ACORD_LOB_LABELS to build human-readable coverage summaries in emails and reports. The labels match standard industry terminology that brokers and insureds recognize.

Personal Lines

The PERSONAL_LOB_CODES set includes all personal auto, homeowners, renters, umbrella, and specialty personal lines codes. Use it to branch your processing logic when your book includes both commercial and personal lines: