Leased land instead of purchase, in-house cassette duplication, CD-R duplication with CD replication shown as a separate investor decision, Ploy Printing as packaging partner and intended co-investor, and a dedicated section on traceability, metrology, QC and efficiency.
550 lines
47 KiB
Python
550 lines
47 KiB
Python
"""Part C: investment, revenue and operating model, timeline, phasing, team and ownership, risks, next steps."""
|
||
from plan_lib import H1, H2, H3, P, B, N, T, KV, IMG, CALL, PB
|
||
|
||
|
||
def blocks():
|
||
return [
|
||
# ------------------------------------------------- 8 investment
|
||
H1("8. Investment"),
|
||
P("Everything priced or estimated so far, rolled into one view. Blocks marked 'estimate' have no "
|
||
"vendor confirmation; the rest trace to quotes or researched ranges. Treat all figures as "
|
||
"budgetary with a wide margin (plus or minus 30 to 50% on the estimates) until requests for "
|
||
"quotation replace them. Land is now a lease and is removed from capital; cassette and CD-R "
|
||
"duplication are added."),
|
||
H2("8.1 Full vision, all blocks"),
|
||
T(["Block", "USD", "THB", "Basis"], [
|
||
["Newbilt semi-automatic line, full Duplex", "350k to 370k", "11.5M to 12.2M", "Quoted: 2024 "
|
||
"offer EUR 200,500 (~USD 232k) plus quoted second press and extruder ~USD 115k; expired, "
|
||
"re-quote required"],
|
||
["Two fully automatic presses", "580k to 920k", "19.1M to 30.5M", "Estimate: ~USD 340k per "
|
||
"press indicative, unverified, plus delivery and commissioning"],
|
||
["Galvanics line (Digital Matrix)", "320k to 650k", "10.7M to 21.4M", "Estimate: six-figure "
|
||
"turnkey inference from vendor research"],
|
||
["Zero-discharge water treatment", "90k to 240k", "3.0M to 8.0M", "Researched: utilities "
|
||
"option row"],
|
||
["Stamper preparation (Sibert)", "60k to 170k", "1.9M to 5.7M", "Estimate, pricing unpublished"],
|
||
["Mastering and cutting room", "290k to 580k", "9.6M to 19.1M", "Estimate, bespoke market"],
|
||
["Metrology and QC stack", "350k to 810k", "11.5M to 26.7M", "Estimate, phaseable"],
|
||
["Utilities, solar, battery, HVAC, racking baseline", "730k to 1,270k", "24.0M to 41.6M",
|
||
"Researched: Thai supplier ranges, THB-native, plus or minus 30%"],
|
||
["Building ~1,500 m² plus civil and site works", "650k to 1,100k", "21.4M to 36.2M",
|
||
"Estimate at 12,000 to 20,000 THB/m² plus ~20% site works; RFQ ready"],
|
||
["Land", "0 (leased)", "0", "Was 360k to 970k for purchase; rent moves to operating cost"],
|
||
["Cassette duplication line", "40k to 150k", "1.3M to 5.0M", "Estimate, section 4.8"],
|
||
["CD-R duplication", "15k to 40k", "0.5M to 1.3M", "Estimate, section 4.9 option A"],
|
||
["Traceability and factory software", "60k to 170k", "1.9M to 5.7M", "Estimate, development "
|
||
"project"],
|
||
["Freight, installation, training (non-Newbilt)", "120k to 230k", "3.8M to 7.6M", "Estimate"],
|
||
["Working capital, PVC stock, spares, lease deposit", "135k to 290k", "4.5M to 9.6M",
|
||
"Estimate; includes lease deposit and first-year rent"],
|
||
["Subtotal", "~3.8M to 7.0M", "~125M to 231M", ""],
|
||
["Contingency 15%", "~0.6M to 1.0M", "~19M to 35M", ""],
|
||
["**Total, full vision**", "**~4.4M to 8.0M**", "**~144M to 264M**", "Before the lease "
|
||
"decision: 4.7M to 8.9M"],
|
||
["Not included: CD replication (option B)", "1.5M to 4.0M", "50M to 132M", "Separate "
|
||
"decision, separate feasibility study, phase 2 building"],
|
||
["Not included: phase 2 building", "~750k to 1,250k", "~25M to 41M", "Same THB/m² basis on "
|
||
"1,710 m²; expansion "
|
||
"beyond the current "
|
||
"programme"],
|
||
], widths_mm=[52, 30, 30, 58], font_pt=8.5),
|
||
|
||
H2("8.2 Phase 1: what launch actually costs"),
|
||
P("The launch configuration is far smaller than the full vision, and it is the number the "
|
||
"investor is asked to commit to after the gates clear. It buys a purpose-built, climate-controlled "
|
||
"plant with one semi-automatic press line, bridge stampers from the UK, basic QC, first-version "
|
||
"traceability, the rooftop solar array and battery, and the cassette and CD-R lines."),
|
||
T(["Block", "USD low", "USD high", "Note"], [
|
||
["Phase 0: consultants, legal, soil test, trade show, re-quotes", "40k", "80k", "Section 14"],
|
||
["Newbilt Single 2.1 system incl. freight", "230k", "260k", "Re-quote drift on the 2024 EUR "
|
||
"figure"],
|
||
["Building, civil and site works", "650k", "1,100k", "Soil result is the main variable"],
|
||
["Utilities: electric steam, compressed air, chiller, water treatment, racking, whole-plant "
|
||
"HVAC, ~290 kWp PV, 271 kWh battery", "690k", "1,160k", "Clean-room adder deferred to the "
|
||
"galvanics phase"],
|
||
["Basic QC, PVC lab, traceability v1", "70k", "180k", "Microscope, benchtop lab, sampled "
|
||
"listening, software v1"],
|
||
["Cassette duplication and CD-R lines", "60k", "190k", "Tier A or small tier B cassette"],
|
||
["Freight, installation, commissioning beyond Newbilt's 5 days, training", "40k", "100k",
|
||
"Newbilt service EUR 84/h plus travel"],
|
||
["Working capital, PVC stock, spares, lease deposit, first-year rent", "130k", "290k", ""],
|
||
["Subtotal", "~1.9M", "~3.4M", ""],
|
||
["Contingency 15%", "~0.3M", "~0.5M", ""],
|
||
["**Phase 1 total**", "**~2.2M**", "**~3.9M**", "**~THB 73M to 128M**"],
|
||
], widths_mm=[80, 22, 22, 46], font_pt=8.5),
|
||
P("Galvanics, the automatic presses, the mastering room, the full metrology stack and the biomass "
|
||
"boiler follow as revenue-funded or second-round expansions; the remainder between phase 1 and "
|
||
"the full vision is roughly USD 2.2M to 4.1M. The planning already supports the split: the "
|
||
"Duplex-ready hydraulics, the bridge role for Stamper Discs, the staged electric-to-biomass "
|
||
"steam path and the phaseable metrology stack are all documented for exactly this reason."),
|
||
|
||
H2("8.3 Tranches"),
|
||
P("Phase 1 capital is released against milestones rather than up front, so that each tranche is "
|
||
"spent only once the previous gate has cleared:"),
|
||
T(["Tranche", "Trigger", "Covers", "Approx. share"], [
|
||
["0", "Now", "Phase 0 work", "2 to 3%"],
|
||
["1", "BOI certificate issued; lease signed; zoning and soil confirmed; pricing validated",
|
||
"Press order deposit, building design and permit, long-lead utility orders", "25 to 30%"],
|
||
["2", "Building permit; press build confirmed", "Construction, utilities, solar", "40 to 45%"],
|
||
["3", "Building watertight; machinery shipped", "Fit-out, HVAC commissioning, QC and software, "
|
||
"cassette and CD-R lines, hiring", "15 to 20%"],
|
||
["4", "Commissioning complete", "Working capital, stock, first stamper orders", "8 to 10%"],
|
||
], widths_mm=[16, 62, 66, 26]),
|
||
|
||
H2("8.4 What moves the number"),
|
||
B([
|
||
"**BOI** machinery duty exemption applies across most of the equipment blocks, and the solar "
|
||
"and automation spend converts into tax-exemption headroom; the application precedes every "
|
||
"purchase order.",
|
||
"**The ground.** Soft paddy soil under the building, paving and fill platform is the single "
|
||
"largest cost variable in the building package, and the cheapest to resolve.",
|
||
"**Biggest uncertainty bands:** metrology (partly a choice of ambition), the mastering room "
|
||
"(bespoke vendor, no public pricing), the automatic presses (one unverified price point), "
|
||
"the galvanics line, and every cassette and CD figure.",
|
||
"**Every band narrows only with quotes.** The supplier map in the project repository lists who "
|
||
"to ask, and the re-quotes are phase 0 work.",
|
||
]),
|
||
H2("8.5 Currency exposure"),
|
||
P("Revenue will be mostly USD and EUR from export customers; the cost base is mostly THB; the "
|
||
"largest single equipment block is EUR-denominated and unhedged against an order that will not "
|
||
"be placed for roughly a year. A 10% move in EUR/THB between now and the Newbilt order is worth "
|
||
"USD 25k to 35k on that line alone. Operationally, roughly two-thirds of direct cost (labour, "
|
||
"energy, cartons, maintenance) is THB, so a 10% baht appreciation takes 0.09 to 0.17 USD off the "
|
||
"gross margin per record without any operational change. Two mitigations are planned: ask every "
|
||
"re-quote to state its currency and validity period, and decide early whether to quote regional "
|
||
"customers in THB. Hedging the press order once the BOI timeline is known is a decision for the "
|
||
"investor."),
|
||
|
||
# ------------------------------------- 9 revenue and operating model
|
||
H1("9. Revenue and operating model"),
|
||
P("A first-pass economic model at mature capacity. Most numbers are estimates from industry pricing "
|
||
"norms and the project's own cost research; the point is the shape of the economics and which "
|
||
"levers matter, not precision. The pricing assumptions are deliberately held at the conservative "
|
||
"Western export benchmark even though the one set of Thai market data (section 3.3) says "
|
||
"domestic prices are several times higher: re-basing the whole model on one supplier's price "
|
||
"list in a market with one supplier would be worse than leaving it low."),
|
||
H2("9.1 Pricing assumptions"),
|
||
B([
|
||
"**Blended pressing price: USD 3.50 to 4.60 per record** (THB 115 to 150), across run sizes "
|
||
"and the standard/colour mix, covering pressing, labels, inner sleeve and assembly into the "
|
||
"jacket; deluxe packaging passed through at cost plus margin. Western plants charge roughly "
|
||
"USD 2.90 to 5.80 for standard black at volume, with premiums of 0.60 to 1.70 for colour and "
|
||
"splatter, 180 g and small runs.",
|
||
"**Per-title services: USD 580 to 1,730 per title** (THB 19k to 57k) for mastering, cutting, "
|
||
"stampers and test pressings, at roughly 300 to 600 titles a year at full capacity. Observed "
|
||
"Thai rates suggest this is understated by up to three to four times for a full album, but "
|
||
"mastering is labour-bound (an engineer masters perhaps two to four songs a day) and the plan "
|
||
"staffs one to two engineers, which caps this line.",
|
||
"**Cassettes and CD-Rs** are add-on lines, not in the totals: illustratively 20k to 60k "
|
||
"cassettes a year at USD 2.50 to 4.00 (USD 50k to 240k) and 10k to 40k CD-Rs at USD 1.50 to "
|
||
"3.00 (USD 15k to 120k). Estimates with no market data behind them yet.",
|
||
"**Dropshipping fees** per parcel are on top and not modelled.",
|
||
]),
|
||
H2("9.2 Revenue at full capacity"),
|
||
T(["Scenario", "Records/yr", "Pressing revenue", "Title services", "Total USD", "Total THB"], [
|
||
["Mature, low", "1.0M", "~3.5M", "~0.17M", "**~3.7M/yr**", "**~122M/yr**"],
|
||
["Mature, high", "1.5M", "~6.1M", "~0.69M", "**~6.8M/yr**", "**~224M/yr**"],
|
||
], widths_mm=[26, 22, 30, 28, 32, 32],
|
||
caption="Low: 1.0M × USD 3.50 plus 300 titles × 580. High: 1.5M × 4.05 plus 600 titles × 1,155. "
|
||
"A pure-volume plant runs at the low per-title end; a boutique-heavy mix pushes titles up "
|
||
"and volume down."),
|
||
H2("9.3 Direct cost per record"),
|
||
T(["Cost element", "USD/record", "THB/record", "Basis"], [
|
||
["PVC compound", "0.29 to 0.46", "9.6 to 15.2", "~150 to 160 g effective virgin at 1.75 to "
|
||
"2.90 USD/kg; regrind loop covers scrap"],
|
||
["Labels", "0.03 to 0.09", "1.1 to 3.0", "Printed pairs, volume"],
|
||
["Inner sleeve", "0.09 to 0.17", "3.0 to 5.7", "Poly-lined"],
|
||
["Jacket (standard)", "0.40 to 0.92", "13.3 to 30.4", "Ploy Printing; largely pass-through"],
|
||
["Shrink wrap", "0.02 to 0.03", "0.8 to 1.1", "Film"],
|
||
["Energy", "0.12 to 0.23", "3.8 to 7.6", "~1.5 to 2 kWh blended per record at grid/solar mix"],
|
||
["Production labour", "0.08 to 0.16", "2.6 to 5.4", "13 to 19 direct staff at northern Thai "
|
||
"rates, loaded ×1.3, over 1.0 to 1.5M "
|
||
"records"],
|
||
["Stamper amortisation", "0.03 to 0.12", "1.0 to 4.0", "In-house three-generation set at "
|
||
"~USD 60 to 150 marginal over 1,000 "
|
||
"to 2,000 pressings"],
|
||
["Maintenance, spares, consumables", "0.12 to 0.23", "3.8 to 7.6", "Estimate"],
|
||
["Reject allowance", "0.12 to 0.17", "3.8 to 5.7", "5 to 10% reject rate carried by good units"],
|
||
["**Total direct cost**", "**~1.30 to 2.58**", "**~43 to 85**", ""],
|
||
], widths_mm=[42, 26, 26, 76], font_pt=8.5),
|
||
P("Blended price minus direct cost gives a gross margin of about **USD 2.11 per record at the "
|
||
"midpoint (~52%)**. The spread is wide and worth stating: the adverse corner (low price meeting "
|
||
"high cost) leaves USD 0.92 (26%), the favourable corner USD 3.30 (72%). Price realisation and "
|
||
"cost control each move the margin by more than a third on their own."),
|
||
H2("9.4 Operating picture at full capacity"),
|
||
P("Built from the components above. Three scenarios, each internally consistent: adverse pairs low "
|
||
"volume with the low price and high cost; favourable does the opposite; central takes midpoints. "
|
||
"Cash overheads (admin, sales, insurance, facility running, IT, professional fees, marketing, and "
|
||
"now the land lease) are estimated at USD 210k to 480k a year and paired high-to-adverse. "
|
||
"Depreciation is the 4.4M to 8.0M capital over 10 to 15 years."),
|
||
T(["USD per year", "Adverse", "Central", "Favourable"], [
|
||
["Records", "1.0M", "1.25M", "1.5M"],
|
||
["Blended price", "3.50", "4.05", "4.60"],
|
||
["Direct cost", "2.58", "1.94", "1.30"],
|
||
["Contribution per record", "0.92", "2.11", "3.30"],
|
||
["Pressing contribution", "0.92M", "2.64M", "4.95M"],
|
||
["Title-services contribution", "0.10M", "0.28M", "0.48M"],
|
||
["**Total contribution**", "**1.02M**", "**2.92M**", "**5.43M**"],
|
||
["Cash overheads incl. lease", "0.48M", "0.35M", "0.21M"],
|
||
["**EBITDA**", "**0.54M**", "**2.57M**", "**5.22M**"],
|
||
["Depreciation", "0.80M", "0.50M", "0.29M"],
|
||
["**Operating profit**", "**−0.26M**", "**2.07M**", "**4.93M**"],
|
||
["Payback on 4.4M to 8.0M capital", "never", "2.1 to 3.9 yr", "0.9 to 1.6 yr"],
|
||
], widths_mm=[60, 36, 36, 38]),
|
||
CALL("Reading this table honestly", [
|
||
"**The adverse case loses money.** At 1.0M records, the low price, the high cost and the high "
|
||
"capital, the plant is EBITDA-positive but does not cover depreciation. Utilisation and price "
|
||
"realisation are not upside levers; they decide solvency.",
|
||
"**The favourable case is not credible**, and that is a finding about the cost table, not the "
|
||
"business. A 69% EBITDA margin is roughly triple what pressing plants earn; even the central "
|
||
"case at ~47% is well above industry norms of 15 to 25%. The direct cost table counts only "
|
||
"per-record consumables and direct payroll and almost certainly understates: missing at "
|
||
"minimum are indirect production labour, consumables beyond those listed, scrap above the "
|
||
"reject allowance, water and effluent, inbound freight, inventory carrying cost and sales "
|
||
"commission. Treat the adverse column as the honest one until those lines exist.",
|
||
"**This is a sensitivity, not a forecast.** BOI tax exemptions shield part of early-year "
|
||
"profits where there are any. The mix lever is real: colour, splatter and boutique runs carry "
|
||
"20 to 50% premiums and suit the semi-automatic line, and the title-services line has "
|
||
"software-like margins once the rooms exist.",
|
||
]),
|
||
H2("9.5 The ramp"),
|
||
P("The operating picture above is the mature plant. The launch plant (one line, one shift) presses "
|
||
"90k to 135k records a year, which at the same blended price is USD 0.3M to 0.6M of pressing "
|
||
"revenue plus title services, cassette and CD-R lines, and possibly stamper supply to the "
|
||
"incumbent if galvanics comes early. It will not cover a full overhead base in year one, and "
|
||
"early production runs slower and rejects more than any of these figures while the process "
|
||
"settles. The Duplex expansion (second press on the existing hydraulics, ~USD 115k) is the "
|
||
"first revenue-funded step and roughly doubles capacity for a small sum; it should be planned "
|
||
"for year two. A year-by-year cash model belongs to the financing discussion and is a next "
|
||
"step, not a claim this plan makes."),
|
||
|
||
# ----------------------------------------------- 10 timeline
|
||
H1("10. Timeline: today to first paying release"),
|
||
P("Anchored at September 2026. Every duration is an estimate; one of them is not documented "
|
||
"anywhere and governs the whole schedule. **First paying release lands around Q4 2028 to "
|
||
"mid-2029, roughly 27 to 33 months from today.** The critical path is not construction:"),
|
||
CALL("The critical path", "BOI certificate → press order → press build → sea freight → "
|
||
"commissioning. Everything else, including the entire building, has float against that chain. "
|
||
"The two things that move the date are the BOI filing date and the press vendor's build time, "
|
||
"and the second is not documented anywhere: 9 to 12 months is an industry-typical figure for "
|
||
"a built-to-order system from a small German manufacturer and it carries about 40% of the "
|
||
"schedule. If the real figure is 15 to 18 months, launch moves to mid-2029. The re-quote now "
|
||
"being requested asks for quoted build time and order-book position; it is one line in an "
|
||
"email and the single highest-value missing fact in the project."),
|
||
T(["#", "Step", "Duration", "Source"], [
|
||
["1", "Engage BOI consultant, prepare application", "4 to 5 months", "Estimate"],
|
||
["2", "BOI review to certificate", "4 to 6 months", "BOI: ~40 working days decision, 4 to 6 "
|
||
"months in practice"],
|
||
["3", "Company incorporation under the certificate", "1 to 2 months", "Roadmap"],
|
||
["4", "Press order to vendor-ready", "**9 to 12 months**", "**Assumed; not yet quoted**"],
|
||
["5", "Sea freight Germany to Thailand", "6 to 8 weeks", "Newbilt quote includes freight"],
|
||
["6", "Install, commission, train", "2 to 3 months", "Newbilt includes 5 days; rest at "
|
||
"~USD 97/h plus travel"],
|
||
["7", "Test pressings, QC baseline, reject shakedown", "1.5 to 2 months", "Roadmap"],
|
||
["", "**Total**", "**~27 to 33 months**", ""],
|
||
], widths_mm=[8, 70, 34, 58]),
|
||
T(["Track (in parallel)", "Needed by", "Float", "Becomes critical if"], [
|
||
["Land lease, zoning, soil test", "Design start, ~Q1 2027", "~4 months", "Zoning fails and a "
|
||
"new site is needed (~6 months reset)"],
|
||
["Phase 1 construction", "Machinery arrival, ~Q3 2028", "~3 to 5 months", "Soft soil forces "
|
||
"piling, or permits stall"],
|
||
["Factory licence (Ror.Ngor. 4)", "First production, Q4 2028", "~4 months", "Galvanics "
|
||
"effluent scope is raised early; keep it out of the phase 1 licence scope unless galvanics "
|
||
"moves forward"],
|
||
["Solar and battery", "Fit-out, ~Q2 2028", "Large", "Not a risk; battery lead is 50 to 60 "
|
||
"days"],
|
||
["Cassette and CD-R lines", "Fit-out, ~Q2 2028", "Large", "Not a risk; short lead times"],
|
||
["Hiring and training", "Commissioning, ~Q3 2028", "~2 months", "Galvanics expertise if "
|
||
"galvanics moves forward: the "
|
||
"hardest skill to hire"],
|
||
], widths_mm=[40, 40, 24, 66]),
|
||
P("**BOI windows are comfortable** on this schedule: machinery clears customs ~Q3 2028 against a "
|
||
"30-month import window ending ~Q4 2029, and first production ~Q4 2028 against a ~36-month "
|
||
"full-operation deadline. The margin is consumed by exactly one scenario: filing early to start "
|
||
"the clock and then discovering the site does not work. Verify zoning before filing."),
|
||
P("**Leasing does not by itself pull the launch forward.** Construction has only 3 to 5 months of "
|
||
"float against the press chain; removing purchase money from the plan does not move the end date. "
|
||
"Only the press order moves it, which is the BOI sequencing question in section 7. The two are "
|
||
"one lever, not two."),
|
||
P("**What a delay costs.** A month lost engaging the BOI consultant costs a month of launch. A "
|
||
"month lost on land or construction costs nothing until the float is gone. A month lost getting "
|
||
"the press lead time in writing costs nothing today and may cost six months of surprise later."),
|
||
|
||
# ------------------------------------ 11 phasing and the galvanics question
|
||
H1("11. Phasing, and the one sequencing question that matters"),
|
||
P("Nothing in phases 2 to 5 starts before its gate clears: no machinery order before the BOI "
|
||
"certificate, no large spending before the market validates the price, no coppice planning "
|
||
"before the land-title check. The phased entry is the default path; the full vision is reached "
|
||
"through it, not instead of it."),
|
||
T(["Phase", "Content", "Gate"], [
|
||
["0. Validate and clear the gates (now)", "Market validation at Making Vinyl and with regional "
|
||
"labels; BOI consultant, activity code, application; lease terms, zoning, soil test; 60 rai "
|
||
"title check; re-quotes from Newbilt, Pheenix, Digital Matrix, Stamper Discs, building "
|
||
"contractors, Thai utility vendors; solar and battery engineering checks", "Runs in parallel; "
|
||
"gates everything"],
|
||
["1. Quotes and site (during the BOI window)", "Firm quotes; site selection between the Mueang "
|
||
"Chi lease and the industrial estate; resolve the 35% vs 45% humidity floor", "BOI filed"],
|
||
["2. Commit", "Incorporate under the certificate; sign the press order; sign the lease; order "
|
||
"long-lead items; written stamper turnaround agreement with Stamper Discs", "BOI certificate "
|
||
"and validated "
|
||
"pricing"],
|
||
["3. Build and commission (~6 to 12 months after commitment)", "Construction, utilities, HVAC, "
|
||
"solar, battery, security; machinery installation and vendor commissioning; traceability v1; "
|
||
"cassette and CD-R lines; hire and train", "Building permit, press build confirmed"],
|
||
["4. Launch (pressing with bridge stampers)", "Test pressings, QC baselines, reject shakedown; "
|
||
"first paying releases; per-lot PVC gate live; qualify Thai compound", "Commissioning complete"],
|
||
["5. Expand (revenue-gated)", "Duplex second press; galvanics line with zero-discharge water; "
|
||
"automatic presses; full metrology and the audio QC station; biomass boiler; mastering and "
|
||
"cutting room; phase 2 building; CD replication if chosen", "Revenue and second-round "
|
||
"capital"],
|
||
], widths_mm=[42, 96, 32], font_pt=8.5),
|
||
H2("Should galvanics come first rather than fifth?"),
|
||
P("The roadmap places the plating line in phase 5. The August 2026 market evidence argues for "
|
||
"costing an earlier start, and the investor should decide with the following in view:"),
|
||
T(["For moving galvanics to phase 1", "Against"], [
|
||
["It addresses the market's actual bottleneck: imported metalwork, not press capacity. The "
|
||
"incumbent turns away small runs and adds weeks above 3,000 units, most plausibly because "
|
||
"every stamper set is an overseas order.", "It still needs a clean room, zero-discharge water "
|
||
"treatment and hazardous-substance permitting, "
|
||
"which is the most likely regulatory friction "
|
||
"point in the whole project."],
|
||
["It is a fraction of the full capital (USD 320k to 650k plus 90k to 240k water) and is "
|
||
"driven by title count, not record volume: payback at 300 titles a year is one to five "
|
||
"years depending on which end of the saving range holds.", "It is the hardest skill to hire. "
|
||
"No plating expertise exists in "
|
||
"the country; the process "
|
||
"engineer comes from abroad or is "
|
||
"trained abroad."],
|
||
["It could earn before CNX's own press hall exists, by supplying stampers into the incumbent's "
|
||
"spare press capacity: 300 titles a year at wholesale might net USD 60k to 100k of "
|
||
"contribution, a useful offset against the capital.", "That offset is not a business case: "
|
||
"it assumes a competitor moves its "
|
||
"entire stamper supply to a new "
|
||
"entrant who is also its rival, and "
|
||
"the incumbent's actual title count "
|
||
"is unknown."],
|
||
["It removes the launch plan's dependence on a single small UK supplier with no documented "
|
||
"Asian customers and two international freight legs per job.", "The saving is measured "
|
||
"against the wrong supplier: "
|
||
"CNX's avoided cost at launch "
|
||
"is the Stamper Discs price, "
|
||
"which has not been quoted "
|
||
"yet."],
|
||
], widths_mm=[85, 85], font_pt=8.5),
|
||
P("**Recommendation:** get the Stamper Discs quote and a line-itemised full-service invoice from "
|
||
"the incumbent in phase 0, cost the galvanics room properly with Digital Matrix and a Thai water "
|
||
"vendor, and put the decision to the investor with real numbers before the BOI application is "
|
||
"finalised, because the galvanics effluent changes the licence scope."),
|
||
|
||
# --------------------------------------- 12 team, ownership, governance
|
||
H1("12. Team, ownership and governance"),
|
||
H2("12.1 The people"),
|
||
T(["Who", "Role"], [
|
||
["Simona Meesaiyati", "Project Lead. Owns the commercial side: market validation, label "
|
||
"relationships, the Making Vinyl outreach, the BOI track and the site."],
|
||
["Alexander Grabowski", "Technical Consultant. Owns the plant: equipment selection and "
|
||
"vendor negotiation, the utility and efficiency architecture, the parametric building model, "
|
||
"the traceability and QC specification, and the factory software."],
|
||
["buildfor.life", "Supports the project in a consulting capacity: engineering, sustainability "
|
||
"and project management."],
|
||
["Ploy Printing (Ploy Karnpim Limited Partnership, Chiang Mai)", "Packaging partner and "
|
||
"intended strategic co-investor: jackets, sleeves, inserts, J-cards and CD packaging on "
|
||
"offset, digital, risograph, UV and latex presses, with existing vinyl packaging production."],
|
||
["To be hired", "Plant manager; galvanics process engineer (when galvanics is built); "
|
||
"mastering and cutting engineer (when the room is built); QC lead; maintenance; press and "
|
||
"finishing operators; sales and customer service for the label relationship and the "
|
||
"traceability portal."],
|
||
["External", "BOI-registered consultant; Thai counsel for the lease, company and shareholder "
|
||
"agreement; optional vinyl manufacturing consultancy for layout, installation and training "
|
||
"(GBP 10k to 20k packages); Newbilt commissioning; property insurer."],
|
||
], widths_mm=[48, 122]),
|
||
P("Headcount at maturity is roughly 15 to 25 across shifts (4 to 6 press and finishing operators "
|
||
"per shift, 2 to 3 galvanics, 1 to 2 mastering, 1 to 2 QC, 2 maintenance, 3 to 5 admin, sales "
|
||
"and logistics), fewer than half that at launch, plus 1 to 2 for the cassette and CD-R lines."),
|
||
H2("12.2 Ownership and structure"),
|
||
P("Amounts and percentages are not yet agreed and are deliberately left open here. The intended "
|
||
"structure is:"),
|
||
B([
|
||
"**One Thai limited company** holds the plant, the lease, the equipment and the BOI promotion. "
|
||
"BOI promotion permits 100% foreign ownership of the promoted manufacturing activity, so the "
|
||
"shareholding can be set on commercial terms rather than to satisfy the Foreign Business Act.",
|
||
"**Shareholders:** the lead investor; Ploy Printing as strategic co-investor; and the founders. "
|
||
"Ploy Printing's participation, whether in cash, in kind (print capacity, premises, working "
|
||
"capital in packaging) or both, is to be discussed; its strategic value is a packaging partner "
|
||
"whose incentives are aligned with the plant's schedule and quality, within the same province.",
|
||
"**Debt-to-equity no higher than 3:1**, maintained for the life of the BOI privileges, which "
|
||
"sets the floor on equity in the financing mix.",
|
||
"**A shareholders' agreement** covering board composition, reserved matters (capital calls, "
|
||
"phase 5 expansions, CD replication), pre-emption and transfer, information rights, and the "
|
||
"founders' roles and remuneration.",
|
||
"**Related-party discipline.** Ploy Printing will be both a shareholder and the plant's main "
|
||
"packaging supplier. The supply agreement is priced at arm's length, benchmarked periodically "
|
||
"against other printers, with quality and lead-time terms written down, and Ploy Printing "
|
||
"abstains from board decisions on its own contract. This protects both the lead investor and "
|
||
"Ploy Printing, and it is what a BOI or bank reviewer will look for.",
|
||
"**Any label, content or retail activity (Poy Records as a brand) sits in a separate entity**, "
|
||
"so the manufacturing company's BOI application stays clean.",
|
||
]),
|
||
|
||
# ------------------------------------------------------ 13 risks
|
||
H1("13. Risks and open questions"),
|
||
P("Every plan has risks; the point of listing them is to say which are being retired, by what, and "
|
||
"when. The first column is the plan's own honest severity."),
|
||
T(["Severity", "Risk", "What it would do", "Mitigation and status"], [
|
||
["High", "Pricing power in the region is unproven", "The single biggest assumption in the "
|
||
"revenue model; a turnaround advantage nobody pays a premium for is a cost, not a moat",
|
||
"Market validation gate: Making Vinyl, regional label conversations, a second Thai data "
|
||
"point; no big-block spending before it clears"],
|
||
["High", "Utilisation", "The cost structure is mostly fixed; 60% utilisation at mature size "
|
||
"cuts operating profit by more than half; the adverse case is loss-making at full volume",
|
||
"Phase capacity behind demand: one line, then Duplex, then automatic presses, each "
|
||
"revenue-gated; hold spare capacity as the turnaround promise requires"],
|
||
["High", "Press build time unknown", "Carries ~40% of the schedule; 15 to 18 months would "
|
||
"push launch to mid-2029", "Required field in the Newbilt and Pheenix re-quotes, now"],
|
||
["High", "Zoning of the candidate parcel unverified", "Gates phase 1 as much as phase 2; a "
|
||
"site reset costs ~6 months", "Verify before the BOI filing; industrial estate as fallback"],
|
||
["Medium", "Lease terms and building ownership", "A weak lease makes the building hard to "
|
||
"finance and exposes it at expiry", "Registered 30 to 50 year lease with renewal, explicit "
|
||
"building ownership and assignment rights; Thai counsel "
|
||
"in phase 0"],
|
||
["Medium", "Soil conditions", "Piling could add several hundred to 1,000+ THB/m² across "
|
||
"building, paving and fill", "Soil boring test in phase 0 (THB 30k to 50k)"],
|
||
["Medium", "Bridge stamper supplier", "Launch lead time rests on one small UK supplier with "
|
||
"no Asian customers; the 10 to 20 day external metal block is unmeasured", "Written "
|
||
"turnaround "
|
||
"agreement; cost "
|
||
"the galvanics-first "
|
||
"option (section 11)"],
|
||
["Medium", "Galvanics permitting and skills", "Effluent permitting is the most likely "
|
||
"regulatory friction; plating expertise is the hardest hire", "Zero-discharge design from the "
|
||
"start; industrial estate "
|
||
"option; recruit or train abroad; "
|
||
"keep out of the phase 1 licence "
|
||
"unless brought forward"],
|
||
["Medium", "Currency", "EUR equipment, THB costs, USD/EUR revenue; 10% moves are worth tens "
|
||
"of thousands on the press order and 0.09 to 0.17 USD per record on margin", "State currency "
|
||
"and validity "
|
||
"in quotes; "
|
||
"consider THB "
|
||
"pricing "
|
||
"regionally; "
|
||
"hedge the press "
|
||
"order"],
|
||
["Medium", "Vinyl demand is cyclical", "Global capacity has been added; the model assumes the "
|
||
"plant sells what it presses", "Mixed fleet suits boutique work that is less cyclical; "
|
||
"cassette and CD-R lines diversify; phase behind demand"],
|
||
["Medium", "Reject rate in early production", "Early runs will be worse than the 5 to 10% "
|
||
"allowance while the process settles", "Vendor commissioning, materials lab from day one, "
|
||
"QC layers, conservative launch promises"],
|
||
["Medium", "Competitive response", "The incumbent may add plating, or a second entrant may "
|
||
"appear; the domestic price ceiling may compress on our arrival", "Compete on capability "
|
||
"(traceability, QC, "
|
||
"climate), export "
|
||
"customers, and the "
|
||
"collaboration under "
|
||
"discussion"],
|
||
["Low", "Solar and battery integration", "Rack voltage vs inverter window; unpublished "
|
||
"certifications; mixed-vendor warranty", "Engineering checks and certificate requests in "
|
||
"phase 0; large float"],
|
||
["Low", "Cassette supply chain", "Blank tape and shells come from few suppliers", "Hold "
|
||
"stock; qualify two sources"],
|
||
["Low", "CD replication scope creep", "Adds USD 1.5M to 4.0M and a second commissioning "
|
||
"programme", "Decide before BOI filing; treat as a separate project if chosen"],
|
||
], widths_mm=[16, 40, 52, 62], font_pt=8),
|
||
P("**Open questions with owners and dates** are in the next section. Two standing caveats on the "
|
||
"evidence base: the Thai market data is one buyer, one plant and one afternoon, and the "
|
||
"underlying invoices and tour notes should be archived with this plan before it goes in front "
|
||
"of a bank; and the incumbent is a competitor, so every collaboration scenario assumes they would "
|
||
"buy a critical input from a new entrant, which they may decline to do."),
|
||
|
||
# ------------------------------------------------- 14 next steps
|
||
H1("14. Next steps and the ask"),
|
||
H2("14.1 Phase 0: the next three to six months"),
|
||
T(["#", "Action", "Owner", "Cost", "Retires"], [
|
||
["1", "Making Vinyl (Haarlem) and regional label conversations; test the 3.50 to 4.60 USD "
|
||
"blended price, run sizes, and whether 7 weeks instead of 14 plus freight is worth a premium",
|
||
"Simona, Alexander", "Travel", "Pricing risk"],
|
||
["2", "Engage a BOI-registered consultant; confirm the activity sub-code; put the "
|
||
"order-before-certificate question first; add cassette and CD-R; decide CD replication",
|
||
"Simona", "USD 5k to 15k", "Sequencing, scope"],
|
||
["3", "Thai counsel: lease heads of terms with the Mueang Chi lessor (term, renewal, building "
|
||
"ownership, assignment), zoning verification, company and shareholder structure including "
|
||
"Ploy Printing", "Simona, counsel", "USD 5k to 15k", "Zoning, lease, ownership"],
|
||
["4", "Soil boring test on the candidate parcel", "Alexander", "THB 30k to 50k", "Ground risk"],
|
||
["5", "Newbilt re-quote with build time, order-book position, PLC data access, currency and "
|
||
"validity; same questions to Pheenix Alpha for the AD12 and AD12 Manual", "Alexander",
|
||
"Free", "Schedule, price"],
|
||
["6", "Stamper Discs quote and written turnaround terms; line-itemised full-service invoice "
|
||
"from the incumbent; Digital Matrix galvanics quote and a Thai water-treatment vendor",
|
||
"Alexander", "Free", "Galvanics decision"],
|
||
["7", "Send the construction price request to two or three Thai PEB contractors", "Alexander",
|
||
"Free", "Building estimate"],
|
||
["8", "Thai utility RFQs: boiler, chiller, compressed air, HVAC (35% vs 45% humidity floor), "
|
||
"solar EPC; Deye and Gobel engineering checks", "Alexander", "Free", "Utilities band"],
|
||
["9", "Cassette and CD-R equipment quotes from two vendors each; tape and shell supply",
|
||
"Alexander", "Free", "New-scope estimates"],
|
||
["10", "60 rai title check for the coppice plan", "Simona", "Small", "Biomass path"],
|
||
["11", "Optional: vinyl manufacturing consultancy engagement for layout and installation "
|
||
"review", "Alexander", "GBP 10k to 20k", "Layout risk"],
|
||
["12", "Archive the Thai invoices and tour notes with this plan", "Simona", "None", "Evidence "
|
||
"base"],
|
||
], widths_mm=[8, 84, 26, 24, 28], font_pt=8),
|
||
H2("14.2 What the investor is asked for"),
|
||
KV([
|
||
["Now", "Approval of Phase 0 spending of ~USD 40k to 80k, and a decision on CD scope (section "
|
||
"4.9) before the BOI application is finalised."],
|
||
["On the gates clearing", "Commitment in principle to phase 1 at ~USD 2.2M to 3.9M, released "
|
||
"in the tranches of section 8.3, with the financing mix set to hold "
|
||
"debt-to-equity at or below 3:1."],
|
||
["Decisions", "Whether galvanics moves into phase 1 (section 11), once the phase 0 quotes are "
|
||
"in; the shareholder structure with Ploy Printing and the founders; hedging of "
|
||
"the press order."],
|
||
["Later", "Revenue-gated expansion to the full vision (~USD 4.4M to 8.0M in total) as the "
|
||
"launch plant proves the market: Duplex, galvanics, automatic presses, full "
|
||
"metrology, mastering room, biomass, and the phase 2 building."],
|
||
], widths_mm=[38, 132]),
|
||
P("The next version of this plan should carry: firm re-quotes in place of the expired and "
|
||
"estimated blocks, the negotiated lease figure, a second market data point, the investor's CD "
|
||
"decision, a year-by-year cash model for the ramp, and the shareholder terms. Each of those is "
|
||
"a phase 0 output."),
|
||
|
||
# --------------------------------------------------- 15 appendix
|
||
H1("15. Appendix: sources and planning documents"),
|
||
P("This plan is compiled from the project's planning repository (cnx_vinyl, GitLab), which is the "
|
||
"source of truth and holds the detail behind every section:"),
|
||
T(["Document", "Content"], [
|
||
["roadmap.md", "Next steps in dependency order, from the three current gates through launch "
|
||
"and expansion"],
|
||
["scale.md", "Project sizing on one page: capacity, building, land, electrical, solar, steam, "
|
||
"people"],
|
||
["finance/total-investment.md", "Full-vision and phased-entry capital roll-up with the basis "
|
||
"of every block"],
|
||
["finance/revenue-model.md", "Pricing, direct cost, margin, operating scenarios, and the "
|
||
"August 2026 Thai market data and factory tour"],
|
||
["finance/utilities-investment.csv", "Thai supplier candidates and budgetary ranges for "
|
||
"steam, cooling, air, water, HVAC, solar and battery"],
|
||
["finance/phase1-construction-rfq.md", "Contractor price request with quantities from the "
|
||
"parametric model"],
|
||
["equipment/pressing-line.md and equipment/newbilt/", "Press fleet strategy; Newbilt "
|
||
"budgetary offer, site requirements, "
|
||
"process schematic, service rates"],
|
||
["suppliers/vendor-landscape.md and equipment-suppliers.md", "Per-vendor narrative and the "
|
||
"full needs list with contacts"],
|
||
["process-flow.md, production-timeline.md, project-timeline.md", "The chain and its checks; "
|
||
"order turnaround stage by "
|
||
"stage; the calendar and "
|
||
"critical path"],
|
||
["traceability.md, quality-automation.md", "The traceability specification; metrology, "
|
||
"layered record QC, the materials lab, packaging QC"],
|
||
["sustainability.md, biomass.md", "Solar, heat recovery, water, zero discharge, materials; "
|
||
"the biomass fuel strategy and the 60 rai coppice"],
|
||
["facility-security.md, worker-safety.md", "Climate control, security, fire and life safety, "
|
||
"compliance anchors; safety program"],
|
||
["boi.md", "BOI promotion strategy, requirements, process, open items"],
|
||
["cnx_vinyl_parametric.FCStd and renders/", "The parametric building and site model on the "
|
||
"candidate parcel, and its renders"],
|
||
], widths_mm=[62, 108], font_pt=8.5),
|
||
P("Vendor PDFs and spreadsheets are primary sources and reflect the state of negotiations at "
|
||
"their file dates. Treat prices and lead times as snapshots, not commitments."),
|
||
]
|