Request a Demo
Domain

Utility Rate & Billing

Support any rate structure a municipality requires for water, sewer, stormwater, and waste services — generate accurate utility bills, manage payments, collections, disconnection/reconnection, and backflow compliance.

≤8 hrs

Batch Bills (50K)

≤200ms

Rate Calc/Acct

≤3s

Bill PDF

<0.1%

Billing Error

Purpose-Built for Canadian Municipalities

Ontario Compliant
MFIPPA Ready
AODA Accessible
Bilingual Support
Canadian Hosted
SOC 2 Aligned

Purpose & Scope

What this module owns

Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.

Owns

10

Delegated to

6

Rate table storage, versioning, effective dating

rate-fee-engine

Consumption data

utility-meter-mgmt

Bill document generation

billing-invoicing

Payment processing, PAD

payment-engine

Collection workflow, disconnection

arrears-collections

Rate tier determination, exemption eligibility

business-rules-engine

These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.

Core Capabilities

What it does

4 capability groups comprising 10 discrete capabilities — each with API surface, business rules, and data ownership.

Configure any rate structure: flat, volumetric, tiered/inclining block, declining block, seasonal, TOU, minimum charge + overage.

Rate Structures

Support flat, volumetric, tiered/inclining block, declining block, seasonal, and time-of-use rate structures.

Effective Dating

Rate schedules with effective dates; rate history maintained; year-over-year comparison for council.

Customer Class

Rates configurable by customer class: residential, commercial, industrial, institutional.

Base charge by meter size plus volumetric consumption charge with tiered rates, seasonal surcharges, and fire protection charges.

Base + Volumetric

Base charge by meter size plus volumetric charge (consumption × applicable rate tier).

Tiered/IBR

Inclining block rates — higher consumption tiers pay increasingly higher rates to encourage conservation.

Seasonal/Irrigation

Seasonal surcharges for summer irrigation; separate irrigation meter rates.

Fire Protection

Fire protection charges based on meter size or sprinkler connection.

Consumption-based sewer charges with 100% water-to-sewer assumption and abatement for non-sewer use.

Consumption-Based

Sewer charge based on metered water consumption (100% water-to-sewer assumption by default).

Sewer Abatement

Abatement process for non-sewer water use (irrigation, manufacturing process water).

Unmetered Flat Rate

Flat rate option for properties without water meters.

Every module owns a single bounded context, exposes stable APIs, and can be composed into any Civic product — that's the architecture that scales.

Krutik Parikh

Creator of Civic

Data Model

Entity Architecture

4 entities with 4 relationships — the authoritative schema for this bounded context.

Entities

Select an entity to explore its fields and relationships

API Surface

Integration Endpoints

11 RESTful endpoints across 7 resource groups — plus 5 domain events for async integration.

|
GET

/api/v1/utility-rates

List rate schedules (filter: service, class)

POST

/api/v1/utility-rates

Create rate schedule

Ecosystem

Products that depend on this module

3 Civic products consume Utility Rate & Billing — making it one of the most critical platform services in the ecosystem.

Technical Specifications

Performance, Compliance & Configuration

Batch Bill Generation (50,000)

Target≤ 8 hours

Rate Calculation Per Account

Target≤ 200 ms

Bill PDF Generation

Target≤ 3 seconds

Billing Error Rate

Target< 0.1%

Data Retention

Target7+ years

FAQ

Frequently Asked Questions

Ready to Integrate

Build on Utility Rate & Billing

Request an architecture brief, integration guide, or live demo environment for your team.