Cavaridge Academy
Quoting Mastery
Module 1 of 5

Catalog foundations

How the billing catalog works, how prices map to Stripe, and where the GM-floor lives.

Video — pending production
Read the transcript below. Once recording is complete, the video will replace this notice.
--- title: Catalog foundations status: draft note: AI-generated first-pass transcript pending video production + SME review. --- Cavaridge Operations — internal codename Cavalier — is the quoting, contracting, and billing surface for every MSP on the platform. Before you ever build a quote, internalize one rule: the **billing catalog** is the truth, Stripe is downstream. ## What lives in the catalog `packages/billing-catalog/` declares every billable thing on the platform: products (Build, Operations, Security, Healthcare, Platform, PawVault), tiers per product (Pro / Team), prices in cents, and a companion COGS estimate per seat per month. Each entry has a `catalog_id`. That id is how the platform syncs to Stripe — Stripe products and prices are matched on `metadata.catalog_id`, not Stripe IDs. So: - Catalog change → next sync updates Stripe. - Manual edit in the Stripe dashboard → next sync overwrites it. Don't fight this. The catalog is upstream by design. ## GM-floor (55%) Every retail price has to clear a 55% gross-margin floor against its COGS estimate. This is enforced in CI: a PR that drops a price below floor without an explicit override + approval fails the build. You will encounter this when a client asks for a custom price. The _right_ path is `tenantConfig.reseller.margin_overrides` — a per-client override that documents the why and is explicitly reviewed. The _wrong_ path is editing the catalog price for everyone or slipping under the floor. ## Stripe Tax Cavaridge™ is registered in Florida for Stripe Tax. Quotes for Florida customers compute tax automatically. Quotes for other states compute tax only if the operator has registered there. If you need sales tax in a new state, that's an operator-side registration step, not a catalog change. ## Pax8 partnership For MSPs reselling through Pax8: the catalog has Pax8 SKUs mapped to catalog ids, the customer of record stays with the MSP's client, and the wholesale flow goes Pax8 → MSP → Cavaridge™. Margin overrides apply the same way they do for direct-billed clients. ## What you can do, and what's blocked You can: - Create quotes referencing any catalog id. - Apply margin overrides through the documented path. - Configure a per-client tier (Pro vs Team). You can't: - Hardcode a price in a quote that doesn't trace to the catalog. - Sneak a price below floor without an override + approval. - Edit prices in Stripe and expect them to stick. These boundaries exist because the alternative is silent drift between what you sold, what was billed, and what your books say. Hold the line. ## What's next Module 2 puts you in the sandbox to build a real quote against a seeded MSP tenant. You'll see the catalog gate fire when you push the edge of what's allowed. That's the whole point — feel the gate before a real client is on the line.

Knowledge check

  1. Question 1 · select one
    The single source of truth for prices on the Cavaridge™ platform is
  2. Question 2 · select one
    GM-floor enforcement (55%) blocks
  3. Question 3 · select one
    A manual price edit in the Stripe dashboard will