Solar and battery re-priced from Thai market data (October 2026)
Deploy test site / deploy (push) Successful in 46s

- Rooftop PV, 300 kWp (size still illustrative): 20 to 26 THB/W installed
  with the Deye hybrid inverters, 6.0M to 7.8M THB (was 25 to 35 THB/W,
  7.5M to 10.5M). Sources in the utilities CSV: DEDE Thailand PV Status
  report (Mahidol survey: 22 to 25 THB/W for factory systems of 10 kW to
  1 MW, 2023), CapSolar 2026 (20 to 25 under 1 MWp), Saimai Solar's list
  (300 kW for 5.4M THB), Deye hybrid inverter retail (160,500 THB per
  50 kW).
- Battery 271 kWh, now installed: 2.0M to 3.5M THB (was the bare Gobel
  list price, 1.4M to 2.0M, which matches DEDE's 5,000 to 7,000 THB/kWh
  for LiFePO4); adds enclosure, fire protection, controls and installation,
  below CapSolar's 12,000 to 15,000 THB/kWh for a fully installed factory
  BESS because the hybrid inverters do the conversion (estimate).
- Utilities baseline 27.57M to 47.50M THB; launch plant ~160M / 222M /
  283M THB with contingency; Plan B ~208M (~149M to 266M), ~31M more than
  Plan A; Plan A's total unchanged, its solar lever ~9.7M. PV payback
  ~3.8 to 5.4 years (sustainability.md). Calculator, README, roadmap,
  revenue model and both business plan versions (renders included)
  updated.
This commit is contained in:
grabowski committed 2026-10-17 16:41:14 +07:00
1 parent 3f33babdaa
commit ab303618d8
25 files changed
+116 -111

No files matched your search

+4 -4
View File
@@ -3028,9 +3028,9 @@ rng("Investment blocks (USD unless THB)", [
["airT", "Compressed air, Thai supplier", 350000, 600000, "THB", "est", "Utilities CSV: screw compressor skid, dryer, receiver"],
["airC", "Compressed air, Chinese brand through its Thai office", 150000, 300000, "THB", "est", "china-utilities.md: PM VSD screw set 0.15 to 0.3M THB installed"],
["clR", "Clean-room adder (galvanics and cutting room)", 1200000, 3400000, "THB", "est", "Utilities CSV, ~2 × 60 m² ISO 7/8; half with only one of the two rooms (estimate)"],
["uRest", "Rest of the utilities baseline: softener, loop treatment, racking, whole-factory HVAC", 8620000, 17300000, "THB", "est", "Utilities CSV baseline 28.47 to 48.73M THB less boilers, chillers, air, clean room, PV and battery"],
["pv", "Rooftop PV EPC", 7500000, 10500000, "THB", "est", "Utilities CSV: illustrative 300 kWp at 25,000 to 35,000 THB/kWp; final kWp open (scale.md 247 kWp for the yield)"],
["bat", "Battery 271 kWh (Gobel)", 1400000, 2030000, "THB", "vendor", "Utilities CSV: vendor listed price USD 39,900 to 58,000"],
["uRest", "Rest of the utilities baseline: softener, loop treatment, racking, whole-factory HVAC", 8620000, 17300000, "THB", "est", "Utilities CSV baseline 27.57 to 47.50M THB less boilers, chillers, air, clean room, PV and battery"],
["pv", "Rooftop PV EPC", 6000000, 7800000, "THB", "est", "Utilities CSV: illustrative 300 kWp at 20 to 26 THB/W installed (DEDE Thailand PV status: factories 10 kW to 1 MW 22 to 25 THB/W, 2023; installers 18 to 25 in 2026) incl. Deye hybrid inverters; final kWp open (scale.md 247 kWp for the yield)"],
["bat", "Battery 271 kWh (Gobel), installed", 2000000, 3500000, "THB", "est", "Utilities CSV: Gobel list price USD 39,900 to 58,000 (battery only, matches DEDE's 5,000 to 7,000 THB/kWh for LiFePO4) plus enclosure, fire protection, controls and installation, below the 12,000 to 15,000 THB/kWh of a fully installed factory BESS because the hybrid inverters do the power conversion (estimate)"],
["bld", "Building ~1,500 m² plus civil and site works", 650000, 1100000, "USD", "est", "total-investment.md: 12,000 to 20,000 THB/m² plus ~20 % site works; soil is the main variable"],
["ph2", "Phase 2 building, when the press floor outgrows the press hall", 750000, 1250000, "USD", "est", "Business plan draft 0.1: ~750k to 1,250k on 1,710 m², estimate"],
["crn", "Overhead crane, runway, frame premium, machine door", 97000, 227000, "USD", "est", "crane-workshop-tours.md via total-investment.md"],
@@ -3710,7 +3710,7 @@ function renderInvest(e, r) {
H.push(`<tr class="grp"><td colspan="5">Totals</td></tr>`);
TR("Subtotal", cx.sub, "", true);
TR(cx.ctgIn ? `Contingency ${f1(A.contPct)} %` : `Contingency ${f1(A.contPct)} % (not in the total)`, cx.ctg, cx.ctgIn ? "total-investment.md" : "shown separately, as in Plan A and Plan B");
TR("Total investment", cx.tot, "for reference, total-investment.md: the launch plant ~161M to 285M THB with contingency (midpoint ~223M); Plan A ~162M and Plan B ~194M at the midpoint without it, plus the ramp-up reserve", true);
TR("Total investment", cx.tot, "for reference, total-investment.md: the launch plant ~160M to 283M THB with contingency (midpoint ~222M); Plan A ~162M and Plan B ~193M at the midpoint without it, plus the ramp-up reserve", true);
if (!cx.boiOn) {
TR(`Import duty without BOI, ${f1(A.dutyMach)} %`, cx.duty, `on ${money(cx.imp.lo)} to ${money(cx.imp.hi)} of imported machinery; import VAT ${money(cx.vat.mid)} at the midpoint, reclaimable`);
TR("Total with import duty", cx.all, "", true);