Add Nuclear RAB levy, metering charge and DUoS catch-all to tariff cost model
The June electricity bill showed £252.72 (7.5% of the bill) in charges the cost model didn't account for: Nuclear RAB Levy, Metering Charge, and DUoS Availability/Excess/Reactive. RAB levy and metering charge are modeled directly (same shape as CCL / standing charge); the DUoS charges need kVA capacity and kVArh reactive energy that only the supplier's own meter reads, so they're covered by one adjustable "other network charges" £/month field to update manually from each bill. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
f1ce0f06d8
commit
3b261a4d8d
10 changed files with 158 additions and 15 deletions
|
|
@ -57,6 +57,8 @@ export default function Reports() {
|
|||
<div className="stat-box"><div className="stat-value">{formatMoney(report.totals.usage_cost_pence)}</div><div className="stat-label">Usage</div></div>
|
||||
<div className="stat-box"><div className="stat-value">{formatMoney(report.totals.standing_cost_pence)}</div><div className="stat-label">Standing</div></div>
|
||||
<div className="stat-box"><div className="stat-value">{formatMoney(report.totals.ccl_cost_pence)}</div><div className="stat-label">CCL</div></div>
|
||||
<div className="stat-box"><div className="stat-value">{formatMoney(report.totals.rab_levy_cost_pence)}</div><div className="stat-label">RAB Levy</div></div>
|
||||
<div className="stat-box"><div className="stat-value">{formatMoney(report.totals.metering_cost_pence + report.totals.other_charges_cost_pence)}</div><div className="stat-label">Fixed extras</div></div>
|
||||
<div className="stat-box"><div className="stat-value">{formatMoney(report.totals.vat_pence)}</div><div className="stat-label">VAT</div></div>
|
||||
</div>
|
||||
|
||||
|
|
@ -70,6 +72,7 @@ export default function Reports() {
|
|||
<tr>
|
||||
<th>Meter</th><th>Category</th><th className="num">Consumption</th>
|
||||
<th className="num">Usage</th><th className="num">Standing</th><th className="num">CCL</th>
|
||||
<th className="num">RAB Levy</th><th className="num">Fixed extras</th>
|
||||
<th className="num">VAT</th><th className="num">Total</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -90,6 +93,8 @@ export default function Reports() {
|
|||
<td className="num">{formatMoney(m.usage_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(m.standing_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(m.ccl_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(m.rab_levy_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(m.metering_cost_pence + m.other_charges_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(m.vat_pence)}</td>
|
||||
<td className="num">{formatMoney(m.total_pence)}</td>
|
||||
</tr>
|
||||
|
|
@ -100,6 +105,8 @@ export default function Reports() {
|
|||
<td className="num">{formatMoney(report.totals.usage_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(report.totals.standing_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(report.totals.ccl_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(report.totals.rab_levy_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(report.totals.metering_cost_pence + report.totals.other_charges_cost_pence)}</td>
|
||||
<td className="num">{formatMoney(report.totals.vat_pence)}</td>
|
||||
<td className="num">{formatMoney(report.totals.total_pence)}</td>
|
||||
</tr>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue