If you run a colocation facility, your billing workflow probably looks something like this:
- A technician walks the floor at the end of the month, reading kWh values from PDU displays or logging into management interfaces one by one
- Those readings get entered into a spreadsheet — manually, often from handwritten notes or screenshots
- Someone applies rate schedules to calculate each customer's charges — different formulas for different customers
- Invoices are generated from a template (Word, Excel, or maybe a basic accounting tool)
- Invoices are emailed to customers individually
- Disputes come in. Resolution begins. Time evaporates.
This process has been the industry standard for decades. Not because it works well, but because nobody built something better for the mid-market. Enterprise DCIM handles monitoring but not billing. Accounting software handles invoicing but not power metering. And so the gap gets filled with spreadsheets and sweat.
This guide walks through each stage of the billing pipeline and shows how to automate it — whether you build the stack yourself or use a purpose-built platform.
Stage 1: Data Collection — Kill the Clipboard
The foundation of billing automation is automated data collection. If your meter data is still being collected by a human, nothing else you automate downstream matters — you're still limited by the accuracy and frequency of manual reads.
How Manual Collection Fails
Manual meter reads have three fundamental problems:
- Frequency — You get one data point per month. That's useless for catching anomalies, validating peaks, or answering customer questions about usage patterns.
- Accuracy — Transcription errors are inevitable when you're copying numbers from 200 PDU displays. A 4 that looks like a 9. A decimal in the wrong place. A PDU that was skipped because the tech got pulled for an emergency.
- Timing — Manual reads never happen at exactly the same time. If you read half the floor Monday morning and the other half Tuesday afternoon, your billing periods are inconsistent across customers.
The Automation Stack: SNMP Polling
Every major PDU manufacturer supports SNMP (Simple Network Management Protocol) for remote data collection. ServerTech, Raritan, APC, Eaton, CyberPower — they all expose power metrics (voltage, current, power, energy) via SNMP OIDs.
An automated collection system polls each PDU at regular intervals — typically every 5-15 minutes — and stores the data in a time-series database. This gives you:
- Continuous monitoring — not a single monthly snapshot but thousands of data points per PDU per month
- Consistent timestamps — every reading is at a known, precise time
- Zero transcription errors — data flows from PDU to database without human hands touching it
- Anomaly detection — you can spot unusual consumption patterns in real time, not a month later
SNMP v2c is simpler to configure but sends community strings in plaintext — acceptable on isolated management networks. SNMP v3 adds authentication and encryption, which is required if your PDU management traffic traverses shared infrastructure. If you're setting this up from scratch, go with v3. The extra configuration time is worth the security.
For facilities that have PDUs with only local displays and no network connectivity, the upgrade path is straightforward: add smart PDUs or inline power meters that support SNMP. The cost per unit ($200-$800 depending on features) pays for itself within a few billing cycles through accuracy improvements alone.
Stage 2: Usage Aggregation — From Raw Data to Billable Units
Raw SNMP data is great for monitoring, but you can't bill a customer based on 5-minute power readings. You need to aggregate that data into billable units.
kWh Calculation
The most common billing unit is kilowatt-hours (kWh) — the amount of energy consumed over time. If your PDU reports energy directly (a cumulative kWh counter), aggregation is straightforward: take the difference between the start-of-period and end-of-period readings.
If your PDU only reports instantaneous power (kW), you need to integrate over time. With 5-minute polling intervals, the calculation is:
kWh = Σ (kW_reading × interval_hours)
= Σ (kW_reading × 5/60)
= Σ (kW_reading × 0.0833)
Sum that across all intervals in the billing period, and you have total consumption.
Demand (Peak) Calculation
Some contracts bill on demand — the highest power draw during the billing period, not total consumption. This is common in wholesale and high-density deployments. To calculate demand, you track the rolling maximum kW reading (or the rolling 15-minute average, depending on the contract) and bill based on that peak.
Power Factor Handling
Power factor (PF) is the ratio of real power (kW) to apparent power (kVA). A perfect power factor is 1.0. Most IT loads run between 0.90 and 0.99. Some contracts include power factor penalties — if a customer's PF drops below a threshold (typically 0.90 or 0.95), they're charged for the apparent power instead of real power, or they pay a penalty multiplier.
Automating PF calculations requires PDUs that report both kW and kVA (or voltage and current and phase angle). Most modern intelligent PDUs do. The billing system calculates PF per interval, flags any periods below threshold, and applies the contractual adjustment automatically.
Multi-PDU Aggregation
A single customer cabinet often has two redundant PDUs (A+B feeds). The total cabinet consumption is the sum of both PDUs. Some facilities bill per PDU; others bill per cabinet. Some bill per customer across all their cabinets. Your aggregation system needs to handle all of these models, mapping PDU → Cabinet → Customer correctly.
Getting this mapping wrong is one of the most common sources of billing errors — and one of the first things that breaks in a spreadsheet when someone moves equipment or repatches circuits.
Stage 3: Rate Application — The Logic Layer
This is where automation truly shines, because rate application is where spreadsheets most commonly fail. The billing system takes aggregated usage data and applies the correct rate schedule for each customer.
Common Rate Models
| Model | Calculation | Automation Requirement |
|---|---|---|
| Flat Rate | Fixed $/month | Minimal — just a static charge |
| Simple Metered | kWh × rate | Aggregate kWh, multiply |
| Tiered Metered | First X kWh at $A, next Y at $B, etc. | Tier boundary tracking |
| Committed + Overage | Fixed charge for committed kW + overage $/kWh above | Peak or average tracking + comparison |
| Demand + Energy | Peak kW × demand rate + kWh × energy rate | Dual metric tracking |
| Blended/Hybrid | Some cabinets on one model, others on another | Per-cabinet rate assignment |
An automated rate engine handles all of these as configuration, not code. You define the rate schedule once, assign it to a customer (or specific cabinets within a customer), and the system applies it correctly every cycle. Contract changes mean updating a configuration record, not editing a formula chain.
Pro-Rating and Mid-Cycle Changes
Customers install mid-month. Contracts get renegotiated effective the 15th. New cabinets come online on the 20th. A good billing system handles pro-rating automatically: it knows when a rate schedule was assigned, when it was changed, and applies the correct rate to the correct time period.
In a spreadsheet, mid-cycle changes typically get handled by manual adjustments and notes in cell comments. In an automated system, they're just data.
Stage 4: Invoice Generation — Professional and Automatic
The output of the billing process is an invoice that clearly communicates what the customer owes and why. Automated invoice generation should produce:
- Branded documents — your logo, colors, and contact information
- Line-item detail — per-PDU or per-cabinet consumption, rate applied, subtotals
- Usage visualization — consumption charts or graphs that help customers understand their usage patterns
- Contract reference — which rate schedule was applied and the contract terms
- Comparison data — current month vs. prior month, so customers can see trends
The invoice should be generated automatically when the billing cycle closes. No manual formatting. No copy-pasting into a Word template. The system takes the calculated charges, applies the invoice template, and produces a PDF (or a web-based invoice in a customer portal).
Stage 5: Delivery and Customer Access
The final step is getting the invoice to the customer. Options range from simple to sophisticated:
- Email delivery — automatic email with PDF attachment on the billing date
- Customer portal — self-service access where customers can view current and historical invoices, download PDFs, and see real-time consumption
- Accounting integration — push invoice data to QuickBooks, Xero, or whatever accounting system your finance team uses
A customer portal is particularly valuable because it eliminates the most common support requests: "can you resend my December invoice?" "What was my consumption in Q3?" "Why is this month higher than last month?" When customers can answer these questions themselves, your ops team gets hours back each month.
The Gap in the Market
Here's something that frustrates every colo operator who's tried to solve this problem: most DCIM tools do monitoring but NOT billing.
You can find plenty of platforms that will poll your PDUs, display beautiful dashboards, send alerts when something exceeds a threshold, and generate capacity reports. But when it comes time to actually bill a customer based on that data, you're back to exporting CSVs and opening Excel.
The monitoring vendors treat billing as "someone else's problem." The accounting vendors have no concept of kWh, PDU mappings, or power factor. And the full-suite enterprise DCIM platforms that do include billing modules charge enterprise prices ($50K-$200K+) that make no sense for a 100-rack facility.
This gap is why so many facilities are stuck on spreadsheets — not because they want to be, but because nobody offered a viable alternative for the mid-market. That's changing. Platforms like PowerPoll are specifically designed to close this gap: monitoring and billing in a single platform, at a price point that makes sense for facilities under 500 racks.
Building It Yourself vs. Buying
If you're technically inclined, you might be tempted to build your own automation stack. It's feasible — here's what you'd need:
| Component | Open Source Options | Effort |
|---|---|---|
| SNMP Polling | LibreNMS, Observium, custom scripts | Days to set up, ongoing maintenance |
| Time-Series DB | InfluxDB, TimescaleDB, Prometheus | Hours to deploy, needs capacity planning |
| Aggregation Logic | Custom code (Python, SQL) | Weeks to build correctly |
| Rate Engine | Custom code | Weeks to months (edge cases are brutal) |
| Invoice Generator | WeasyPrint, custom templates | Days |
| Customer Portal | Custom web app | Months |
Total build time: 3-6 months for a competent developer. Ongoing maintenance: 10-20 hours/month. And you're now maintaining custom software forever.
For most facilities, the build vs. buy calculation favors buying. The developer time alone costs more than years of SaaS subscription. And when something breaks at 2 AM on billing day, you want vendor support, not a Slack message to your one developer who might be on vacation.
Getting Started: A Practical Roadmap
Whether you build or buy, here's a practical sequence for automating your billing:
Document every step of your current billing workflow, every rate schedule in use, every exception and special case. You can't automate what you don't understand. This usually takes a day and reveals at least 2-3 things nobody realized were happening.
Confirm every PDU is on the management network and responding to SNMP queries. Identify any non-smart PDUs that need to be replaced. This is your foundation — if you can't reach the PDUs, nothing else works.
Even before you automate billing, start polling your PDUs and storing the data. Run it for at least one full billing cycle alongside your manual process. Compare the automated reads against your manual reads. Find the discrepancies — and you will find them.
Take your rate schedules out of formula cells and Excel comments and turn them into formal definitions. Document the rate type, tiers, overage terms, PF requirements, and any special conditions for every customer. This step alone often reveals inconsistencies and undocumented arrangements.
Generate invoices from both your old process and the new automated system. Every number should match (or you should understand why they don't). This builds confidence and catches edge cases before they become customer-facing errors.
Make the automated system your source of truth. Retire the spreadsheet. Celebrate by doing something useful with the 30+ hours you just freed up every month.
The Bottom Line
Data center billing automation isn't a nice-to-have — it's an operational necessity once you're past a handful of customers. The manual process doesn't scale, doesn't audit well, doesn't prevent errors, and doesn't respect your team's time.
The technology to automate every step — from PDU to invoice — exists today. The cost is reasonable. The implementation timeline is measured in days or weeks, not months. The only thing standing between you and automated billing is the decision to start.
And honestly, that spreadsheet has had a good run. Let it retire.
See How PowerPoll Automates Data Center Billing
From SNMP polling to one-click invoicing — the complete billing automation stack, purpose-built for colo and DC operators.
Explore PowerPoll →