From 566c1a892a9f8f89c050b6b52ac5d69ae0de3942 Mon Sep 17 00:00:00 2001 From: Michael Berg Date: Wed, 7 Aug 2024 17:51:43 -0500 Subject: [PATCH] net billing: allow accrued net billing credits to expire at end of true up period, allow application of net billing credit to current month bill before rollover. --- ssc/cmod_utilityrate5.cpp | 1 - ssc/common.cpp | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ssc/cmod_utilityrate5.cpp b/ssc/cmod_utilityrate5.cpp index 3e5cf3fcc..b72204f57 100644 --- a/ssc/cmod_utilityrate5.cpp +++ b/ssc/cmod_utilityrate5.cpp @@ -2587,7 +2587,6 @@ class cm_utilityrate5 : public compute_module monthly_ec_charges[m] -= monthly_cumulative_excess_dollars[m]; payment[c - 1] -= monthly_cumulative_excess_dollars[m]; dollars_applied += monthly_cumulative_excess_dollars[m]; - monthly_cumulative_excess_dollars[m] = 0; } // Rollover credits at end of true-up period are applied after annual minimums below this section diff --git a/ssc/common.cpp b/ssc/common.cpp index cebfc387c..61b51df07 100644 --- a/ssc/common.cpp +++ b/ssc/common.cpp @@ -1021,7 +1021,8 @@ var_info vtab_utility_rate_common[] = { { SSC_INPUT, SSC_NUMBER, "ur_nm_credit_month", "Month of year end payout (true-up)", "mn", "", "Electricity Rates", "?=11", "INTEGER,MIN=0,MAX=11", "SIMULATION_PARAMETER" }, { SSC_INPUT, SSC_NUMBER, "ur_nm_credit_rollover", "Apply net metering true-up credits to future bills", "0/1", "0=disable,1=enable", "Electricity Rates", "?=0", "INTEGER,MIN=0,MAX=1", "SIMULATION_PARAMETER" }, { SSC_INPUT, SSC_NUMBER, "ur_monthly_fixed_charge", "Monthly fixed charge", "$", "", "Electricity Rates", "?=0.0", "", "SIMULATION_PARAMETER" }, - + { SSC_INPUT, SSC_NUMBER, "ur_nb_credit_expire", "Credit is lost upon end of year ", "0/1", "0=disable,1=enable", "Electricity Rates", "?=0", "INTEGER,MIN=0,MAX=1", "" }, + { SSC_INPUT, SSC_NUMBER, "ur_nb_apply_credit_current_month", "Apply earned credits to balance before rolling over excess ", "0/1", "0=disable,1=enable", "Electricity Rates", "?=0", "INTEGER,MIN=0,MAX=1", "" }, // optional input that allows sell rates to be overridden with buy rates - defaults to not override { SSC_INPUT, SSC_NUMBER, "ur_sell_eq_buy", "Set sell rate equal to buy rate", "0/1", "Optional override", "Electricity Rates", "?=0", "BOOLEAN", "SIMULATION_PARAMETER" },