SOV data extraction: how to read and check every location on a statement of values
For commercial property underwriters, MGAs and broker teams who receive SOVs. The columns that matter, a worked example, and the checks against the ACORD 140.

Key takeaways
- SOV data extraction reads a statement of values into one row per building, with its address, its building details and its values to insure.
- ACORD's form for this is the ACORD 139 Statement / Schedule of Values. Many SOVs arrive as the broker's or the insured's own spreadsheet instead.
- Most of the work is mapping each sheet to one set of columns you define. Merged headers have to be read, subtotal rows dropped and shorthand codes turned into your codes.
- On every row, the values (building, contents, business income and any others) should add up to the stated total insured value (TIV). The year built should be a real year.
- Then check the SOV against the ACORD 140 and ACORD 125. A location missing from the application delays the quote even when the SOV itself is clean.
On this page
SOV data extraction reads the statement of values in a property submission into one clean row per building. Each row holds the address, the construction and occupancy details, and the values to insure. Carriers, MGAs and broker teams automate it so nobody has to retype the spreadsheet before rating.
What a statement of values is#
A statement of values (SOV) lists the property an insured wants covered, one row per location or building. Each row says where the building is, what it is, how it's built and what it's worth. ACORD publishes a standard form for it, the ACORD 139 Statement / Schedule of Values. The form ends with the insured's signature under a line saying the values and locations are correct to the best of their knowledge.
For the team that receives it, the SOV is the main source of property data in the submission. IRMI describes values as the exposure data an underwriting submission needs so the premium can be calculated. Catastrophe models read the same rows, one location at a time. The SOV travels with the ACORD 140, the property section of the application, and the two should agree.
The columns underwriters rely on#
Every SOV is laid out differently, but the same groups of columns come up again and again. IIABA, the independent agents' association, gives its members a list of what an SOV should hold. It starts with the address and construction type and includes sprinklers and alarms. Underwriters call the building details COPE. The letters stand for construction, occupancy, protection and exposure. The ACORD 140 records the exposure, meaning what stands on each side of the building and how far away.
| Columns | What to extract | What it's used for |
|---|---|---|
| Location | Location and building number, street, city, state, ZIP | Matching the premises on the ACORD 125 and ACORD 140; placing each building for a catastrophe model |
| Occupancy | What the building is used for, with units or tenants | The rating class, and the occupancy code a catastrophe model asks for |
| Construction | ISO construction class 1 to 6, or the sheet's own description | Rating by fire risk, and the model's construction code |
| Age and size | Year built, update years for the roof and systems, stories, square footage | Underwriting guidelines, and the model's fields for year built, stories and floor area |
| Protection | Sprinklers, alarms, public protection class | Fire rating; ISO grades local fire protection from 1 to 10 |
| Values | Building, contents, business income and any other values, plus TIV | The premium base and limits; a catastrophe model keeps building, contents and business income apart |
Two details often cause mistakes. First, the word "masonry" on its own could mean ISO construction class 2 or class 4. ISO numbers its classes from frame (1) to fire resistive (6). Second, catastrophe models share a format for exposure data, the Open Exposure Data (OED) standard. It expects business income as a 12-month figure, kept apart from the building and contents values.
Why SOVs arrive messy#
ACORD's form has columns for values, not for construction or year built. Many SOVs arrive as the broker's or the insured's own spreadsheet instead, and each one follows its own layout. The same field turns up under different names, such as "Bldg Limit", "Building Value" or "RE Value".
A workbook may have several tabs. It may split its header over two merged rows, or put subtotal rows between the locations. The worked example below shows a few more. Construction comes as shorthand, the year built as a decade, and one amount is typed as "4.2M".
A person can still read a sheet like this. A rating tool or catastrophe model can't load the sheet as sent. Those systems need one set of columns, each with one meaning, so every SOV has to be mapped to that set first. That mapping, row by row, is the manual work SOV extraction takes over.
One SOV, four locations#
Quillmere Properties LLC is renewing its commercial property policy from January 1, 2027. Its broker sends an SOV for four buildings in North Carolina. The workbook has a two-row merged header and a subtotal row after location 2. Business income is on a second tab, listed by location number. Construction is written as "Frame", "JM", "Masonry NC" and "Non-comb.", and location 3's building value is typed as "4.2M".
Extraction reads the rows. Then steps your team sets up in the workflow join the two tabs on the location number and drop the subtotal row. They also map each construction entry to its ISO class and turn every amount into a number. These are the location and building columns that come out.
| Loc | Address | Occupancy | Construction | Year built | Sprinklers |
|---|---|---|---|---|---|
| 1 | 1820 Brookline Ave, Raleigh, NC 27604 | Apartments, 36 units | Frame, ISO 1 | 1988 | No |
| 2 | 77 Mercer St, Durham, NC 27701 | Apartments, 24 units | Joisted masonry, ISO 2 | "1970s", flagged | No |
| 3 | 5300 Old Forge Rd, Cary, NC 27513 | Retail strip center | Masonry noncombustible, ISO 4 | 2004 | Yes |
| 4 | 2650 Commerce Park Dr, Garner, NC 27529 | Warehouse | Noncombustible, ISO 3 | 2011 | Yes |
The value columns come next, with the sum of the three values beside the TIV the sheet states.
| Loc | Building | Contents | Business income | Sum | Stated TIV |
|---|---|---|---|---|---|
| 1 | 5,400,000 | 60,000 | 610,000 | 6,070,000 | 6,070,000 |
| 2 | 3,150,000 | 40,000 | 380,000 | 3,570,000 | 3,570,000 |
| 3 | 4,200,000 | 25,000 | 520,000 | 4,745,000 | 4,745,000 |
| 4 | 5,900,000 | 150,000 | 640,000 | 6,690,000 | 6,960,000 |
| Total | 18,650,000 | 275,000 | 2,150,000 | 21,075,000 | 21,345,000 |
The sheet's own total, 21,345,000, equals the four stated TIVs added together, so a quick look at the sheet finds nothing wrong. The checks below find two problems.
Checks on the rows and totals#
Run these as soon as the rows are extracted, before anything goes to rating.
- Each row adds upThe values on the row sum to its stated TIV. If they don't, keep both figures and flag the row.
- The total adds upThe location rows sum to the file's total, with subtotal rows left out. A subtotal counted as a location inflates the TIV.
- Required columns are filledAddress, occupancy, construction, year built and the values. Gaps go back to the broker.
- Amounts are numbersText such as "incl." or "TBD" in a value column gets flagged instead of being read as zero.
- Years are yearsA decade such as "1970s" gets flagged, and so does a year that hasn't happened yet.
- Codes map to your listEach construction and occupancy entry maps to one of your codes. "Masonry" alone could be ISO class 2 or class 4, so it goes to a person.
- No location appears twiceThe same address under two location numbers is a duplicate until someone confirms it isn't.
On the Quillmere file, locations 1 and 3 pass every check. Location 2 gives "1970s" as its year built, which isn't a year. Location 4's three values add up to 6,690,000, but the sheet states a TIV of 6,960,000, with two digits swapped. That puts the stated total 270,000 above the sum of the parts. Both questions go back to the broker as one request, before an underwriter opens the file.
Checks against the ACORD 140 and the application#
A clean SOV can still disagree with the rest of the submission. The ACORD 140 sets the coverage for each premises, with an amount, valuation, coinsurance and deductible for each subject of insurance. The ACORD 125 names the insured and lists the premises. Compare the SOV with both.
| On the SOV | Compared with | A mismatch can mean |
|---|---|---|
| Named insured and effective date | ACORD 125 | An SOV from another account, or last year's file |
| The list of locations | Premises on the ACORD 125 and ACORD 140 | A building bought or sold after the application was drafted |
| Building, contents and business income for each location | Subject of insurance amounts on the ACORD 140 | One document was updated and the other wasn't |
| Valuation basis | Valuation on the ACORD 140, replacement cost or actual cash value | Values stated on a different basis from the coverage requested |
| Construction, year built, stories, area, sprinklers | Building details on the ACORD 140 | One of the two is out of date |
| Business income | ACORD 810, the business income supplement to the ACORD 140, where attached | The figure was changed on one form and not the other |
In the Quillmere file, the named insured and the dates match the ACORD 125, which lists all four locations. Locations 1 to 3 match their ACORD 140 premises blocks, and every amount agrees. Location 4, the Garner warehouse, has no premises block on the ACORD 140. So the broker gets a third question, asking where the warehouse's ACORD 140 page is.
Our take. Judge an SOV tool by what it catches across the whole submission, not by how well it reads one spreadsheet. A tool could read all four Quillmere rows without an error. It could still mark the file ready, even though the warehouse has no ACORD 140 page. The checks between the SOV and the application decide whether an underwriter can quote, so test them with whole submissions rather than single SOVs.
How to automate SOV intake#
- SOV spreadsheet
- ACORD 140
- ACORD 125
- 01Extract and map the rows
- 02Check rows and totals
- 03Check against the application
- 04Send exceptions to a person
Docsumo is an intelligent document processing platform, and it extracts SOV spreadsheets for commercial property submissions. It also reads the rest of the submission, such as the ACORD forms and loss runs. On the Business plan, it classifies and splits those documents. Our guide to insurance submission intake shows those steps for a whole emailed submission.
Row checks, such as the TIV sum and the four-digit year, are steps you set up in the workflow. A step can call an LLM (a large language model) or run your own Python code. A step like this can also map "JM" or "Masonry NC" to your construction codes. On the Enterprise plan, cross-document validation can check the SOV against the ACORD 140 and ACORD 125. Confidence thresholds are set per field. Fields below them go to a person for review, and reviewer corrections improve the model.
The rows leave through the API and webhooks or as an Excel export. The Data Table can also collect the rows from many SOVs into one table to filter and export to CSV or Google Sheets. Docsumo doesn't rate the policy or model catastrophe risk. Your own systems do that, with clean rows to start from.
What to bring to an SOV test#
Pick a recent renewal with a long SOV, from the broker whose layout causes your team the most rework. Bring it to a demo with the ACORD 125 and ACORD 140 it came with, so the cross-checks have something to compare. A tidy spreadsheet on its own tells you little. A whole submission shows which mismatches would send your team back to the broker with questions.
Book a demo with a few of your own SOVs and the applications they came with, or start a free trial.
Frequently asked questions#
What is a statement of values in insurance?
A statement of values (SOV) is a schedule of the property an insured wants covered, with one row for each location or building. Each row gives the address, building details such as construction and year built, and the values to insure. Underwriters price the risk from it, and catastrophe models read it location by location.
What is an example of a statement of values?
A small one might list four buildings. Each row has an address, an occupancy, an ISO construction class, a year built and sprinklers. Its values add up to a total insured value (TIV). The worked example shows one as extracted, with two rows that fail a check.
What is TIV on a statement of values?
TIV is total insured value. On an SOV it's the sum of a location's values, usually building, contents and business income. The file's TIV adds up every location. Catastrophe model formats keep the parts apart, with business income as a 12-month figure.
How is an SOV different from the ACORD 140?
The ACORD 140 is the property section of the commercial application. It sets the amount and terms of cover for each premises. The SOV is the schedule of locations and values behind it, so the two should agree. See the ACORD 140 guide.
Can SOV data be extracted automatically?
Yes. Docsumo extracts SOV spreadsheets for commercial property submissions. Code mapping and row checks are steps you set up in the workflow, and low-confidence fields go to a person. On the Enterprise plan, cross-document validation can check the SOV against the ACORD 140 and ACORD 125. See document AI for insurance.
Sources
- ACORD Forms Index (rev. 9/8/2026)
- ACORD 139 Statement of Values (2015/12 edition, via SLS Insurance)
- ACORD 140 Property Section (2016/03 edition, via BTIS)
- ACORD 125 Commercial Insurance Application (2011/09 edition, via Atlas)
- IRMI: Building construction categories (ISO)
- IRMI: Construction, occupancy, protection, and exposure (COPE)
- IRMI: Values
- Verisk ISO: Public Protection Classification (PPC)
- Oasis LMF and Verisk: Open Exposure Data (OED) standard, input fields
- Independent Insurance Agents & Brokers of America: Helping your clients maintain accurate statements of value
- SortSpoke: SOV standardization (vendor blog)
First published .