Insurance

Extract commission statements to structured JSON

Commission statements detail what an agency or broker earned on each policy. Carrier formats, calculation methods, and reporting periods vary widely. Sensible normalizes commission data into consistent JSON for reconciliation, accounting integration, and producer compensation.

producer payouts | agency reconciliation | revenue reporting

Validated JSON

Schema-enforced output; every field matches your contract

Source coordinates

Every value links back to page + bounding box for audit

Per-document pricing

Predictable cost. No token-volatility surprises

Trusted by teams turning documents into production data

What makes commission statements hard to parse

Commission statements are a reconciliation problem: every carrier formats them differently, splits stack across levels, and chargebacks and adjustments hide inside the totals. We flatten all of it into one schema you can tie back to your book.

01

Carrier Format Inconsistency

Column headers, transaction codes, and calculation methods differ by carrier. One uses 'NB' for new business; another spells it out. Sensible normalizes these variations into a single validated schema.

02

Multi-Level Commission Splits

Agency statements split commissions across producers, sub-agents, and override tiers. MGA reports add contingency bonuses and profit-sharing. Sensible's extraction config captures each tier with its rate, amount, and hierarchy level.

03

Adjustment and Chargeback Nesting

Statements include original commissions, adjustments, chargebacks, and overrides that reference previous transactions. The parent-child relationship between an original commission and its adjustment is implied by position or code, not explicitly structured. Sensible's extraction preserves these relationships so your reconciliation system can trace every adjustment to its source.

Managed services

Don't want to build it? We'll write your configs from your samples.

Solutions engineers handle plan, build, deploy, and adjust on your behalf. You see clean JSON in your API response. Same engine as self-serve, just with the configuration work outsourced.

What's included

01Plan.Engineers review your samples and pick the right method

02Build.SenseML configs written from your samples

03Deploy.Same engine as self-serve, ready for production

04Adjust.We update configs when formats shift or new edge cases appear

05Integrate.Help with custom integration into your downstream systems

Fields we extract

We configure every commission statement extraction to your exact schema, not a fixed field list. The fields below are the ones finance teams pull most often — tell us what your reconciliation workflow needs and we map the rest.

01

Policy detail

Policy number, insured name, effective date, line of business, carrier, premium, transaction type (new/renewal/endorsement/cancellation)

02

Commission calculation

Commission rate, commission amount, override percentage, override amount, contingency bonus, net commission, payment method

03

Statement summary

Statement period, total premium volume, total commission earned, adjustments, prior balance, amount due, payment date

config.json

SenseML

{ /* SenseML: commission statement extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "policy_number", "description": "policy number, policy #" },
{ "id": "commission_rate", "description": "commission rate, commission %, rate" },
{ "id": "commission_amount", "description": "commission amount, commission earned, commission" },
{ "id": "transaction_type", "description": "transaction type, trans type, NB, RN, CN" }
// + more fields, mapped to your schema
]
}
}
]
}

Supported commission formats

Sensible processes commission statements from any carrier, MGA, or wholesale broker. New formats can be mapped to your reconciliation schema using SenseML's hybrid extraction approach.

By source

Direct carrier statements, MGA commission reports, wholesaler statements, program administrator reports

By detail level

Summary statements, policy-level detail, transaction-level detail, producer hierarchy reports

Common Questions

Answers about commission reconciliation, carrier formats, and split tracking.

What commission data does Sensible extract?

By default Sensible pulls policy number, insured name, premium, commission rate, commission amount, effective date, transaction type, and payment details per line item. Carrier statements vary in what they report, so the field set is configuration you control, extended or trimmed to match the data each statement carries.

Does Sensible handle commission statements from different carriers?

Yes. Carrier commission statements vary in format and detail level. Sensible extracts commission data from any carrier format into a consistent output schema.

Can Sensible handle producer hierarchies in commission statements?

Yes. Sensible extracts agent, sub-producer, and override commission splits. MGA statements with multiple commission tiers are parsed into nested structures.

Do you support webhooks?

Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.

Does Sensible support human review?

Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.

What security certifications does Sensible have?

Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.

How long is document data retained?

Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.

Is there a free trial?

Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.

How is pricing structured?

Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.

How do I integrate with Sensible?

Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.

What file formats does Sensible support?

Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.

How accurate is the extraction?

Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.

How fast is document processing?

Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.

Start free

Turn your next commission statement into JSON.

Free 14-day trial. No credit card required. Start extracting in minutes.