Skip to content

Bill Tracking

MeterBase tracks utility bills for every property in your portfolio. Upload bills as PDFs for AI-powered analysis, or enter them manually. This guide covers both workflows.


Uploading Bills

Single Bill Upload

  1. Navigate to the property detail page
  2. Click Upload Bill
  3. Drag and drop a PDF or click to browse
  4. MeterBase's AI analyzes the bill and extracts all data automatically
  5. Review the extracted data and click Confirm
curl -X POST https://api.meterbase.io/api/bills/upload \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@utility-bill-june-2026.pdf" \
  -F "property_id=1"

Bulk Upload

Upload multiple bills at once for the same property or across properties:

  1. Navigate to Bills > Bulk Upload
  2. Drag and drop up to 50 PDF files
  3. MeterBase processes each bill asynchronously
  4. Review results on the bulk upload status page
curl -X POST https://api.meterbase.io/api/bills/bulk-upload \
  -H "Authorization: Bearer $TOKEN" \
  -F "files=@bill-jan.pdf" \
  -F "files=@bill-feb.pdf" \
  -F "files=@bill-mar.pdf" \
  -F "property_id=1"

File Requirements

  • Format: PDF only
  • Maximum size: 25 MB per file
  • Best results with utility-generated PDFs (not scanned images)
  • Scanned bills work but with lower extraction accuracy

AI Bill Analysis

When you upload a PDF, MeterBase's AI engine (powered by Anthropic Claude) extracts structured data from the bill. Here is what it captures:

Extracted Fields

Category Fields
Billing Period Start date, end date, service days
Account Info Account number, meter number, service address
Usage Total kWh, peak kWh, off-peak kWh, demand kW
Charges Energy charges, demand charges, fixed/customer charges, taxes, riders, surcharges
Rate Info Rate schedule name, utility name
Totals Total amount due, previous balance, payments received

Charge Categorization

MeterBase categorizes every line item into one of these types:

Type Description Example
energy Per-kWh energy charges "Generation Charge: 5,000 kWh x $0.08"
demand Per-kW demand charges "Demand Charge: 45 kW x $12.50"
fixed Monthly fixed fees "Customer Charge: $150.00"
tax Taxes and government fees "State Sales Tax: $42.18"
rider Surcharges and adjustments "Fuel Cost Adjustment: $0.012/kWh"
credit Credits and refunds "Solar Net Metering Credit: -$125.00"

AI Insights

Beyond extraction, the AI generates contextual insights:

  • Anomaly detection -- Flags bills that are significantly higher or lower than historical averages
  • Cost drivers -- Identifies the largest charge components and what is driving costs
  • Rate recommendations -- Suggests if a different rate schedule might be cheaper based on the usage pattern
  • Seasonal patterns -- Notes seasonal trends after 3+ months of data

Example insight output:

- Total cost increased 18% month-over-month, primarily due to a 22% increase
  in demand charges. Peak demand reached 67 kW vs. 55 kW last month.
- This property's load factor is 0.42, which is below average for multifamily.
  A demand-based rate may not be optimal.
- Consider TOU-GS-1 which has no demand charge for accounts under 75 kW.

Auto-Fill Property Data

When you upload a bill for a new property (or one with minimal data), MeterBase can auto-fill property fields from the bill:

  • Utility -- Detected from the bill header
  • Rate schedule -- Extracted from the bill's rate designation
  • Service address -- Parsed from the bill

Review Auto-Filled Data

Auto-fill suggestions are shown for your review before saving. Always verify that the detected utility and rate schedule are correct.


Manual Bill Entry

If you do not have a PDF or prefer to enter data manually:

  1. Navigate to the property detail page
  2. Click Add Bill > Manual Entry
  3. Enter the billing period, total amount, usage (kWh), and optionally individual charges
  4. Click Save
curl -X POST https://api.meterbase.io/api/bills \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "property_id": 1,
    "period_start": "2026-06-01",
    "period_end": "2026-06-30",
    "total_amount": 4827.53,
    "total_kwh": 38200,
    "peak_demand_kw": 67.5,
    "rate_schedule": "TOU-GS-2-B",
    "charges": [
      {"type": "energy", "description": "On-Peak Energy", "amount": 2145.20},
      {"type": "energy", "description": "Off-Peak Energy", "amount": 1562.33},
      {"type": "demand", "description": "Demand Charge", "amount": 820.00},
      {"type": "fixed", "description": "Customer Charge", "amount": 300.00}
    ]
  }'

The property detail page includes a Bill History section that shows:

  • Timeline view -- Monthly bars showing total cost over time
  • Usage chart -- kWh consumption trend with seasonal overlay
  • Cost breakdown -- Stacked chart showing energy vs. demand vs. fixed costs
  • Table view -- Sortable list of all bills with key metrics

Key Metrics Tracked

Metric Description
Total cost Bill total amount
Cost per unit Total cost / number of units
Cost per sqft Total cost / square footage
Cost per kWh Average blended rate
kWh per unit Usage per dwelling unit
Demand (kW) Peak demand reading
Load factor Average demand / peak demand

Monthly Cost Tracking

MeterBase aggregates bill data at the portfolio level to show:

  • Monthly portfolio cost -- Sum of all property bills for each month
  • Year-over-year comparison -- Same-month comparison against prior year
  • Budget variance -- Actual vs. budgeted cost (if budgets are configured)
  • Cost per unit trend -- Portfolio average cost per unit over time
gantt title Bill Tracking Timeline dateFormat YYYY-MM section Property A Jan Bill :done, 2026-01, 30d Feb Bill :done, 2026-02, 28d Mar Bill :done, 2026-03, 30d section Property B Jan Bill :done, 2026-01, 30d Feb Bill :done, 2026-02, 28d Mar Bill :active, 2026-03, 30d

Editing and Deleting Bills

Edit a Bill

If the AI extraction missed something or you need to correct a value:

  1. Open the bill from the property's Bill History
  2. Click Edit
  3. Modify any field
  4. Click Save

Delete a Bill

curl -X DELETE https://api.meterbase.io/api/bills/42 \
  -H "Authorization: Bearer $TOKEN"

Deleting Bills

Deleting a bill removes it from all calculations including savings analysis and cost trends. If tenant charges were already calculated from this bill, those charges are not automatically reversed.