Extract data from underwriting submissions
Before an insurer quotes a commercial risk, a broker sends in a submission: the packet that asks an underwriting desk to consider the account. It is built from ACORD forms, the ACORD 125 commercial insurance application for the applicant and its business, the ACORD 126 general liability section, and the ACORD 140 property section, often with prior loss runs attached. An underwriter reads it to decide whether the risk fits the carrier's appetite, and at what price. Unlike a certificate or a bound policy, a submission is a request, and most of its figures are proposed rather than settled. What an underwriter pulls from the packet is the shape of the risk and the coverage being sought. The named applicant and its business classification set the hazard, the requested limits stack per line ($1,000,000 each occurrence, $2,000,000 general aggregate, a matching products and completed operations aggregate, $1,000,000 personal and advertising injury), and the property section adds the construction type, year built, building value, and ISO protection class that price a location. A carrier is identified by its NAIC number, the producer by its agency, and the whole packet moves toward one field: the underwriting decision, still pending at intake. Talonic reads the submission and returns the applicant, the coverage lines with their limits, the property locations, and the carrier as structured fields. A packet from the broker Beacon Commercial Insurance Services for Cascade Millworks LLC, seeking Commercial General Liability at a $1,000,000 occurrence limit with an $18,400 premium and a $5,000 deductible, effective 2026-08-01 to 2027-08-01 with Sentinel National Insurance Co. named as the target carrier, returns three coverage lines and one property location so an underwriter triages the account from data.
What gets extracted from underwriting submissions
How extraction works for underwriting submissions
Submissions arrive as filled ACORD PDFs, broker-management-system exports, and scanned application packets, and a single submission bundles several forms with overlapping headers. Talonic classifies each form (ACORD 125, 126, 140) and maps it to the submission schema in the Field Registry, which separates the applicant and producer from the requested coverage lines and the scheduled property locations. Requested limits are typed per coverage and kept distinct, so an each-occurrence limit is never merged with an aggregate, and the property section holds construction type, year built, building value, and protection class per location. The carrier NAIC number identifies the market, the premium and deductible are read where quoted, and the underwriting decision is captured as its own status. Each field returns with a confidence score and a pixel-region pointer under DIN SPEC 91491, so an underwriter can check a requested limit or a construction class against the source form before triaging the account.
Sample extraction
A commercial insurance submission bundling ACORD 125, 126, and 140
{
"document_number": "SUB-2026-4471",
"document_date": "2026-07-02",
"applicant": {
"name": "Cascade Millworks LLC",
"address": "4120 SE Industrial Ave, Portland, OR 97202",
"contact_email": "risk@cascademillworks.com"
},
"business_description": "Architectural millwork and cabinet manufacturing",
"producer_name": "Beacon Commercial Insurance Services",
"insurer_name": "Sentinel National Insurance Co.",
"insurer_naic_number": "27987",
"coverage_type": "Commercial General Liability",
"each_occurrence_limit": 1000000,
"general_aggregate_limit": 2000000,
"products_completed_operations_aggregate": 2000000,
"personal_advertising_injury_limit": 1000000,
"premium_amount": 18400,
"deductible": 5000,
"effective_date": "2026-08-01",
"expiration_date": "2027-08-01",
"construction_type": "Joisted Masonry",
"year_built": 1998,
"building_value": 3200000,
"protection_class": "4",
"underwriting_decision": "Pending",
"coverage_lines": [
{
"coverage_type": "Commercial General Liability",
"each_occurrence_limit": 1000000,
"aggregate_limit": 2000000
},
{
"coverage_type": "Commercial Property",
"each_occurrence_limit": 3200000,
"aggregate_limit": 3200000
},
{
"coverage_type": "Commercial Umbrella",
"each_occurrence_limit": 5000000,
"aggregate_limit": 5000000
}
],
"property_locations": [
{
"location_number": "1",
"location_address": "4120 SE Industrial Ave, Portland, OR 97202",
"construction_type": "Joisted Masonry",
"year_built": 1998,
"building_value": 3200000,
"protection_class": "4",
"occupancy_type": "Woodworking manufacturing"
}
]
}Frequently asked
How is a submission different from a certificate of insurance?
A certificate proves coverage that is already bound; a submission requests coverage that is not. The extraction reflects that: the limits, premium, and underwriting decision are captured as proposed values at intake, not as in-force terms.
Does it keep each requested limit distinct?
Yes. The each-occurrence limit, the general aggregate, the products and completed operations aggregate, and the personal and advertising injury limit are captured as separate fields, because an underwriter prices each one and a merged figure misstates the request.
Does it capture the property section?
When an ACORD 140 property section is included, each location returns its construction type, year built, building value, occupancy, and ISO protection class, so a property underwriter rates the location from structured fields rather than the form image.
Is the target carrier identified?
The carrier NAIC number and name are captured where the submission names a target market, along with the producing agency, so the account can be routed to the right underwriting queue.
Ready to extract from your own underwriting submissions?
Author note
Reviewed by Talonic engineering · last reviewed 2026-07-06