# Utility billing disputes: a system map | SourceX

Canonical: https://refer.sourcex.si/guides/utility-billing-disputes-records-across-systems
Last updated: 2026-10-19

To reconstruct a utility billing dispute across systems, five keys have to survive from meter to correction: the meter ID, the space ID that meter serves, the allocation rule version in force for the period, the lease ID whose clause sets how the space is billed, and the charge ID that ties the tenant's challenge to the approved credit. When the dispute follows physical work, a sixth key matters: the completion date on the maintenance work order. If any join breaks, the case becomes a pile of documents instead of a record of a decision.

This system map is part of the [utility billing disputes guide](/guides/workflow-utility-billing-disputes), which explains the records behind a dispute and works through a shared-meter case. This page has a narrower job: show which system holds each record, which key carries the case across, and what a fully joined case looks like when one of those keys changes mid-period.

## Which systems hold a utility billing dispute

No single system holds the whole case in a typical owner-operator or property manager:

- **Utility billing platform or vendor portal.** Submeter reads, the table that says which meter feeds which suite, and the split rules for shared pools such as common areas.
- **Property ERP.** Leases and lease abstracts, recurring charges, tenant statements and credit memos.
- **Maintenance or work order system.** Meter replacements, new hookups and renovations, with the date the work was completed.
- **Tenant inbox or portal.** The challenge itself, often an email to a property manager or a portal ticket.
- **The general ledger.** Recovery income and credit postings by building. It proves money moved, not why.

The [cross-system data value guide](/guides/cross-system-data-value-ai) explains why the join between these systems, not any single export, is what makes the history useful.

## System map: record, linking key and owner

| System | Record | Linking key it must carry | Usual owner |
|---|---|---|---|
| Utility billing platform | Meter read for a dated billing period | Meter ID, billing period dates | Utility billing analyst or vendor |
| Utility billing platform | Meter-to-space map | Meter ID, space ID | Property accounting, facilities |
| Utility billing platform | Allocation rule, by version | Rule version, effective date | Property accounting |
| Maintenance system | Work order for meter swap or new hookup | Work order completion date, meter ID | Maintenance supervisor |
| Property ERP | Lease abstract and billing clause | Lease ID, space ID | Leasing, property accounting |
| Property ERP | Charge line on tenant statement | Charge ID, space ID, lease ID | Property accounting |
| Tenant inbox or portal | Dispute message or ticket | Charge ID or statement number | Property manager |
| Property ERP | Approved credit memo | Original charge ID, approver, date | Finance director or controller |

## One joined case: the meter swap that broke the chain (Illustrative)

A fictional 220-person commercial landlord bills office tenants for electricity from submeters. All identifiers, dates and people are invented.

| Hop | Record | System | Key carried | State |
|---|---|---|---|---|
| 1 | Work order: submeter E-07 replaced with E-07B on 9 May | Maintenance system | Completion date, both meter IDs | Joined |
| 2 | May read for E-07 ends 9 May; E-07B read starts 10 May | Utility billing platform | Meter ID, period dates | Joined |
| 3 | Meter-to-space map still lists E-07 for suite 410; E-07B unmapped | Utility billing platform | Meter ID to space ID | Broken |
| 4 | Unmapped E-07B usage falls into the building common-area pool | Utility billing platform | Rule version in force | Joined, wrongly |
| 5 | Suite 410 billed for 9 days; neighboring suites pay a share of its usage through the pool | Property ERP | Charge ID, space ID, lease ID | Joined |
| 6 | Neighboring tenant challenges a jump in common-area charges | Tenant inbox | Statement number | Joined |
| 7 | Map corrected effective 10 May; credit memos to pool tenants and a catch-up charge to suite 410, approved by the controller | Property ERP | Original charge IDs, approver, date | Joined |

Two things make this case rebuildable. Hop 1 dates the physical swap, and AppFolio's partner API, to take one property platform as an example, lists a work order status and a CompletedOn timestamp recording when the order changed to completed. Hop 2 shows the old meter's last period and the new meter's first period meeting without a gap. That continuity test is standard practice: ENERGY STAR Portfolio Manager, for one, flags meter entries that overlap or leave more than a one-day gap. When the work order date and the read boundary agree, a reviewer knows the day the map should have changed, and can measure every charge against it.

## Where the joins fail in property portfolios

- **Old rule versions overwritten.** Many platforms keep the current allocation rule. Without the version in force, hop 4 cannot be tested.
- **Work orders without meter IDs.** If maintenance records "replaced submeter, suite 410" without the old and new IDs, hop 1 joins only by address and date.
- **Charges without a source meter.** If ERP charge lines carry the space but not the meter, hop 5 relies on the map being right.
- **Disputes logged to the tenant, not the statement.** Hop 6 then needs a match by month.
- **Credits without the original charge ID.** The correction is visible, but not what it corrected.

## Metadata questions for the finance director

Ask, never export:

1. Which system holds reads and allocation rules, and does it keep old rule versions with effective dates?
2. Do work orders for meter changes record both meter IDs and a completion date?
3. Does each ERP charge line carry the meter or space it came from?
4. Are tenant challenges logged against a statement or charge?
5. How many years back does each of those go, and who owns each system?

For a broader method of testing decision trails, see [how to assess operational decision logs](/guides/how-to-assess-operational-decision-logs).

## What the map does not settle

The map shows whether records join. It does not show who may license them. A company that manages buildings for third-party owners may be a custodian of those owners' books; [who owns property management records](/questions/who-owns-property-management-records) explains why, and the [decision tree on who can license these records](/questions/who-can-license-utility-billing-disputes-records) finds the signer. The [referral brief template](/resources/utility-billing-disputes-referral-brief-template) turns the answers above into an introduction.

The company needs 50+ full-time employees at peak (contractors excluded), a documented operating history, rights to license and an authorized contact. Companies in the U.S., Canada and the EU qualify, as do companies in the UK, Australia, New Zealand, India, Singapore, South Africa, Latin America, the UAE and Saudi Arabia when at least 90% of the data is in English. Unknown until SourceX reviews it: buyer interest, how tenant names and accounts are masked, what management agreements allow, which buildings and years are in scope, and any offer. Partners sign the Channel Partner Agreement before submitting introductions. Utility-side context is on the [energy and utilities page](/industries/energy-and-utilities).

## Next step

> **Refer a company. Earn up to $100,000.** Default reward: 25% of Actual Supplier Payout, capped at $100,000 cumulatively per referred company. Eligibility and payment conditions apply, and a signed Schedule A or addendum can differ. A lead, meeting or signature alone does not trigger payment.

If the finance director confirms that rule versions, meter IDs and charge IDs survive for several years, [register as a partner](/register), check the company against [who qualifies](/who-qualifies) and read the [program terms](/terms) before you make the introduction.

## Sources

- https://www.energystar.gov/buildings/tools-and-resources/how-get-utility-data-portfolio-manager
- https://www.appfolio.com/stack/partners/api
- https://refer.sourcex.si/terms
