NatLabRockies / NatLabRockies/SAM
Issues with net metering with $ credits and rollover
Nobody has claimed this yet.
- 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:
- Go to the utility rates page (pvwatts residential is a good example)
- Click on 'roll over excess compensation to future bills'
- Set net metering with $ credits (inputs will be enabled but box will still be checked
- Set the sell rate equal to the buy rate
- Run the case
- Go to the "electricity rate data by year" and go to "net metering credit" and "electricity bill with system"
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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