Energy and utility bill processing for facilities, property and energy brokers: supplier, account number, meter point (MPAN/MPRN in the UK), billing period, consumption, amount due and due date are captured; period end must follow period start.
At a glance
| Region | Global |
| Industry | Public sector & education |
| Document types | Electricity bill, Gas bill, Water bill, Telecoms bill |
| Workflow | Scan → OCR, separation & classification → Classification → Extraction & validation → Index / Validate → PDF generation & export |
| Straight-through processing | Yes — documents that pass every check skip Index / Validate |
| Separation | each file, blank pages |
| Output | searchable PDF with CSV, JSON data |
| Dates read as | dd/MM/yyyy, d/M/yyyy, dd.MM.yyyy |
Use this template
- Go to Batch Setups and choose New Batch Setup.
- Filter by Global or search for "Utility bills", select it and choose Next.
- Name the Batch Setup, choose the export folder and create it.
- Try it with a few of your own documents on the Test tab, adjust fields and rules, then publish it — see Test a Batch Setup and Versions and publishing.
Batch fields
Entered once per batch, for example on the Scan screen.
| Field | Type | Required | Found by | Checks |
|---|---|---|---|---|
| Batch reference | Text | entered by the operator |
Document types and fields
Electricity bill
Recognised by words such as "electricity", "kWh", "MPAN", "unit rate".
| Field | Type | Required | Found by | Checks |
|---|---|---|---|---|
| Supplier | Text | Yes | label "Supplier", "From" | |
| Account number | Text | Yes | label "Account number", "Account no", "Customer number" | |
| Bill / invoice number | Text | label "Bill number", "Invoice number", "Statement number" | ||
| MPAN / meter point | Text | pattern in the text | ||
| Supply address | Text | label "Supply address", "Property address", "Service address" | ||
| Period from | Date | Yes | label "Period from", "Billing period", "From" | |
| Period to | Date | Yes | label "Period to", "To" | |
| Consumption | Number | label "Units used", "Consumption", "kWh" | 0–100000000 | |
| Amount due | Amount | Yes | label "Amount due", "Total due", "Balance to pay" | at least 0 |
| Payment due | Date | label "Payment due", "Due date", "Pay by" |
Gas bill
Recognised by words such as "gas", "MPRN", "cubic", "calorific".
| Field | Type | Required | Found by | Checks |
|---|---|---|---|---|
| Supplier | Text | Yes | label "Supplier", "From" | |
| Account number | Text | Yes | label "Account number", "Account no", "Customer number" | |
| Bill / invoice number | Text | label "Bill number", "Invoice number", "Statement number" | ||
| MPRN / meter point | Text | pattern in the text | ||
| Supply address | Text | label "Supply address", "Property address", "Service address" | ||
| Period from | Date | Yes | label "Period from", "Billing period", "From" | |
| Period to | Date | Yes | label "Period to", "To" | |
| Consumption | Number | label "Units used", "Consumption", "kWh" | 0–100000000 | |
| Amount due | Amount | Yes | label "Amount due", "Total due", "Balance to pay" | at least 0 |
| Payment due | Date | label "Payment due", "Due date", "Pay by" |
Water bill
Recognised by words such as "water", "sewerage", "wastewater".
| Field | Type | Required | Found by | Checks |
|---|---|---|---|---|
| Supplier | Text | Yes | label "Supplier", "From" | |
| Account number | Text | Yes | label "Account number", "Account no", "Customer number" | |
| Bill / invoice number | Text | label "Bill number", "Invoice number", "Statement number" | ||
| Supply number | Text | pattern in the text | ||
| Supply address | Text | label "Supply address", "Property address", "Service address" | ||
| Period from | Date | Yes | label "Period from", "Billing period", "From" | |
| Period to | Date | Yes | label "Period to", "To" | |
| Consumption | Number | label "Units used", "Consumption", "kWh" | 0–100000000 | |
| Amount due | Amount | Yes | label "Amount due", "Total due", "Balance to pay" | at least 0 |
| Payment due | Date | label "Payment due", "Due date", "Pay by" |
Telecoms bill
Recognised by words such as "broadband", "mobile", "line rental", "calls".
| Field | Type | Required | Found by | Checks |
|---|---|---|---|---|
| Supplier | Text | Yes | label "Supplier", "From" | |
| Account number | Text | Yes | label "Account number", "Account no", "Customer number" | |
| Bill / invoice number | Text | label "Bill number", "Invoice number", "Statement number" | ||
| Line / account | Text | pattern in the text | ||
| Supply address | Text | label "Supply address", "Property address", "Service address" | ||
| Period from | Date | Yes | label "Period from", "Billing period", "From" | |
| Period to | Date | Yes | label "Period to", "To" | |
| Consumption | Number | label "Units used", "Consumption", "kWh" | 0–100000000 | |
| Amount due | Amount | Yes | label "Amount due", "Total due", "Balance to pay" | at least 0 |
| Payment due | Date | label "Payment due", "Due date", "Pay by" |
Validation rules
- Billing period runs forwards
- No duplicate bills — checked across the whole batch
See Validation rules to change them or add your own.
Adapt it to your documents
- Add or rename fields and change how they are found: Fields and data extraction, Finders and zones.
- Improve document type recognition: Document classes and classification, Samples and classifier training.
- Send the documents and data to your systems — folders and servers, SharePoint, Google Drive and other cloud drives, S3, document management (FileNet, Alfresco, M-Files, DocuWare), SAP, Dynamics 365, Salesforce, Xero, QuickBooks, SQL, REST or a C# script: Output and export, Cloud and business-system destinations.
- Arrange the data entry screen: Screen designer.