Water Utility
Run a Philippine water district end to end — from the tap on the street to the official receipt at the teller window — without leaving ERPat.
Water Utility turns ERPat into a billing-grade water utility system. It holds the three-layer customer model a district actually needs — the customer, the physical tap, and the billing account that ties them together for one tenure — then walks the month: read the meters, validate what came back, price the consumption against an effective-dated tariff, post the bills, receipt the payments against an auditable OR series, chase what is unpaid, and tell customers when the water is going off.
The module at a glance
Zones, service connections, meters and their installation history, and the billing accounts that sit on top. One account = one connection = one active meter.
Monthly cycles per zone, route books that set the reader's walk order, captured reads with photo evidence, and an exception queue for anything implausible.
Effective-dated tariffs in the LWUA shape, a computed → approved → posted bill run, and a frozen snapshot on every bill so a dispute can be re-derived years later.
Teller cashiering against an official-receipt series, oldest-first allocation across bills, teller batches that close and remit, and an aging report.
Overdue notices, promises to pay that hold the ladder, disconnection and reconnection service orders, and an optional bridge into Field Service.
Zone-targeted advisories, an OTP customer portal, and the offline-capable MyWater progressive web app for bills, consumption history and payment.
The three-layer customer model
Almost every question about this module is answered by knowing which of these three things you are looking at. They are deliberately separate.
core
clients record — the person or businesswu_service_connections — the physical tap at an addresswu_accounts — customer × connection × tenureThe tap is the stable thing: it stays where it is while people move in and out. A change of ownership therefore closes the old billing account and opens a new one on the same connection. It never re-points the old account at a new customer — doing that would silently re-attribute somebody else's arrears, receipts and disconnection history to the new occupant.
One billing month, end to end
-
Open the cycle
A reading cycle covers one zone for one period, with a reading window. Each zone runs its own cycle, so a district can stagger its walks across the month.
-
Read the meters
The reader follows a route book and captures a present register value per account. Anything odd — a huge jump, a drop, a stuck register — raises an exception instead of silently becoming a bill.
-
Validate
A supervisor reviews the queue, approves the good reads, corrects or re-reads the rest, and closes the cycle. Only validated reads can be billed.
-
Compute the bill run
The run prices every validated read against the tariff version in force on that date. It goes draft → computing → computed. Nothing is customer-visible yet.
-
Approve and post
A different person approves, and posting makes the bills real. Approving is a separate permission from computing — that separation is the point.
-
Receipt payments
Tellers receipt against an OR series into a batch; each receipt is allocated oldest bill first. At end of shift the batch closes and is remitted.
-
Chase the rest
Overdue accounts age into bands, take notices, may be granted a promise to pay, and otherwise flow into a disconnection order once the grace period lapses.
Built for a Philippine water district
- LWUA-shaped tariffs. A minimum charge that varies by meter size and covers the first block, then consumption blocks shared across sizes, with one open-ended top block.
- Effective-dated and immutable. A tariff version carries its board-resolution reference and its approving authority. Once approved it can never be edited — a change is a new version with a later effective date.
- COA-auditable receipts. The official-receipt series ships in
manualmode so no unauthorised number can be minted before the district signs off its OR posture. A voided receipt keeps its number; a number is never reissued. - Senior citizen discount (RA 9994). Accounts carry the flag and the OSCA ID; the rate and ceiling are tariff configuration, never a constant in code, because the statutory figures must be verified per district against the current IRR.
- Peso amounts throughout, with money frozen into each bill's snapshot at two decimal places and the exact rounding rule recorded alongside it.
Where to go next
Enable it, grant access, load the sample district, and take your first walk through the screens.
The month, step by step — reading, billing, cashiering and enforcement SOPs.
Settings, permissions, tariffs, numbering, cron jobs and the integration surfaces.
Every screen, table, status, permission and audit event in one place.
What was read out of the live module to write this guide, and what was verified.
Why a bill looks wrong, why a button is missing, and what to do about it.