Water Utility Overview Public

Water Utility

Overview of the ERPat Water Utility module: how a water district runs meter reading, effective-dated tariff billing, official-receipt cashiering, collections, enforcement, advisories and the MyWater customer app inside ERPat.

Guide version: r1 Module version: 2.0.0 Updated: 2026-08-23 Estimated time: 5 min 7 views 0% helpful

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.

???? 1 sidebar group · 9 screens ☑ 27 database tables ???? 38 permission keys ₱ Philippine-market ready

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.

????
New here? Read Getting Started to switch the module on, grant access and load the sample district. Then follow Daily Operations — it walks one complete billing month in the order your staff will actually do it.

The module at a glance

????
Registry

Zones, service connections, meters and their installation history, and the billing accounts that sit on top. One account = one connection = one active meter.

????
Reading

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.

????
Billing

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.

????
Collections

Teller cashiering against an official-receipt series, oldest-first allocation across bills, teller batches that close and remit, and an aging report.

⚠️
Enforcement

Overdue notices, promises to pay that hold the ladder, disconnection and reconnection service orders, and an optional bridge into Field Service.

????
Customer contact

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.

Customer
core clients record — the person or business
Service connection
wu_service_connections — the physical tap at an address
Billing account
wu_accounts — customer × connection × tenure

The 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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 manual mode 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.
⚠️
The demo tariffs are illustrative. The rates loaded by the demo seeder are made up for the sample district. Replace them with your own board-approved schedule before you bill a real customer — see Administration → Tariffs.

Where to go next

Was this guide helpful?

Report a content problem