A BOP submission is deceptively small. Compared to an excess-casualty packet it’s tidy — usually the broker’s email with the ask and a single BOP application carrying the property and liability detail. But small doesn’t mean easy: this is high-volume, thin-margin business where the account is priced on a handful of levers — the building and contents values, the fire-protection class, the construction of each location, and whether the loss run is clean. Miss one and the price is wrong; and at BOP volumes, systematically-wrong pricing is how a book bleeds.

Most intake tools read one document at a time and hand back a flat list of fields. InsightXtract runs an agentic, multi-document pipeline that classifies each file, extracts it to a per-document schema, consolidates everything into one unified account record by a declared source-of-truth priority, and validates it against your rules and reference data — so the underwriter opens a single, coded, cited record instead of an email plus an application to reconcile by hand.

flowchart LR A[Broker email
+ BOP application] --> B[Classify
each document] B --> C[Extract to the
right schema] C --> D[Consolidate
by source priority] D --> E[Standardize
+ validate] E --> F[One coded,
cited account record]

One submission, two documents, one connected record — classify, extract, consolidate, standardize, validate.

The idea that governs a BOP: the account is the location schedule

Before the categories, the one concept that shapes everything. A BOP header can say “$2.4M total building value, three locations” — but the risk lives in the per-location detail, not the summary. A frame restaurant built in 1962 in protection class 6 is a completely different exposure from a masonry office built in 2019 in class 2, even when they roll up to the same total insured value. So InsightXtract captures the summary fields and the full location schedule as a table — one row per building — because the construction, year built, occupancy, and split of building-versus-contents value per site are what actually price the property side. In the tables below the Captured column flags how each parameter comes in:

  • Point-in-time — a single static fact about the account.
  • Current term — a value for the coverage being requested now.
  • Per-row — a table: one location or one claim per row.

A · Insured & identity

Who the account is — legal identity, where it sits, how it’s classified, and how long it’s been operating. Source: BOP application.

ParameterCapturedWhy it matters
Insured name · DBA name · FEINPoint-in-timeThe contract party and unique account key — drives clearance, conflicts, and de-dupe.
Insured address · city · state · ZIPPoint-in-timeMailing/primary premises and the state that governs rating, forms, and filings.
Business description · NAICS code · entity typePoint-in-timeClass-based rating and appetite/knockout — the operation behind the code.
Years in business · websitePoint-in-timeStability credit and a quick source for verifying the operation described.

B · Broker & submission

Who’s placing the account and what kind of ask this is. Source: broker submission email.

ParameterCapturedWhy it matters
Broker name · broker companyPoint-in-timeDistribution routing, binding authority, and who to correspond with.
Broker emailPoint-in-timeThe correspondence channel and the audit trail back to the source of the ask.
Submission typeCurrent termNew vs. renewal vs. re-marketing — sets the workflow and the pricing baseline.

C · Business profile

The operating character of the risk — what kind of business it is, its size, and the protection features that most move the property rate. Source: BOP application.

ParameterCapturedWhy it matters
Business typePoint-in-timeRetail, office, restaurant, contractor, light manufacturing — the eligibility gate for BOP itself.
Annual revenuePoint-in-timeThe size and liability-exposure base for the account — a core rating input.
Protection classPoint-in-timeISO fire-protection grade (1–10) — one of the single biggest levers on the property premium.
SprinkleredPoint-in-timeAutomatic sprinkler protection — a major fire-severity credit and often an eligibility condition.
Number of locationsPoint-in-timeScope of the account and a checksum against the location schedule.

D · Property values

The insured property amounts the policy has to make whole — the total-insured-value side of the package. Source: BOP application.

ParameterCapturedWhy it matters
Total building valueCurrent termThe buildings’ replacement exposure — the property base the rate is applied to.
Total contents valueCurrent termBusiness personal property at risk — the other half of the property TIV.
Business income limitCurrent termThe time-element exposure — lost income and extra expense if operations are interrupted.

E · Liability coverage & limits

The exact shape of the liability cover being requested — limits, retentions, position in the tower, price, and term. Source: BOP application.

ParameterCapturedWhy it matters
Requested limitCurrent termThe overall capacity being asked for — the headline of the ask.
Each-occurrence limit · aggregate limitCurrent termThe per-event and annual caps on liability — the core of the GL coverage.
Deductible · retentionCurrent termLoss the insured absorbs first — drives net price and skin-in-the-game.
PremiumCurrent termThe price on the table — the number to beat on a renewal and the rate-adequacy check.
Primary or excessCurrent termWhere this cover sits — whether it’s writing primary or sitting over an underlying layer.
Effective date · expiration dateCurrent termThe policy term and the binding deadline that governs the workflow.

F · The location schedule — one row per building

This is where the property risk actually is. InsightXtract reads the location schedule as a table — one row per site — so construction and value are known per building, not just in the rollup. Source: BOP application.

ParameterCapturedWhy it matters
Per location: address · occupancyPer-rowWhere the operation physically sits and what it’s used for — the premises-hazard driver.
Per location: square footage · construction type · year builtPer-rowFrame vs. masonry and age — the biggest per-building fire-severity and condition signals.
Per location: building value · contents valuePer-rowThe TIV split by site — where the property exposure actually concentrates.

G · Loss history — one row per claim

The single biggest signal that separates a clean account from a troubled one. InsightXtract reads each claim as a row from the application’s loss history, with cost and development on every one. Source: BOP application.

ParameterCapturedWhy it matters
Per claim: claim number · date of loss · descriptionPer-rowEach loss’s identity, timing, and nature — the pattern behind the frequency.
Per claim: status (open/closed)Per-rowOpen claims still carry development risk that isn’t finished playing out.
Per claim: paid · reserve · incurredPer-rowCost, remaining exposure, and total severity — the raw material for the loss ratio.

From two documents to one connected record

Pulling these parameters out of the email and the application is only half the job. The value is in consolidation: the broker on the email and the insured, property, and coverage on the application all describe one account. InsightXtract merges them into a single record by a declared source-of-truth priority — the application is authoritative for insured, property, and coverage detail; the email carries the broker and submission context — then standardizes and validates the result: the state is resolved against the US state-code table, the NAICS code against the NAICS reference, occupancy against a glossary, and every currency and date is normalized to a consistent format. A missing insured name is flagged as an error; an out-of-range state or NAICS code as a warning.

InsightXtract classifies and consolidates a Business Owners Policy submission — the broker email and the BOP application — into one connected, coded account record with the location schedule and loss history extracted
A BOP submission classified and consolidated — the broker email and the application merged into one coded record, each field cited back to its source.

Why standardize, not just extract

A raw value isn’t underwriting-ready. “Calif.”, “CA”, and “California” all mean one state; “$2,400,000” and “2.4M” mean one amount. InsightXtract resolves each field against reference tables and glossaries and normalizes currency and dates — so the record is comparable across every submission, and the validation rules can actually catch what’s wrong.

Why it matters to the business

Comprehensive, structured extraction of a BOP isn’t a data-entry nicety — at small-commercial volumes it changes the economics and quality of the book:

  • Packaged property + GL, priced correctly. A BOP bundles property and liability, and the two are rated on different levers — building/contents/BI values on one side, occurrence and aggregate limits on the other. Capturing both sides in full means the whole package is priced, not just the half that’s easy to read.
  • Per-location detail, not just the rollup. The property risk lives in each building’s construction, age, occupancy, and value split. Extracting the location schedule row-by-row surfaces the frame-built, older, higher-hazard site that a total-insured-value summary would hide.
  • Protection class caught by default. Fire-protection class and sprinkler status are among the biggest property levers — and among the easiest to overlook. Pulling them on every account means the credit or the surcharge is applied consistently, not when someone remembers to look.
  • Faster quotes at volume. BOP is a high-throughput line. An underwriter opening a consolidated, cited, standardized record triages and prices in minutes — more submissions handled without more headcount.
  • Consistency and auditability. The same fields, coded the same way, validated the same way, every time — with provenance to the source document. That’s the difference between a repeatable book and one that depends on which underwriter opened the file.

The BOP agent extracts all of this today — insured identity, broker and submission context, the business profile, the property values, the full liability coverage and limits, the per-location schedule, and the per-claim loss history — consolidated into one coded record of 30+ fields and two linked tables, every value standardized against reference data and cited to its source. And because it’s all configuration — fields and tables in the agent’s output contract, not code — the schema keeps pace with what your small-commercial underwriters ask for.