NatLabRockies / NatLabRockies/SAM

Issues with net metering with $ credits and rollover

Open
#2,264 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
486
Forks
219
Avg merge
10h 10m
Merged PRs (30d)
2

Description

Describe the bug

While modeling balcony solar project and looking at roll over credit, I ran into what looks like a double-counting bug in Utilityrate5: when ur_nm_credit_rollover=1, the December true-up payout reduces the bill but never clears the underlying banked balance, so the same credit gets re-applied the following year and compounds indefinitely rather than behaving like a clean rolling balance.

Expect this balance to be zeroed out.

Xcel Colorado does have a payout case for the $ credits:

"The option for Customers that are net metered to make a one-time
election to roll over Excess Energy by multiplying the prevailing total energy
rate (base energy rate plus riders assessed on a per-kWh basis) for the same
time period that the Excess Energy was generated (On Peak and Off Peak, as
applicable to customers on time-differentiated rate schedules) to determine a
dollar credit into perpetuity or until such time as the Customers leave their
premises."

To Reproduce

Steps to reproduce the behavior:

  1. Go to the utility rates page (pvwatts residential is a good example)
  2. Click on 'roll over excess compensation to future bills'
  3. Set net metering with $ credits (inputs will be enabled but box will still be checked
  4. Set the sell rate equal to the buy rate
  5. Run the case
  6. Go to the "electricity rate data by year" and go to "net metering credit" and "electricity bill with system"
  7. See that credit is applied in december and rolled over
Expected behavior

Expect with the box checked that the credit will not be cached out in December.

UI adjustments are needed. The UI does not allow for a valid case for Xcel colorado.

Operating System and Version
  • Version 2026.7.3, probably earlier
Additional context

Add any other context about the problem here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the case from the utility rates page using net metering with $ credits, rollover enabled, and equal sell and buy rates. Trace the Utilityrate5 net metering credit and electricity-bill results by year, then verify that the December handling matches the intended rollover behavior and that the UI permits the Xcel Colorado case.

Written by the indexing model from the issue text.

Assessment

Domain
backend, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.