Extract utility bills to structured JSON

Utility bills for electric, gas, water, and internet serve as proof of address in KYC, identity confirmation, and lending workflows. Every provider formats bills differently. Sensible converts utility bill data into structured JSON for address verification and compliance.

Why utility bills defeat template-based extraction

Thousands of providers each format bills differently. Mergers and system changes multiply the count.

Provider Format Diversity

Account numbers here. Addresses there. Every electric, gas, water, and telecom provider places fields in different locations. Per-provider configurations handle major utilities; LLM parsing covers the long tail without custom setup.

Multi-Service Bills

Electric, gas, water, sewer: some providers bundle all services on one bill with separate sections. Each service type is identified and its charges, usage, and rate detail extracted individually.

Usage Table and Rate Tier Extraction

Utility bills present usage data with tiered rates, demand charges, and time-of-use breakdowns in tables that vary by provider. Extracting the rate structure alongside consumption data requires understanding each utility's billing format. Sensible parses these tables into structured usage and charge data.

Fields we extract

Address and account fields cover KYC and proof-of-address requirements. Add usage fields as needed.

Account and address

Account holder name, account number, service address, mailing address, utility provider name, bill date, due date

Charges and usage

Current charges, previous balance, payments received, amount due, usage quantity (kWh/therms/gallons), usage period, rate/tariff

Verification fields

Service start date, statement period, provider contact info, meter number, service type (electric/gas/water/internet)


{ /* SenseML: utility bill extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{
// Account holder name
"id": "account_holder",
"description": "account holder, customer name, name on account"
},
{
// Service address (for KYC verification)
"id": "service_address",
"description": "service address, premise address, location address"
},
{
// Amount due
"id": "amount_due",
"description": "amount due, total due, balance due, total amount",
"type": { "id": "currency" }
},
{
// Account number
"id": "account_number",
"description": "account number, account #, customer number"
}
// Additional fields for billing period, usage, previous balance, etc.
]
}
}
]
}
Internet/Cable Bill

Telecom provider bill with service plan, equipment charges, and account details.

Electric Bill

Monthly electric utility bill with usage (kWh), rates, and service address.

Water Bill

Municipal water and sewer bill with consumption, rates, and service period.

Gas Bill

Natural gas utility bill with therms consumed, delivery charges, and account info.

Supported utility types

Sensible processes utility bills from any provider worldwide. The hybrid approach handles format diversity across thousands of providers while deterministic rules enforce the output your KYC or accounting system expects.

By service type

Electric, natural gas, water/sewer, internet/broadband, phone/mobile, cable/satellite, waste/recycling

By provider type

Investor-owned utilities (PG&E, ConEd, Duke Energy), municipal utilities, cooperatives, telecom providers (AT&T, Comcast, Verizon)

Trusted by operations and engineering teams at

Common Questions

Answers about provider support, address verification, and multi-service bill handling.

Can I use Sensible for utility bill verification in KYC?

Yes. Sensible extracts the account holder name, service address, billing date, and provider name from utility bills. These fields support address verification and identity confirmation workflows.

What account details does Sensible extract from utility bills?

Sensible extracts account number, billing period, previous balance, payments received, current charges, and amount due. Usage data (kWh, therms, gallons) is also captured when present.

How does Sensible extract address information from utility bills?

Sensible captures the service address, mailing address, account holder name, and account number. This supports proof-of-address verification in KYC workflows.

Does Sensible handle utility bills from any provider?

Yes. Sensible processes electric, gas, water, internet, and phone bills from any provider. The hybrid extraction approach adapts to each provider's format.

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.