Quote engine and pricing
How the live quote calculator works, how guardrails protect unit economics, and how auto-provisioning fits.
The Partner quote engine prices a deal in real time as the partner operator configures it. Tier discounts apply per component, category caps protect unit economics, and guardrails refuse deals that would breach minimum margin.
What gets priced
A quote has three pricing surfaces:
| Surface | Notes |
|---|---|
| Plan | Customer list price minus the partner's tier discount on plans. |
| Add-ons (metered) | Per-category discount cap on top of the tier. |
| Modules (flat entitlements) | Cost-anchored flat price per module, tier discount within the module category cap. |
The same customer list price is used everywhere. The partner price is the spread: list minus tier discount, clamped per category.
Tiers (operational)
The tier names are public; the actual discount structure is shared in the partner brief after application. The Partner Console renders the live spread in each quote, never as a public table.
| Tier | Designed for |
|---|---|
| Silver | Resellers entering the program. |
| Gold | MSSPs and resellers actively building pipeline. |
| Platinum | Design partners shaping the program. |
Live quote preview
As the operator changes plan, add-ons, or modules, the preview endpoint recomputes:
- Monthly customer price, partner price, partner earnings.
- Annual customer price, partner price, partner earnings.
- Per-component breakdown.
- Whether the quote breaches any guardrail (BLOCK / REVIEW / OK).
The preview endpoint returns the public view only. Internal cost, minimum price, and margin numbers never reach the partner-facing context.
Auto-provisioning threshold
A quote that:
- Is below the partner's auto-provision MRR ceiling,
- Does not breach any guardrail,
- Has
provisioning_mode = auto_below_threshold, - Has projected MRR within the tier's limit,
is provisioned automatically on submit. The customer access is created, the subscription starts, and an invitation goes out to the customer admin via the canonical invitation flow.
Quotes above the threshold or with any guardrail near-breach route to WASViking review.
Guardrails
Guardrails enforce the minimum-margin floor and prevent quotes that would damage unit economics. Guardrail values are operator-managed on the WASViking side and applied to every partner quote.
Examples of guardrails:
- Minimum monthly margin per access in absolute dollars.
- Minimum margin percentage per access.
- Per-category maximum discount.
- Storage cost driver, scan cost driver, edge cost driver, retention cost driver.
If a quote breaches a guardrail, the live preview surfaces the breach and the submit button blocks until either the deal is adjusted or the partner operator routes for review.
Protected categories
Some add-on categories carry conservative commercial terms across all tiers by policy:
- Edge Threat Radar. Continuous per-domain cost.
- Exposure Intel retention. Storage cost grows linearly.
- Sentinel. Engineering support overhead.
- SBOM. OSV+KEV refresh cost.
Discounts on these categories default to 0%. Platinum tier partners can negotiate exceptions, subject to guardrail review.
Trials and POCs
A quote can request trial_days. WASViking approves the request or
lowers it within the requested range. Trial accesses:
- Are NOT billed.
- Have Exposure Intel modules withheld at provisioning time (re-applied on conversion to paid).
- Are auto-suspended at T+0 if not converted, with a T-3 warning event in the audit log.
- Convert to paid in one click (early or after suspension).
Annual billing models
Two choices per access:
- Annual prepaid. Single annual charge; excluded from the consolidated monthly invoice; daily renewal task re-charges and rolls the commitment.
- Monthly commit (12 months). Stays in the monthly consolidated invoice; locks the access for 12 months. Minimum monthly commit gate applies.
The choice is gated by the quote preview (annual_commit_eligible).
Server-side revalidation rejects an ineligible monthly_commit and
falls back to prepaid with a warning.
Where this lives in the console
- New customer form: plan, add-ons, modules, trial, billing cycle, operating model. Live sticky preview bar shows the running cost.
- Quotes list: in-flight quotes, awaiting approval or auto- provisioned.
- Customer detail: change requests recompute the quote and route the same way.
