3.4 KiB
3.4 KiB
Quote Rules
Use this only when pricing or behavior rules are relevant. For general resume context, the four startup docs are enough.
Pricing source of truth
- Built-in pricing defaults live in
quote-pricing.js. package-prices.jsonmay override them at startup.readFormState()inquote-engine.jsmaps the DOM into a normalized state object.calculateQuote(state, pricing)inquote-engine.jsis the current pricing source of truth.calcQuote()inSVS-MSP-Calculator.jsremains as the compatibility wrapper used by the rest of the runtime.
Core billing rules
- User package base rate:
RATE_M365_M2M($140) when M365 Included + month-to-monthRATE_M365($130) when M365 Included + 12-month or 24-month termRATE_BYOL($110) when BYOL is selected (all terms)
- M365 retail comparison: monthly $36, annual $29 — savings shown in UI
- User add-ons:
- Extended Hours
- 1Password
- INKY Pro
- Zero Trust User Seat
- Endpoint pricing:
RATE_ENDPOINTper endpointADDON_USB_BLOCKINGper endpoint when selectedADDON_BARE_METAL_BACKUPper endpoint when selected
- Server pricing:
RATE_SERVERper server
- Zero Trust Networking:
ZT_SEAT_RATEper non-user device seatZT_ROUTER_RATEper HaaS device
- VoIP:
- tier rate per seat
- optional desk phone add-on
- optional eFax add-on priced per seat
Site admin fee rules
- Base subtotal for threshold logic:
- user base
- endpoint base
- server base
- Site admin base:
max(ADMIN_FEE_FLOOR, ADMIN_FEE_MINIMUM - baseSubtotal)
- Additional site admin charges:
ADMIN_FEE_ZTwhen Zero Trust is activeADMIN_1PWM_PCTsurcharge on 1Password MRR when 1Password is selected
- Admin fee can be manually waived
Contract term rules
- Month-to-month: no MRR discount, full onboarding fee
- 12-month: 3% off MRR + 50% off onboarding fee
- 24-month: 5% off MRR + complimentary onboarding (fully waived)
Onboarding fee rules
- Default onboarding fee is auto-calculated as 50% of pre-discount MRR
- 12-month term auto-applies 50% discount to onboarding (25% of MRR)
- 24-month term fully waives onboarding (complimentary)
- Manual entry overrides the auto value until reset
- Manual override value is preserved in
data-manual-valueattribute across term switches - Waived onboarding disables the input and shows complimentary state
- Onboarding fee is not included in headline MRR
Tax rules
- Ontario HST is optional (user toggle)
- HST is applied to discounted MRR, not base MRR
- Print/PDF export respects the user's HST toggle state (does not force HST on)
Savings and comparison rules
- M365 bundle savings are shown when M365 Included is selected
- BYOL can trigger a missed-savings callout
- VoIP can compare against a current phone bill input
- In-house IT comparison uses internal tool-cost and salary assumptions from pricing config
eFax pricing decision
- The approved business rule is per seat
- Current logic already calculates the eFax add-on per VoIP seat
- Any remaining
per linesales copy should be aligned in a small approved copy pass
JSON export rules
- Export includes
version: '1.0'as first field in payload - Schema defined in STAGE2-BUILD-PROMPT.md
- Intended for n8n workflow consumption
Admin fee nudge
- When Zero Trust is active (
ztActive), an amber nudge warns about the $250 admin fee supplement - Nudge is informational — does not block configuration