Sign in with your BUI work account to continue.

Strategic Discount

This discount requires written approval from Sales Senior Management before it can be applied.

CONFIRMATION REQUIRED
By clicking Confirm, you confirm that written approval has been received and is on record for this discount.

Below-Standard Escalation Rate

An annual escalation below 5% requires written approval from Sales Senior Management before it can be applied.

CONFIRMATION REQUIRED
By clicking Confirm, you confirm that written approval has been received and is on record for this escalation rate.

Changelog

v1.6
13 August 2026
Top-Up Credit Packs table added to commercial schedule - Universal Support tab pricing page now shows a Small Pack (50 credits) and Large Pack (100 credits) table, priced at the quote's current per-credit rate plus a 10% premium (_topUpRate = creditSellFinal('us') * 1.10). Table shows Pack, Credits, and Pack Total only - per-credit rate is calculated internally but not displayed. Not part of the committed annual pool and does not escalate with multi-year term. Existing note wrongly stated top-ups were "available at the same per-credit rate" - removed. Trailing pricing-page note trimmed back to just the contract-term line; the duplicate "BUI is the First Technology Group's Microsoft specialist... contracting entity" paragraph removed as redundant with the entity block already shown in the quote header. Concierge tab unchanged - Concierge is priced by user tier, not credits, so top-up packs do not apply there, and its own copy of the duplicate entity paragraph was left in place pending confirmation.
v1.5
04 August 2026 · Published — live version is Universal-Support-Calculator-V1_5.html
Appendix A: Technology Coverage added - new trailing section listing certified on-premises (4 credit) and cloud/end-user (1 credit) technologies, resolving the dangling "Appendix A" reference in the Credit Based Service section. Content sourced from Universal-Support.md v0.6 Technology Coverage section. On-premises intro states support is limited to technologies under active Microsoft support, including extended support; end-of-extended-support technologies are out of scope. Hardcoded version numbers removed from five entries (Exchange Server, Office, SharePoint Server, SQL Server, Windows Server) since the intro already scopes support to in-support versions. Added as a shared section in buildProposal(), appears on both Universal Support and Concierge PDFs.
v1.4
1 July 2026 · Published — live version is Universal-Support-Calculator-V1_4.html
Currency selector moved to a shared top bar - replaced the two per-tab "Display Currency" dropdowns with a single full-width pill bar above the layout, matching the standard used across other BUI proposal tools. Now carries all six BUI trading currencies (ZAR, USD, EUR, GBP, CAD, AUD); the previous dropdowns only offered four. One shared selection now applies to both tabs at once rather than each tab tracking its own. Default changed to ZAR (was defaulting to USD on both tabs).
BUI delivery role note always shown in entity block - the proposal is FTG-branded regardless of contracting entity, so the customer always needs to understand BUI's role. getEntityBlock() now always appends a note explaining BUI is the Group's Microsoft specialist running the 24/7 service desk and first-line support, escalating into other Group companies for specialist expertise outside its scope. The contracting entity name is also called out explicitly so the two are never confused. Previously this was conditional on the entity not being BUI-branded.
"Local Expertise" framing removed - "Global Reach, Local Expertise" implied geographic proximity to the customer, which is not always true and is not the actual differentiator. Reframed in both the Executive Summary bullet and the Universal Support Overview section: heading changed to "Enterprise-Grade Support with Dedicated Delivery"; bullet changed to position a consistent account team with access to the full FTG specialist depth across all Microsoft solution areas and beyond.
Tax wording now entity-driven - ENTITIES carries a tax field per entity. PDF tax note and on-screen totals now pull from the selected entity instead of a hardcoded VAT string. BUI LLC (United States) now correctly states "exclusive of applicable sales, use, and other taxes" instead of VAT.
Bug fix - Concierge PDF generation - entityHtml was referenced in buildConciergeContent but never declared, throwing a ReferenceError on every Concierge PDF. Declared alongside the new taxNote lookup.
Bug fix - currency formatting - fmtZAR, fmtUSD, fmtDisplay, and fmtAnnAndUnit all formatted numbers using the en-ZA locale regardless of selected currency, rendering a comma decimal separator everywhere (e.g. R 26 635,50) including on USD, GBP, and EUR quotes. New fmtNum() helper formats ZAR with a dot decimal (space thousands) and all other currencies with standard comma-thousands, dot-decimal grouping.
On-screen and PDF labels generic - "(ex VAT)" labels across hero, breakdown tables, pricing tables, and seller summary changed to generic "(ex tax)". Currency-specific wording now lives only in the entity-driven tax note.
MTOM Systems Limited address corrected - "iHit" typo fixed to "iHub"; missing "Next to Maalim Juma Road" added, matching the skill's entity record.
Entity selector labels - em dashes in the five displayName strings replaced with hyphens.
v1.3
18 June 2026 · Published — live version is Universal-Support-Calculator-V1_3.html
Cost of sale column — breakdown tables on both Universal Support and Concierge tabs now show annual cost alongside sell price.
GP% column — GP% shown per line item and on the annual total row in both breakdown tables.
Entra ID SSO — Microsoft Entra ID authentication via MSAL.js. Sign-in gate on load; user pill with sign-out in toolbar. Shared BUI App Registration; localStorage token cache for single sign-on across tools.bui.systems.
v1.2
09 June 2026 · Published — live version is Universal-Support-Calculator-V1_2.html
Multi-year annual escalation — % field on US tab, hidden for 1-year quotes. Default 5%, floor 5%. Below-floor triggers approval modal.
Escalation approval modal — mirrors discount modal; cancel snaps back to 5%; confirm sets _escApproved flag which resets when value returns to ≥5%.
Per-year calc arrays — crByYr, eeByYr, subByYr, discByYr, totByYr. TCV is sum of year arrays, not annual × term. Fixed-amount discounts escalate proportionally across years.
Escalation rate shown in quote header — appears in meta block on multi-year proposals.
Bug fix — yrHdrs — variable removed in calc rewrite but still referenced in the thead template; inlined the expression directly.
Bug fix — oninput vs onblur — approval modal wasn't firing because it was wired to onblur. Moved to oninput so it fires as soon as the value drops below 5%.
Seller Card companion file — 6-tab internal battle card (What It Is, Qualify, Discovery, Objections, Competitors, Claims). FTG blue colour scheme. Internal use only.
Hero toolbar — Seller Card and Changelog buttons added to top-left of hero header. Dark/Light switcher top-right. Matches MXDR calculator pattern.
Changelog modal — this panel.
Dark / light mode toggle — pill button in the hero toolbar. Preference persisted in localStorage.
v1.0
May–June 2026 · Published — superseded by v1.3
GP slider — adjustable margin % per tab; derives sell price from cost at target GP. Falls back to CREDIT_BASE_GP (42.86%).
GP slider — floor and ceiling — floor 42.9% (derived from actual rate card). Ceiling 60%. Cost fixed; sell price scales up. Credits and EE lift evenly from their respective base GPs. Concierge tier price also responds.
Fixed uplift field — free-form ZAR amount added on top of GP-derived sell price. Always in base currency of the tab. Both tabs.
Mutual exclusivity — slider and uplift — slider clears the uplift field; uplift resets the slider to floor. Cannot use both simultaneously.
Annual-first display calc — annual total derived first, unit price = annual ÷ qty. Fixes unit × qty ≠ annual mismatch in the breakdown.
Concierge breakdown table — breakdown table added to Concierge tab matching Universal Support format. Tier price, EE, discount, and annual total all populated and responsive to the slider.
ENTITIES object — three separate data structures consolidated into a single ENTITIES object. BUI entity addresses and phone numbers updated from entities.md. BBBEE row wired conditionally for ZA entity. Directors footer data retained in object but not rendered.
Discount gate with approval modal — % and fixed-amount modes via pill toggle. Below-threshold discounts require approval before PDF generation.
Monetary discount pill toggle — % vs fixed amount; inline approval modal replacing browser confirm().
Compact single-table pricing layout — year columns, monthly payment row for monthly billing.
Quote header with entity address block — commencement date, Agreement Terms section, issuing entity dropdown (BUI entities).
Concierge USD tiers — 6 user-banded tiers ($35k–$210k), live ZAR conversion via open.er-api.com with fallback rates.
Multi-section PDF proposal — 15-section branded FTG document via html2pdf.app API. Cover, exec summary, service description, pricing, next steps, signature page.
TEST_MODE — pre-fills modal with test data; red banner when active. Set false before distributing.