Firebase is not configured yet. Complete the one-time Firebase setup first; then paste the Web App config into site/src/config/firebase-config.js.
Master Admin Login
Only a Firebase-authenticated user with an admins/{uid} marker can edit and publish HQ settings.
Master Admin access required
This account can sign in, but it does not have permission to edit HQ defaults.
HQ Controlled
Calculator Settings & Catalogues
Signed in as · Last published:
User Management
HQ-created accounts only. Agent, Sales, Proposal Admin and PV Layout accounts are limited to 2 registered devices. PV Layout is After Service only; its access is automatically enabled. Tick Special Panels only for users allowed to sell clearance-stock panels. Tick After Service only for users allowed to open the After Service report module.
Active Agents0
Active Sales0
Active Proposal Admins0
Active PV Layout0
Disabled Accounts0
Create Account
Bulk Import
Active Accounts
Name / Search
Email
Contact
Role
Special Panels
After Service
Status
Devices
Last Activity
Actions
Archived / Disabled Users (0 shown / 0 total)
Name
Email
Contact
Role
Special Panels
After Service
Status
Devices
Last Activity
Actions
Master Catalogues
Dropdown options are created here. CSV pricelists may only reference values that already exist here.
Use Inactive instead of deleting old equipment. Historical proposals can then keep their original equipment details while inactive items disappear from new calculations.
Panel Brands
Brand does not affect Reference Selling Price.
ID
Brand Name
Active
Panel Models
Wattage affects package pricing; brand is display/equipment data. Special Panel Access only controls which staff can see/select a model; it does not change that model's pricing rules.
ID
Brand ID
Model
Watt
Warranty Years
Special Panel Access
Active
Inverter Brands
Brand does not affect price. Package mapping decides the approved model/size for each brand.
ID
Brand Name
Active
Inverter Models
Add Huawei/SAJ models and future brands here without changing CSV structure.
ID
Brand ID
Model
Type
Phase
Rated kW
Warranty Years
Active
Battery Presets
Sales can select only active HQ battery models. Cash Reference and Loan Uplift remain HQ-controlled; Loan Reference = Cash Reference + Loan Uplift.
ID
Label
Nominal kWh
Usable %
Cash Reference RM/unit
Loan Uplift RM/unit
Cash Company Nett RM/unit
Loan Company Nett RM/unit
Active
Sales / Agent Names (reserved for Phase 2)
Phase 2 will use this list for proposal ownership/reporting. Admin can still type Other / Custom when needed.
ID
Display Name
Type
Active
Packages & Pricing
Normally Residential and Commercial systems at/below 18 kWp use fixed packages, and Commercial above 18 kWp uses RM/kWp tiers. Exception: 650W special-stock 6–34 panels use fixed prices for both customer types, even beyond 18 kWp. From 35 panels onward, Commercial follows its tier rates; Residential uses separate HQ String/Hybrid rates with String rounded up to RM100.
Clone Package Set
Recommended workflow: clone → download CSV → edit prices/mappings in Excel → upload & validate → Save & Publish Settings.
Special Stock Fixed Pricelist
Special-stock pricing. After initialization, 650W has independent HQ fixed prices (6–34 panels); the reference to 635W is only used once to seed the initial entries. For Residential 650W 35+ the separate Residential rates below apply; Commercial retains the commercial tiers. 720W prices = matching 715W package + RM200 total.
Panel
Qty
Single String
Single Hybrid
Three String
Three Hybrid
Fixed Package Pricelist
Package ID is system-managed. Panel brand and inverter brand are intentionally not price columns.
Independent 650W prices have not been checked yet.
The initial 650W fixed rows use the currently configured 635W prices + RM1,600 for String and + RM2,100 for Hybrid once. After Save & Publish Settings, every 650W price is independent and editable in the Fixed Packages list. Future changes to 635W will not change 650W. For 650W fixed rows, Company Nett is calculated as 90% of the 650W HQ Reference RM.
Batch Fixed-Package Price Adjustment
Adjust the current HQ Reference RM for active fixed/pcs package rows only. This does not change Residential 650W 35+ RM/kWp or Commercial RM/kWp pricing.
No batch adjustment applied to this draft.
Package ID
Customer Type
Phase
Panel W
Qty
Inverter Type
Reference RM
Company Nett Price
Label
Active
Package → Inverter Mapping
Same package may map Huawei to 5 kW and SAJ to 6 kW while price remains identical.
Package ID
Inverter Brand ID
Approved Inverter ID
Package Pricelist CSV
Bulk-edit fixed package prices and package variances.
No CSV loaded.
Inverter Mapping CSV
Rows map a package to one approved inverter per brand. Adding a future brand does not add a new CSV column.
No CSV loaded.
Solar Markup Limits
Hard limits checked before Calculate. Fixed packages cap gross markup; Commercial RM/kWp tiers cap net markup after discount.
Battery Markup Limits
Battery cash/loan reference prices remain controlled per battery under Battery Presets. These are hard markup limits checked before Calculate.
Residential 650W · 35+ Panels (independent rates)
These rates apply only to Residential 650W 35+ panels. String reference price = kWp × String RM/kWp, rounded UP to the nearest RM100. Hybrid reference price = kWp × Hybrid RM/kWp (no RM100 rounding). Sales markup/discount remain RM Total. Commercial tier rates are not affected; the existing commercial Company Nett and tier markup caps are retained.
Commercial RM/kWp Pricing
Tier
System size
String RM/kWp
Hybrid RM/kWp
Company Nett RM/kWp
Tier 1
Tier 2
Tier 3
Internal Company Nett Warning Messages
Visible only to authorized logged-in Homax users. Public visitors and customer proposal output never receive these messages.
Calculation Settings
Loan Financing
Loan approval order: Panel minimum top-up → Loan Deposit min/max top-up → 1–6 year tenure limit. The RM30,000 financed-amount cap is checked separately. Product limits remain: Solar absolute maximum 10 years · financed battery maximum 6 years · 0.5-year increments.
Panel Quantity Minimum Top-Up
The last row is always treated as “and above”. Adding a higher starting quantity automatically closes the previous range.
From Panel Qty
Minimum Top-Up (RM)
Loan Deposit Min / Max Top-Up
Loan deposit only. Cash-paid battery is not counted. Minimum top-up may be negative; maximum top-up cannot be negative. The last row is always “and above”.
From Loan Deposit (RM)
Minimum Top-Up (RM)
Maximum Top-Up (RM)
Solar Max Tenure by Panel Quantity
Panel Qty
Max Tenure (years)
Commercial Hourly PV Profiles
13 percentages are for 7–8am through 7–8pm and must total 100%. If only one profile is active, Sales uses it automatically.
ID
Label
7am–8pm percentages (13 values)
Active
Supply Phase Fixed-Package Limits
These limits apply to fixed-price package selections. Large Commercial projects above the fixed-price threshold can use more panels.
State Sun Hours
State
Effective sun hours/day
TNB Tariffs
All rates are HQ-editable. Residential and Commercial AFA are configured under Calculation Settings and applied automatically.
Residential
Profile
Energy RM/kWh
Capacity
Network
Other adjustment
Retail RM
Export RM/kWh
Commercial
Use multiple tariff bands when needed.
Band
Up to kWh
Energy
Capacity
Network
Adjustment
Proposal Template Settings
Superadmin only. Publishing creates a new immutable template version for new proposals. Old finalized cases keep their original version.
Loading active proposal template...
Proposal Template Settings are separate from the calculator v18 JSON. Add/edit Cash or Loan packages here, then publish a new Proposal Template version.
Page 4 - Proposal
Mounting System and Wiring Protection are proposal-specific fields. BESS is selected from the active HQ presets below; blank omits the row.
BESS Presets
Preset shown in Phase 2
Active
Operations & Maintenance
Residential proposals only. Active rows appear as a separate two-column table under the ROI section on Page 4. Maximum 4 active rows.
Name
Description
Active
Page 5 - Package Breakdown & Warranties
Connection System
Default proposal text
Editable in Phase 2
Active
Authority Management / Licensing / Application Process & EPCC
Default proposal text
Editable in Phase 2
Active
Page 6 - Payment Schedule
Cash Payment Packages
Sales/Admin selects one package in Phase 2 and sees the full payment details before generating.
Loan Payment Packages
The built-in Loan Approval & ATAP workflow auto-fills the customer deposit and approved financed amount. Other Loan packages may use HQ-entered Amount values. The Term column can be hidden per package.