diff --git a/recommendations/Costs.py b/recommendations/Costs.py index 5554245f..ee4db7eb 100644 --- a/recommendations/Costs.py +++ b/recommendations/Costs.py @@ -758,32 +758,31 @@ class Costs: else: system_cost = [c for c in INSTALLER_SOLAR_COSTS if c["n_panels"] == n_panels][0]["cost"] - total_cost = array_cost if array_cost is not None else system_cost + subtotal = array_cost if array_cost is not None else system_cost if has_battery: battery_cost = [c for c in INSTALLER_SOLAR_BATTERY_COSTS if c["capacity_kwh"] == battery_kwh][0]["cost"] - total_cost += battery_cost + subtotal += battery_cost scaffolding_cost = [c for c in INSTALLER_SCAFFOLDING_COSTS if c["stories"] == n_floors][0]["cost"] - total_cost += scaffolding_cost + subtotal += scaffolding_cost if needs_inverter: - total_cost += INSTALLER_SOLAR_PV_INVERTER_COST + subtotal += INSTALLER_SOLAR_PV_INVERTER_COST # We also add an additional labour cost - total_cost += INSTALLER_SOLAR_PV_INVERTER_LABOUR_COST + subtotal += INSTALLER_SOLAR_PV_INVERTER_LABOUR_COST # We add an additional cost for scaffolding - - subtotal_before_vat = total_cost / (1 + self.VAT_RATE) - - vat = total_cost - subtotal_before_vat + # The costs from installers exclude VAT + vat = subtotal * self.VAT_RATE + total_cost = subtotal + vat # Labour hours are based on estimates from online research but an average team seems to consist of 3 people # and most jobs take around 2 days. Assuming an 8 hour day for 3 people across 2 days, gives us 48 hours of # labour return { "total": total_cost, - "subtotal": subtotal_before_vat, + "subtotal": subtotal, "vat": vat, "labour_hours": 48, "labour_days": 2, @@ -1163,17 +1162,18 @@ class Costs: cost = [x for x in INSTALLER_ASHP_COSTS if x][0]["cost"] # We add some contingency since there are additional costs such as resizing radiators, that could be required - total_cost = cost * (1 + self.CONTINGENCY) - subtotal_before_vat = total_cost / (1 + self.VAT_RATE) - vat = total_cost - subtotal_before_vat + subtotal = cost * (1 + self.CONTINGENCY) + # The costs from installers exclude VAT + vat = subtotal * self.VAT_RATE + total_cost = subtotal + vat # We assume 5 days installation labour_days = 5 labour_hours = labour_days * 8 return { - "total": total_cost, - "subtotal": subtotal_before_vat, + "total": subtotal, + "subtotal": subtotal, "vat": vat, "labour_hours": labour_hours, "labour_days": labour_days,