Water Utility Financial Data Software: O&M Cost per Asset Guide

By Corin Hale on September 2, 2026

water-utility-financial-data-software-o-m-cost-per-asset-guide

Every water and wastewater utility can tell you its total annual O&M budget. Almost none can tell you, on demand, what it actually costs to operate and maintain a single lift station, a specific well, or one mile of distribution main. That gap is not a bookkeeping detail — it is the reason rate cases stall, capital requests get cut, and commissioners ask questions finance teams cannot answer from a spreadsheet. Utilities that can produce O&M cost per asset, per system, and per service population walk into a rate hearing with documented evidence instead of rough estimates. This guide breaks down what that financial discipline actually requires and how a connected CMMS builds it automatically in the background, without a separate reporting project or a dedicated analyst. Sign up free to see your own asset-level cost data start forming from day one.

Water & Wastewater Utilities · Financial Data Software

Stop Guessing What Each Asset Actually Costs to Run

Oxmaint turns routine maintenance and operations activity into structured financial data — O&M cost per asset, per system, and per service population — ready for budgets, audits, and rate cases.

The Real Problem

Your General Ledger Knows the Total. It Doesn't Know the Why.

A finance system can tell a utility that chemical, labor, and contractor spend added up to a certain number last year. It cannot tell anyone which lift station drove that number, whether a specific well's pump has become a chronic cost sink, or how much one neighborhood's aging main network is quietly costing in emergency repairs. That detail lives in work orders, technician hours, and parts consumption — data that sits in a CMMS, not a chart of accounts. Finance teams end up with a single, undifferentiated O&M number every budget cycle, and operations teams end up unable to prove which assets actually deserve the next capital dollar. Both sides are working from the same underlying activity, just recorded in two systems that were never designed to talk to each other.

This is why so many utilities still answer budget and rate questions with judgment calls dressed up as numbers. A superintendent knows, from memory, that a particular lift station has been a headache for years. That instinct is usually correct — but instinct does not hold up when a rate consultant or a commissioner asks for the dollar figure and the timeline behind it. The utilities that win those conversations are the ones that replaced memory with a running ledger of cost tied to each asset, built automatically as work happens rather than reconstructed under deadline pressure.

Spreadsheet Tracking Breaks at Scale
Manually tagging costs to individual assets in a spreadsheet works for a handful of facilities. Past a few hundred assets, allocation becomes a guess, and nobody trusts the resulting numbers enough to defend them in public.
Labor Hours Rarely Get Costed by Asset
Timesheets record hours against a shift or a department, not against the specific pump or main that consumed them. Without that link, labor — often the largest O&M line item — never reaches the asset level at all.
Rate Cases Get Challenged on Evidence
Regulators and rate consultants increasingly ask for cost detail by system and by asset class, not just a total O&M figure. A utility that cannot produce it loses negotiating ground before the hearing even starts.
What This Actually Means

O&M Cost Per Asset Is Simpler Than It Sounds

O&M cost per asset is the sum of every labor hour, part, contractor invoice, and consumable tied to keeping one specific piece of infrastructure running for a period of time — divided against what that asset delivers, whether that is million gallons treated, service connections supported, or linear feet maintained. It is not a new metric utilities have to invent. It is a number that already exists inside every work order; it simply needs a system that rolls it up correctly instead of letting it disappear into a department-level total.

The reason this feels hard in practice is not the math, it's the data capture. A technician who replaces a bearing on a specific blower already knows the parts used and the hours spent — the work order captures both. What usually goes missing is the link back to that exact blower's running cost history, and the discipline to close every job against an asset record instead of a generic maintenance category. Once that link exists, the arithmetic behind cost per asset happens automatically every time a work order closes, with no separate reporting exercise required.

Why This Goes Beyond the Rate Case

The Same Data Answers Four Different Questions

Rate cases are the most visible reason to build asset-level financial data, but they are rarely the only reason a utility needs it. The same underlying numbers answer questions that come up every month, not just once every few years.

Grant and Loan Applications
SRF and WIFIA reviewers increasingly want documented O&M history alongside a capital ask, since it shows the utility understands the true lifecycle cost of what it is requesting funding to replace.
Capital Planning Priorities
An asset that consistently costs more to maintain than its peers is a candidate for replacement long before it fails outright — but only if someone can see that pattern in the numbers.
Audit and Compliance Reviews
State reviewers and independent auditors ask for supporting detail behind O&M figures. A timestamped, asset-linked record answers that request in minutes instead of weeks.
Public Board Communication
A cost-per-customer figure, broken down by system, is far easier for a governing board or the public to understand than a single line item buried in a budget document.
The Three Levels That Matter

From a Single Pump to the Whole Service Area

Financial data only becomes useful when it can move between three levels without anyone re-entering anything. Oxmaint structures cost data so each level rolls up cleanly into the next, and a number pulled for a board meeting always matches the number a technician would find by drilling back down to the original work order.

Level 1 · Per Asset
Labor, parts, and contractor cost attached directly to one pump, valve, blower, or main segment — the base unit every other number is built from. This is where the raw activity happens, and where the biggest gap usually exists today.
Level 2 · Per System
Asset-level costs rolled up by function — lift stations, treatment trains, distribution zones — showing where budget concentrates across an entire process, and letting an operations manager compare one facility against another on equal footing.
Level 3 · Per Service Population
System-level totals divided against the number of accounts or residents served, producing the cost-per-customer figure that rate design, public communication, and board presentations all depend on to explain a proposed increase in plain terms.
See Your Own Numbers, Not a Demo Dataset

Turn This Quarter's Work Orders Into Rate-Case-Ready Financial Data

Oxmaint connects labor time, parts consumption, and contractor invoices to each asset automatically, so the cost roll-up is already built by the time finance needs it.

Spreadsheet vs Connected CMMS

What Changes When Cost Data Is Structured, Not Reconstructed

Most utilities already attempt some version of asset-level cost tracking, usually in a spreadsheet someone maintains alongside their regular job. The table below shows where that approach tends to break down compared to a system where the cost record is a byproduct of doing the work itself, not a separate task layered on top of an already full workload.

Dimension Spreadsheet Tracking Connected CMMS
Labor Cost Capture Estimated after the fact from timesheets Logged against the asset at the moment work is closed
Parts & Inventory Tracked separately from the job that used them Consumed directly from the linked work order
Roll-Up to System Level Manual re-tagging, prone to inconsistent categories Automatic, based on asset hierarchy already in place
Audit Trail Difficult to reconstruct months later Timestamped and attributable to a specific record
Rate Case Readiness A special project every time a filing is due A standing report pulled on demand
What This Changes

The Practical Payoff of Asset-Level Financial Data

None of this is about producing a prettier report. It changes the actual conversations a utility has with its board, its regulators, and its own operations team, replacing recurring arguments about spend with a shared, agreed-upon record everyone can check.

Faster
Rate case preparation once cost data is standing, not rebuilt from scratch each filing cycle
Clearer
Capital priorities, since chronic high-cost assets surface on their own instead of by memory
Defensible
Answers to commissioners and auditors, backed by a timestamped record instead of an estimate
Consistent
Numbers across budgeting, grant applications, and public reporting, all pulled from one source
Where Utilities Get Stuck

Three Habits That Quietly Sink Financial Data Quality

Utilities rarely lack the will to track cost by asset. They lack a workflow that makes it the path of least resistance. These are the habits that most commonly undo an otherwise good asset registry, even at utilities that clearly understand why the data matters.

Closing Work Orders Against a Category, Not an Asset
It is faster in the moment to log a job under "distribution repairs" than to select the exact main segment. That shortcut is what erases the asset-level detail before it ever exists.
Letting the Registry Go Stale
New assets get installed and old ones get retired constantly. If the registry isn't updated alongside physical changes, cost data starts attaching to equipment that no longer matches reality.
Treating Reporting as a Once-a-Year Task
When cost roll-ups only get pulled together right before a filing, small data gaps compound for months before anyone notices. A standing report catches those gaps early instead of at deadline.
Getting Rate-Case Ready

A Realistic Path From Scattered Records to a Defensible Filing

None of this requires a multi-year overhaul. Utilities that make this shift generally move through the same three stages, and each stage produces useful data on its own before the next one begins.

Step 1 · Build the Registry
Every well, pump, tank, and main segment gets logged as an asset with its own record, so cost has somewhere specific to attach to instead of a general department bucket. Utilities typically start with their highest-value or highest-risk assets first.
Step 2 · Connect Labor and Parts
Technicians close work orders against the asset they touched, and parts draw automatically from inventory, so cost accumulates without anyone doing manual data entry after the fact. This is the step that turns a registry into a financial record.
Step 3 · Report on Demand
Cost per asset rolls up to system and service-population views automatically, so a filing deadline becomes a report pull instead of a weeks-long reconstruction project, and finance and operations are finally looking at the same numbers.
FAQ

Water Utility Financial Data Software — Common Questions

Do we need to replace our finance or billing system to get this data?

No. A CMMS sits alongside your existing finance and billing systems rather than replacing them, capturing the maintenance-side detail those systems were never built to track. It exports summary figures into your existing budget and finance workflow rather than asking finance staff to learn a new platform. Sign up to see how Oxmaint fits alongside what you already run.

How long does it take before we have usable cost-per-asset data?

Once the asset registry is loaded and technicians start closing work orders against it, cost data begins accumulating immediately rather than after a lengthy setup project. Book a demo to see a realistic timeline for your utility's size.

Can this data actually be used in a rate case filing?

Yes, asset-level and system-level cost data is exactly the kind of evidence rate consultants and commissions ask utilities to produce during a filing. Start a free trial to begin building that evidence base now, ahead of your next filing cycle.

What if our labor hours aren't currently tracked by asset at all?

That is the normal starting point for most utilities, and the fix is procedural, not technical — technicians simply close each work order against the specific asset instead of a general department code. Once that habit is in place, labor cost begins flowing to the asset level automatically, with no retroactive cleanup required. Book a demo to see how that workflow looks in practice.

Does this work for a small utility with a limited maintenance team?

Yes, the same asset-to-cost structure applies whether a utility has five staff or five hundred, since the value comes from consistent data capture rather than headcount. Sign up to start with the assets that matter most to your budget first.

Build the Evidence Base Before You Need It

The Next Rate Case Will Ask for Cost Detail You Can't Produce From a Spreadsheet.

Oxmaint turns everyday maintenance activity into standing O&M cost data — per asset, per system, per service population — so it's ready whenever finance, auditors, or commissioners ask. The utilities that walk into a rate hearing prepared are the ones that started building this record before the filing was due, not after.


Share This Story, Choose Your Platform!