Utility Bill Validation: Every Bill Checked Against Tariff, Meter and Period Days
Each utility bill is checked against the site register, the tariff in force on each day and any meter swap. Agents do the arithmetic and draft the replies in one Kylon room, and the utilities lead approves every disposition and every message.
Bills that look right until the meter changes or the tariff moves
Validating a utility bill means checking it against what the site should owe. The account and meter on the bill have to match the site register, the rates have to match the tariff in force on each day of the billing period, and a meter replaced mid-period has to be billed in two parts, the old meter up to the swap and the new meter after it. A bill that passes is approved for payment. One that does not is disputed with the utility or held for a site to confirm.
Bills arrive as PDFs in Box, the site register and tariff table live in Airtable, and utilities answer disputes by email to the team's Outlook mailbox. Site managers confirm meter swaps and closures by email or in Slack. When a tariff changes in the middle of a period, someone splits the charge by days in a spreadsheet, and that arithmetic is where disputes tend to go wrong.
Who works in the room
People
Utilities lead
Approves every disposition and dispute, sends replies to utilities and signs each period
Site managers
Confirm meter swaps, occupancy and site closures
Accounts payable
Pays the bills the lead has approved and records refunds as they arrive
Agents

AdaBill validator
Reads each bill in Box, checks it against the site register and tariff, applies meter changeover and day-count splits, and proposes a disposition
Airtable
Box
Google Drive
NovaUtility and site correspondence
Reads utility replies in Outlook, drafts disputes and confirmations for the lead to send, and brings site updates in from Slack
Bill questions go to Ada, the utilities room's default agent. Replies from utilities go to Nova instead, because Nova is the only agent with a grant to the utilities mailbox in Outlook, which the utilities lead approved for it. Nova brings each reply into the thread for Ada to re-run and, once the lead approves the result, drafts the one answer that thread needs. An automation opens the month's validation thread on the third business day.
From pending bill to closed period
The validation rules and the meter changeover procedure are in Drive and in the room guidelines. No bill is approved, disputed or closed without the utilities lead.
- Agent works
- Person decides
- Arrives or gets recorded
flowchart TD
bill([A bill lands in Box])
site([Site managers report meter<br>swaps and closures])
check["<b>Ada</b> checks it against the site register,<br>each day's tariff and any meter swap"]
dispute["<b>Nova</b> drafts a dispute on<br>the account's Outlook thread"]
send["<b>Utilities lead</b> sends it"]
reply([The utility replies])
rerun["<b>Ada</b> re-runs only the bills<br>the reply changes"]
approve["<b>Utilities lead</b> approves<br>the disposition"]
paid([Airtable updated, accounts payable pays])
close["<b>Ada</b> writes one close-out row per site"]
sign["<b>Utilities lead</b> signs the period"]
bill --> check
site -.- check
check -->|passes| approve
check -->|fails| dispute
dispute --> send --> reply --> rerun --> approve
approve --> paid --> close --> sign
class check,dispute,rerun,close agent
class send,approve,sign person
class bill,site,reply,paid event
classDef agent fill:#FFFFFF,stroke:#DCD3C8,color:#1B1712
classDef person fill:#EEF0E3,stroke:#6E7447,color:#1B1712
classDef event fill:#F4ECDD,stroke:#F4ECDD,color:#564C42| Stage | What happens | Who acts | Who decides |
|---|---|---|---|
| Validation | Each pending bill is checked against the site register and tariff, with meter changeovers split at the swap date | Ada, from Box bills and Airtable | The utilities lead approves before Airtable changes |
| Disputes | Bills that fail go to the utility, one thread per account | Nova | The lead sends each dispute |
| Utility replies | A reply re-runs only the bills it changes and confirms the others by number | Ada, then Nova | The lead approves and sends the answer |
| Tariff change | A rate change mid-period is split by days, the old rate before the change and the new rate from it | Ada | The lead approves the recomputed amounts |
| Refunds and carry-forward | A refund at a closed site is recorded without changing the bill's disposition, and open amounts carry to the next period | Ada | The lead approves each entry |
| Close-out | One close-out row per site is written from the current records | Ada | The lead approves the rows and signs the period |
When a utility answers, a tariff moves or a site closes
A utility's reply often covers more than it changes. One answer confirms two disputed bills by number but carries new figures for only one. Ada re-runs that one bill, records the other as confirmed with no change, and Nova drafts a single reply on that thread naming both. A second reply on the same thread, or a reply on another account's thread, is something the lead would have to walk back.
A tariff change effective on the 18th of a 30-day period means 17 days at the old rate and 13 at the new one. Ada shows the split in the thread, day counts and rates side by side, before proposing an amount. A refund on a site that closed last quarter is a different kind of change: it is recorded as a refund against the bill, and the bill's disposition stays exactly as it was.
What the checks catch
- A tariff change applied to the whole period instead of split by days
- A meter changeover billed as one meter, so the old meter's final read is charged twice or not at all
- A refund at a closed site that also changed the bill's disposition
- A utility reply that names two bills but changes one, treated as if both had new figures
- A second reply on a thread that already has its answer
What stays with people
- Approving every disposition before Airtable changes and before a bill goes to payment
- Sending every dispute and reply, which Nova prepares as a draft in Outlook or Gmail
- Deciding whether to accept a utility's explanation or press the dispute
- Signing each site's close-out row for the period
Integrations in this workflow
Kylon is not a utility bill management service and does not replace one. It works across the tools the utilities team already has and keeps the coordination between them in one room.
- Airtable holds the site register, the tariff table, each bill's disposition and the close-out rows
- Box holds the utility bills as they were received
- Outlook is the utilities mailbox where disputes go out and replies come back
- Gmail carries confirmations to site managers, each one a draft the lead sends
- Google Drive keeps the validation rules, the meter changeover procedure and tariff notices
- Slack is where site managers outside the room report meter swaps and closures
Where to start
Pick a single utility and one billing month. Connect the Airtable base with your site register and tariffs and point the room at the Box folder where bills arrive. The room guidelines need one rule to begin with: an agent may compute and propose, and the utilities lead approves every disposition before it is written.
“The split is shown in days and rates, so anyone can check it in the thread.”
Set it up with your agent
Open a new Room, add your agent and paste this prompt. It connects the tools, builds the App with you and asks for your rules one step at a time, and nothing goes out until a person approves it.
Set up our utility bill validation desk in this Room. Take it one step at a time and wait for my OK before you move on. 1. Connect Airtable, Box, Gmail, Google Drive, Outlook and Slack. Tell me which ones still need connecting. 2. Ask me who works this desk: the utilities lead, the site managers and the accounts payable person. Help me invite them to this Room. 3. Build a Utility Bills App with Bill, Site, Amount and Status, one record per bill. Fill it from the bills in our Box folder. 4. Check each bill against the site register and tariff in Airtable. Split any meter changeover at the swap date and split any tariff change by days. Propose a disposition for every bill and show me the ones that fail our checks. 5. Draft disputes to utilities as one thread per account, and draft confirmations to site managers in Gmail. Hold every draft until the utilities lead sends it. Write nothing to Airtable until the lead approves each disposition. 6. Write our validation rules, the meter changeover procedure and who approves what into this Room's guideline, so every bill follows the same order. 7. After one clean month, offer to turn the opening thread cadence we set into an Automation. Before you start, ask me for our rules one at a time.
Your first company harness. Where humans and agents run your business together.
More Use Cases
View allFacilities Work Orders: A Dispatch Week With No Stale Visits or Double-Booked Slots
Every open work order gets a vendor, a slot and a calendar visit, and keeps them right through field reports, cancellations, re-triage and Friday intake. Agents work ClickUp, Attio and the vendor calendar, and the coordinator approves each visit.
Property Tax Appeals: The Right Parcels Filed Within Each County's Capacity
Parcel triage, filing allocation, manifest review, comparable corrections and appeal letters run through one Kylon room. Agents compute each county's median and check every filing against Airtable, and the tax manager approves each change and each letter.





