Compliance · built into the engine

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

app.ottomated.io / properties / crystal-gardens / compliance
Florida · regulatory pack applied
The Reserve at Westpark · 91 units · cycle Apr 2026
Recovery cap on water/sewer charges
Fla. Admin. Code 25-9 · vendor cost passthrough only
Honored
Mandatory disclosure language
FL §83.51 · billing-method statement on every invoice
Honored
30-day dispute window after invoice receipt
FL admin rule · resident dispute timeframe
Honored
Convenience-fee cap on card payments
FL state cap · honored at checkout
Honored
4 of 4 rules applied to this cycle Audit log →
FL Pack v3.2 · updated Mar 2026
Cycle ships compliantly

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.

FL
Florida
● Full pack
TX
Texas
● Full pack
IL
Illinois
In progress
GA
Georgia
In progress
NC
N. Carolina
In progress
SC
S. Carolina
On request
AZ
Arizona
On request
CO
Colorado
On request
TN
Tennessee
On request
VA
Virginia
On request
OH
Ohio
On request
50
All states
Talk to us
Full pack — shipped, citable, enforced
In progress — pack being built
On request — rules load without a release

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.

Recovery limits

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
Disclosure

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
Timeframes

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
Method

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.

01
Otto reads the lease

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.

02
Iris proposes the method

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.

03
Current and future leases

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.

app.ottomated.io / properties / the-reserve-at-westpark / leases
Lease review · allocation method
The Reserve at Westpark · 91 units · cycle Apr 2026
31 units · renewed leases SUBMETERED This cycle
60 units · current term RUBS Until renewal
Iris flagged this at setup
31 of 91 units renewed onto submetered leases. The other 60 stay RUBS through their current term. The property is configured RUBS for all 91 — recommend splitting the method so each unit bills on its own lease.
leases scanned · 91 of 91 · 2026-04-02
Apply split Review units Why?

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.

01
At property setup

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.

02
At cycle calculation

Recovery caps applied during allocation, not after. Disclosure language injected into invoice generation. Pre-billing report surfaces compliance flags before approval.

03
On the audit trail

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.

Regulatory updates · SLA

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.

90 days
Standard rule changes — disclosure language updates, format revisions, non-critical compliance changes in any tracked state.
30 days
Critical changes in your operating markets — new caps, new method restrictions, anything that could materially affect a cycle.
7 days
Emergency updates for changes with effective dates inside the standard window — escalated as a priority.

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.