Unified Engelbert Strauss workwear for all staff
Deploy test site / deploy (push) Successful in 43s

User, October 2026: we want unified Engelbert Strauss work clothes.

- worker-safety.md: decision recorded; everyone, office included, in the
  same Strauss workwear with the company logo, process PPE on top. Kit at
  Strauss catalogue prices checked October 2026 (incl. 19 % German VAT,
  which drops out on export): production 3 trousers e.s.motion 2020, 3
  polo shirts, 2 T-shirts, a sweatshirt, S1 safety shoes e.s. Vasegus II
  low, ~293 EUR before VAT, ~338 with embroidered logos (embroidery price
  an estimate); office 4 polos and a softshell jacket, ~127 EUR. Ordering:
  Strauss ships outside Germany where customs law allows, shipping quoted
  with the order, prepayment, duty and taxes charged to the recipient;
  Thai duty on work trousers 13.8 %, BOI does not cover clothing. About
  9k USD (~0.3M THB) a year at the start fleet. Check lighter lines for
  the press hall heat with samples.
- revenue-model.md: workwear noted on top of the x1.3.
- Fleet calculator: workwear line under labour (production and office
  kits a year, shipping and Thai duty), six new assumptions; 8,573 USD a
  year at the defaults.
This commit is contained in:
grabowski committed 2026-10-10 20:46:27 +07:00
1 parent 8032e0ea47
commit 53f3a07a45
3 files changed
+43 -1

No files matched your search

+13 -1
View File
@@ -353,7 +353,8 @@ document.documentElement.setAttribute("data-theme",t);})();
engineer a team figure), plus the employer's 5 % social security up to the 17,500 THB ceiling, 25 %
for overtime, bonus and PPE, and the company's health care for every member of staff, office
included: group health insurance, a yearly check-up, and the risk-factor tests Thai law requires
for the press floor, galvanics and maintenance (worker-safety.md).</p>
for the press floor, galvanics and maintenance; and unified Engelbert Strauss workwear with the
company logo for everyone, shipped from Germany with Thai duty (worker-safety.md).</p>
<p><b>Not scaled here:</b> admin, sales and logistics wages (in the overheads line); cover for
leave and sickness.</p>
<p>Sources in the CNX Vinyl planning repository: equipment/pressing-line.md,
@@ -496,6 +497,14 @@ grp("Labour: on-costs and health care", [
["checkup", "Annual health check-up", 2500, "THB a head a year", "est", "Estimate for an age mix; Rajavej Chiang Mai 2026 programmes 1,290 to 5,990 THB by age (worker-safety.md)"],
["occCheck", "Risk-factor tests (hearing, lungs, metals)", 1500, "THB a head a year", "est", "Estimate; required yearly for press floor, galvanics and maintenance (Ministerial Regulation B.E. 2547, worker-safety.md)"],
]);
grp("Workwear: Engelbert Strauss for all staff", [
["wwProd", "Production kit, with logo", 338, "EUR", "doc", "worker-safety.md: 3 trousers e.s.motion 2020, 3 polos, 2 T-shirts, sweatshirt, S1 safety shoes; Strauss prices without German VAT, October 2026; embroidery ~5 EUR a piece (estimate)"],
["wwOffice", "Office kit, with logo", 127, "EUR", "doc", "worker-safety.md: 4 polo shirts and a softshell jacket"],
["wwProdYr", "Production kits a head a year", 1, "", "est", "Estimate: daily wear and washing"],
["wwOffYr", "Office kits a head a year", 0.5, "", "est", "Estimate"],
["wwFreight", "Shipping to Thailand", 15, "% of goods", "est", "Estimate; Strauss quotes shipping with the order confirmation"],
["wwDuty", "Thai import duty on workwear", 14, "%", "doc", "HS 6203 work trousers 13.8 % (customs-compliance.ai, March 2026); BOI does not cover clothing; import VAT reclaimable"],
]);
grp("Planned plant, for the checks", [
["boiler", "Steam boiler", 400, "kg/h", "doc", "scale.md: sized for one Duplex system"],
["chiller", "Chiller", 250, "kW", "doc", "scale.md: sized for one Duplex system"],
@@ -665,6 +674,9 @@ function econ(r, b, boiOn = S.boi !== "off") {
add("lab", "Health insurance, all staff", t2u(h.all * A.healthIns), `${ppl(h.all)}, office included, at ${f0(A.healthIns)} THB a year`);
add("lab", "Health check-ups, all staff", t2u(h.all * A.checkup + h.exposed * A.occCheck),
`yearly for everyone, plus risk-factor tests for ${ppl(h.exposed)} on the press floor, in galvanics and maintenance`);
const wwEur = (h.prod * A.wwProd * A.wwProdYr + h.office * A.wwOffice * A.wwOffYr) * (1 + A.wwFreight / 100) * (1 + A.wwDuty / 100);
add("lab", "Workwear, Engelbert Strauss, all staff", wwEur * A.usdEur,
`${f1(h.prod * A.wwProdYr)} production and ${f1(h.office * A.wwOffYr)} office kits a year, shipping and Thai duty included`);
const sum = gs => L.filter(l => gs.includes(l[0])).reduce((a, l) => a + l[2], 0);
const direct = L.reduce((a, l) => a + l[2], 0), contrib = rev - direct, ebitda = contrib - A.overheads;
const fleetDelta = (r.D - 2) * A.capexD + (r.C - 1) * A.capexC;