State rules, honored in the math.
Recovery caps, disclosure language, billing format requirements, dispute timeframes — every state regulates utility billing differently, and every lease sets its own terms on top. Otto turns both into allocation-engine logic, so the cycle ships compliantly without operators memorizing the statutes or re-reading the leases.
Built for all 50 states · state rules + lease terms · enforced at calculation time
Built for all 50 states.
The allocation engine doesn't hard-code a jurisdiction. Rules live as data — recovery caps, disclosure language, method allowlists, dispute windows — and Otto loads the right pack from the property's physical address. Adding a state means loading its rules, not shipping a release. Florida and Texas ship with full citable packs today; any other state loads on request.
Four categories of rules. All baked in.
Utility-billing regulation in the US splits into four broad categories — and most billing software treats them as a documentation problem rather than an engine problem. Otto treats them as engine problems.
What you can and can't recover
Most states cap utility billing recovery at vendor cost or vendor cost plus a defined admin fee. Otto enforces the cap inside the allocation engine — operators can't accidentally over-recover, and the math behind every charge is auditable.
- FL — pure vendor passthrough, no markup
- TX — admin fee allowed within rule-defined limits
- State-specific cap enforcement at calculation time
What residents must be told
Almost every state mandates specific language on resident invoices — the allocation method, recovery basis, dispute window, contact information. Otto generates state-correct disclosure language on every invoice, configurable per-property where the law allows.
- State-mandated billing-method statements
- Per-property override for additional disclosures
- Single-page compliant invoice format
Disputes and deadlines
States define how many days residents have to dispute a charge, how quickly operators must respond, and when a dispute can convert into a billing adjustment. Otto's dispute workflow honors those windows automatically.
- State dispute-window enforcement at intake
- Operator-response SLA per regulation
- Automatic escalation when timeframes lapse
Allocation method requirements
Some states restrict which allocation methods can be used, when, and on what utilities. Otto's engine knows — RUBS allowed for water in FL but with caps; specific submeter rules in TX; method-disclosure rules everywhere. The wrong method literally can't be selected for a non-conforming property.
- Method allowlist per state and utility
- Combo-weighting and CAD rules where applicable
- Pre-cycle compliance check before approval
The statute isn't the only rulebook. The lease is the other one.
State law sets the ceiling on what you can charge. The lease sets what you actually agreed to charge — and a lease can only narrow what the statute allows, never widen it. Otto reads both and applies whichever is stricter.
The same OCR that reads a JEA bill reads the lease. Utility clauses, allocation method, admin fees, caps, which utilities the resident is responsible for — extracted per unit, because leases don't agree with each other.
Based on what the lease says, checked against what the state permits. If the lease specifies submetered and the property is configured RUBS, Iris raises it at setup — not after a cycle ships.
Allocation method usually can't change mid-lease — only at renewal. Iris reads current terms and renewals together, bills each unit on the lease it's actually under, and tells you which units convert and when.
Three places compliance lives in Otto.
Compliance isn't a checkbox at the end of a cycle. It runs through three layers — when properties are configured, while cycles are calculated, and on the audit trail every charge leaves behind.
State pack auto-applies based on property location, and Iris proposes the method each unit's lease permits. Allocation methods that aren't permitted in your state are greyed out at configuration time — not flagged after a cycle ships.
Recovery caps applied during allocation, not after. Disclosure language injected into invoice generation. Pre-billing report surfaces compliance flags before approval.
Every charge carries the regulatory rule it was calculated against — citation, version, date applied. When a regulator or auditor asks "why this number?", the answer is one click.
When the law changes, Otto changes.
Utility-billing regulations update. New disclosure language, new caps, new methods. Otto commits in writing to a defined timeline for landing those updates — different by severity, faster for changes that affect your operating markets.
Need a state Otto doesn't cover yet?
Tell us about your portfolio. State coverage prioritization is shaped by customer footprint — if your state is the next one we add, you'll be part of how the pack gets built.
State packs are part of Otto Billing — no separate per-unit cost.