v1.2
25 Jun 2026 · Published
Dual-anchor currency model — 25 Jun 2026 · ZAR and USD are now fixed pricing anchors. USD fixed at US$ 92/mo and US$ 1,046/yr. EUR, GBP, CAD, AUD derived from the USD anchor via live rates (not from ZAR). fmt() rewritten to branch by currency: ZAR direct, USD via fixed ratio, others via USD→target conversion. rateDisplay updated to show fixed anchor message for USD.
v1.1
25 Jun 2026 · Published
Six-currency bar — 25 Jun 2026 · CAD and AUD added to currency bar, fallback rates, SYM map, and fetchRates to meet the six-currency standard.
fmt() standardised — 25 Jun 2026 · Replaced toLocaleString with manual thousands separator and two-decimal output everywhere. Prevents Puppeteer decimal-separator regression in PDFs.
Entity-driven tax wording — 25 Jun 2026 · Hardcoded VAT note replaced with entity.tax via d.taxNote. US entity now emits correct sales/use/other taxes wording. taxNote added to buildDealData.
Kenya entity added — 25 Jun 2026 · MTOM Systems Limited added to ENTITIES and entity selector. All entities now carry the tax field.
Dead code removed — 25 Jun 2026 · Removed broken discRow variable, P_ref alias, and duplicated markup-total if/else block. getUpliftZAR rewritten without redundant branch.
CSS cleanup — 25 Jun 2026 · Removed unused theme-row class. Added missing hero-warn style. Action buttons moved to CSS classes.
Multi-year monthly pricing fix — 25 Jun 2026 · PDF year-columns now show monthly fee per year for monthly billing. Column headers now label Annual fee / Monthly fee explicitly. On-screen secondary stat relabelled to Annual total (year 1) for multi-year monthly.
Currency note removed — 25 Jun 2026 · Removed the indicative currency conversion footnote from the calculator UI.
Changelog converted to static HTML — 25 Jun 2026 · Replaced JS CHANGELOG array and dynamic render with static HTML pattern per skill standard. Unreleased block introduced.
v1.0
22 Jun 2026 · Initial release
SSO — Hub-redirect SSO via MSAL.js. Auth gate on page load. User pill with sign-out in toolbar. Graph pre-fill for author name and email in step 3.
Seller Card button — Opens the HoneyForge seller card at tools.bui.systems/honeyforge in a new tab.
Device count — Free-text number field. No slider.
Contract term and payment type — 1/2/3-year term and annual upfront / monthly billing. TCV is term-aware.
GP uplift — % uplift slider and fixed-amount uplift field, mutually exclusive. Pure margin above base 30% GP.
Strategic discount — Discount toggle with approval gate. Erodes GP; shown as credit line in the cost breakdown.
Annual escalation — Escalation % for multi-year deals. Default 5% CPI. Below 5% triggers approval modal. Compounded year-on-year; COS stays flat.
Delivery address — Required field in step 1. Shown in agreement details of the commercial schedule.
CRM Deal ID — HubSpot Deal ID required in step 3.