What Should Automated Utility Bill Fetch Actually Capture?

Automated utility bill fetch should capture every line item on the bill, not just the PDF and the total due. That means usage, demand, rate details, and each individual charge. Deck extracts the full bill, line by line, from each utility provider’s portal and returns it as structured data.
What’s the best way to extract bill data automatically from a utility provider’s website?
Automated utility bill fetch is the scheduled retrieval of every bill, line item, and PDF from each provider’s portal, with no manual logins. The best approach captures structured line items, not just a document and a total.
Deck is a computer use agent platform that automates workflows by operating any web interface directly, so the target system never has to expose an API for it to work. Most utility providers offer business customers no billing API, so Deck operates the portal the way an analyst would.
- Connect accounts: add each provider login once, stored in Deck Vault instead of a shared spreadsheet.
- Tag every account: in your own system, map each account and meter to its location, cost center, and commodity.
- Schedule it: a Deck trigger runs the fetch on a cron schedule across every connected account, handling login and MFA.
- Extract into one schema: Deck returns usage, billing period, amount due, due date, and line items as JSON matching the task’s output schema.
- Route the data: push the JSON into the ERP, accounting system, or energy dashboard the business already uses.
Deck is set up in hours, not over a multi-month integration project.
Why isn’t the bill total enough?
The total tells you what to pay. It does not tell you why it changed, whether it is correct, or what to fix.
The scale of the problem is large. The U.S. Energy Information Administration’s most recent Commercial Buildings Energy Consumption Survey, based on 2018 data, estimated 5.9 million commercial buildings in the United States (EIA CBECS). Each one generates its own stream of electric, gas, and water bills, and each bill carries detail a total throws away.
- Demand charges: commercial electric bills often price peak kW separately from kWh consumed, and the peak can drive a large share of cost.
- Multiple meters: one location can run separate meters for a building, a parking lot, and an annex, each on its own account number.
- Rate schedules: time-of-use and seasonal tariffs add line items that a generic invoice parser misreads.
- PDF-only detail: many providers show a summary on screen and keep the breakdown inside a downloadable PDF.
A fetch process that keeps only the total leaves the most useful data on the provider’s website. Deck extracts the line items, not just the total.
How do the common approaches compare?
Each common approach covers part of the problem. None of them captures full line-item data across dozens of providers on its own.
Manual retrieval works for a handful of accounts. Past that, it turns into a part-time job, and the person doing it rarely has time to key in anything beyond the total. A Deck trigger runs the same task on a schedule across every connected account. It can skip accounts whose bill was already fetched in the current window.
Green Button Connect gives standardized usage data where a utility supports it. Coverage stops at the utilities that chose to implement it, and the feed does not cover billing status. Deck works at the portal level, so it reaches providers that never adopted Green Button and returns billing fields alongside usage.
RPA tools such as UiPath record a login and download sequence and replay it. The recording breaks when a provider redesigns its portal or adds an MFA prompt, and utility portals change often. Deck’s agents read the page visually rather than matching a fixed selector. After a redesign, the agent relearns the task instead of a developer re-recording a bot.
Custom Playwright or Selenium scripts give an engineering team full control. They also make that team responsible for every provider’s login flow, session handling, and PDF parsing indefinitely. Deck takes that maintenance off the engineering roadmap and returns the same schema for every provider.
Which fields belong in a utility bill schema?
A consistent schema turns bills from 40 different providers into one comparable dataset. Think of it like a standard shipping label: every carrier is different, and the address still sits in the same box.
A workable schema usually includes:
- Account identifiers: provider account number, meter ID, and service address
- Location mapping: site code, cost center, and commodity type
- Service period: start date, end date, and billing days
- Consumption: kWh, therms, or gallons, with on-peak and off-peak splits where present
- Demand: peak kW and the demand charge amount
- Charges: supply, delivery, taxes, riders, and total due
- Source document: a link to the archived bill PDF
Every successful Deck run returns JSON that matches the task’s output schema. An optional field the bill doesn’t contain comes back null instead of invented. A failed run returns an error with a type, code, and message. That same structure is what makes it possible to catch billing errors across hundreds of utility accounts.
Who already runs utility data through Deck?
Smartbills uses Deck to simplify utilities for 375 million users across North America, with real-time data from electricity, gas, and water providers. Deepki, a sustainability platform for real estate, cut new-source onboarding from months to days and outsourced about 300 long-tail data sources to Deck.
In illustrative terms, a retail chain, a property portfolio, and a manufacturer all use line-item data the same way. A facilities team pulls every location’s bills on a fixed day and compares usage and demand across sites. It flags any location that moves outside its normal range. The data arrives in one format, regardless of which provider issued the bill.
FAQs
Does Deck extract line items or just the bill total?
Deck extracts line items. Deck returns usage, billing period, amount due, due date, and individual line items as JSON matching a defined schema. Deck reads the bill whether it arrives as a PDF, an HTML page, or an embedded table.
How long does it take to set up utility bill fetch with Deck?
Deck is set up in hours. One Deck task returns the same structured output across every provider portal it runs against. Adding a new location does not start a new integration project.
Can Deck fetch bills from utility portals that require MFA?
Yes. Deck generates app-based codes from MFA seeds stored in Deck Vault and reads SMS codes from a connected number. Nobody has to forward a one-time code to keep retrieval running.
Is Deck a replacement for UiPath in utility bill retrieval?
For utility portals, yes. Traditional UiPath bots rely on recorded selectors that break when a provider changes its portal. Deck’s agents read each page visually rather than matching a fixed selector, and return JSON matching a defined schema.
Does Deck work alongside Green Button data?
Yes. Deck and Green Button Connect work together: a team uses Green Button where a utility supports it and Deck for every provider that doesn’t. Deck also returns billing amounts, due dates, and account status straight from the provider portal.
Ready to get started?
See how Deck can connect your product to any system — no APIs needed.
Build my Agent →