Files
cnx_vinyl/docs/business-plan/build/content_c.py
T
grabowski 3934dc1dc4 Add investor business plan (draft 0.1) with its Python builder
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.
2026-09-10 10:20:05 +02:00

550 lines
47 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""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."),
]