PerfectParser Docs
User GuidesParser Setup Guides

Set Up Coverage Fields for Insurance Policies

Configure insurance policy fields in the dashboard — extract declarations, coverage tables, limits, and deductibles from policy documents.

Ready to set this up? Sign up for PerfectParser and get 20 free credits — no credit card required.

What this guide helps you do

This guide shows how to configure an insurance policy parser in PerfectParser, define declarations and coverage fields, run a test batch, and export policy data. Leave the prompt blank initially when you want auto-detect to find all visible coverage lines before you refine field names.

Why insurance policies are hard to parse

Insurance policy packets stack declarations, endorsements, and coverage schedules in carrier-specific formats with no industry-standard layout. The declarations page holds policy number, insured party, and period — but limits and deductibles also appear per coverage line in a table that varies by line of business (commercial general liability vs property vs workers' comp). Per-occurrence limits are easily confused with aggregate limits when both appear in adjacent columns. Endorsement pages modify base declarations with rider language that does not repeat the full policy header. Premium, deductible, and coverage limit may use different formatting on the same page. Multi-carrier formats mean a schema tuned on one insurer's dec page will mislabel fields on another unless field descriptions name the exact label text (e.g. "Each Occurrence" vs "Per Claim").

We suggest configuring the following schema fields for your Insurance Policy Parser to capture all essential policy declarations.

Field NameTypeDescription
policy_numberTextThe unique policy number or identifier.
insurerTextThe insurance company name (e.g. Geico, Aetna, Allianz).
insured_partyTextThe full name of the policyholder or insured business.
policy_periodTextThe coverage dates range (e.g. June 1, 2026 to May 31, 2027).
coverage_limitNumberThe overall maximum coverage limit of the policy.
deductibleNumberThe deductible or out-of-pocket amount.
premiumNumberThe total premium amount or cost of the policy.
coveragesTableTable containing coverage_type, limit_amount, and deductible details for each category.

AI Prompt (Optional)

Use this only when you want to guide auto-detect toward a specific set of fields.

If you want PerfectParser to discover additional fields on its own, leave the AI Prompt (Optional) box blank for the first pass, review the detected schema, then add a prompt only if you need tighter consistency.

When you do use a prompt, copy and paste the following instructions into the AI Prompt (Optional) field during setup:

Extract the policy number, insurer name, insured party/business name, policy period coverage dates, total coverage limit, deductible amount, and premium cost. Also extract the coverages table containing coverage type, specific limit amount, and individual deductible.

Set up this parser in the dashboard

Create a parser

Go to Parsers → New Parser in the dashboard. Give it a name like "Insurance Policy Parser" and optionally select the document category.

Upload a sample document

Drag and drop a representative declarations page (PDF, PNG, or JPEG). Use a dec page from a carrier you process regularly — the AI uses it to learn coverage table structure.

Detect fields or use standard fields

Paste the AI Prompt from the section above into the AI Prompt (Optional) box if you want tighter field mapping, then click Auto-Detect. To discover more fields automatically, leave the prompt blank and click Auto-Detect. Or skip auto-detect and add fields manually using the Recommended Fields table above.

Review and save your schema

Check that coverages is a Table with separate limit_amount and deductible per row. Confirm coverage_limit reflects the correct limit type (per-occurrence vs aggregate) for your workflow. Click Save.

Run a test batch

Navigate to Bulk Extraction, choose how your files are organised, upload a small test set of policy documents, and click Extract All Files. Review the results in Batch History and export to CSV or Excel.

Common mistakes

  • Using an endorsement rider as the sample when production files start with a declarations page — field placement differs completely.
  • Mapping per-occurrence limits into coverage_limit when your workflow needs the aggregate cap (or vice versa).
  • Omitting the coverages table and capturing only header-level premium and deductible — line-of-business detail lives in the table.
  • Storing limit and deductible values as Text — use Number for comparison and reporting in certificate-of-insurance workflows.

Next steps

Test your first extraction free — sign up for PerfectParser, no credit card needed.

FAQs

Do I need a sample policy document to set up this parser?

Yes. Upload a declarations page from the carrier format you process most often. Policy packets combine declarations, endorsements, and schedules — start with the declarations page that contains policy number, insured party, and coverage summary.

Should I parse declarations separately from endorsement pages?

Configure your schema for the declarations page fields first — policy_number, insured_party, coverage limits, and the coverages table. Endorsement pages modify base coverage and use different layouts; handle them in a separate parser or batch if your workflow requires endorsement-level extraction.

How many credits does setup and a test extraction use?

Parser setup is free. Each policy page costs 1 credit. A declarations page alone is typically 1 credit; full policy packets with endorsements may use 5–20 credits depending on page count.

Looking for product features and use cases?

See the Insurance Policy Data Extraction solution page.

On this page