refactor(pricing): single source of truth for the service catalog

Previously two hand-maintained price lists (API COMPLIANCE_SERVICES + site
SERVICE_META) drifted apart -- that is how the healthcare +$200 raise charged
$399 while displaying $599. Eliminate the drift class entirely:

- Move the catalog to api/src/service-catalog.ts (the authority; checkout
  charges from it). compliance-orders.ts imports it.
- scripts/gen-service-catalog.mjs generates site/src/lib/service-catalog.generated.ts
  from the API source. intake_manifest.ts re-exports SERVICE_META from it, so all
  ~60 site pages keep working unchanged.
- deploy.sh regenerates + drift-checks before building (site build context is
  ./site only and cannot read ../api, so generation happens host-side).
- scripts/check-service-catalog-drift.mjs fails the build if the generated file
  ever diverges from the API (verified: passes aligned, fails on mismatch).

To change a price now, edit ONE file: api/src/service-catalog.ts.
This commit is contained in:
justin 2026-06-07 19:11:34 -05:00
parent 2bba28ae6b
commit 09e21a6c97
7 changed files with 718 additions and 534 deletions

View file

@ -12,6 +12,7 @@
import { Router } from "express";
import { pool } from "../db.js";
import { randomBytes } from "crypto";
import { COMPLIANCE_SERVICES } from "../service-catalog.js";
const router = Router();
@ -34,479 +35,6 @@ function emailError(raw: unknown): string | null {
return null;
}
// ── Service catalog (prices in cents) ──────────────────────────────────────
const COMPLIANCE_SERVICES: Record<
string,
{ name: string; price_cents: number; gov_fee_cents?: number; gov_fee_label?: string; erpnext_item: string; discountable: boolean }
> = {
"fcc-compliance-checkup": {
name: "FCC Carrier Compliance Checkup",
price_cents: 79900,
erpnext_item: "FCC-COMPLIANCE-CHECKUP",
discountable: true,
},
"fcc-499a": {
name: "FCC Form 499-A Filing",
price_cents: 49900,
erpnext_item: "FCC-499A",
discountable: true,
},
"fcc-499a-zero": {
name: "FCC Form 499-A Filing (Zero Revenue)",
price_cents: 17900,
erpnext_item: "FCC-499A-ZERO",
discountable: true,
},
"fcc-499a-499q": {
name: "FCC Form 499-A + 499-Q Bundle",
price_cents: 59900,
erpnext_item: "FCC-499A-499Q",
discountable: true,
},
"fcc-full-compliance": {
name: "FCC Full Compliance Bundle",
price_cents: 149900,
erpnext_item: "FCC-FULL-COMPLIANCE",
discountable: true,
},
"cpni-certification": {
name: "CPNI Annual Certification",
price_cents: 19900,
erpnext_item: "CPNI-CERT",
discountable: true,
},
"rmd-filing": {
name: "RMD Registration / Recertification",
price_cents: 24900,
gov_fee_cents: 10000,
gov_fee_label: "FCC RMD filing fee",
erpnext_item: "RMD-FILING",
discountable: true,
},
"stir-shaken": {
name: "STIR/SHAKEN Implementation Assistance",
price_cents: 49900,
erpnext_item: "STIR-SHAKEN",
discountable: true,
},
"dc-agent": {
name: "D.C. Registered Agent (Annual)",
price_cents: 14900,
erpnext_item: "DC-AGENT",
discountable: false,
},
// BDC filings — the FCC retired Form 477 in Dec 2022 and folded voice
// subscription data into BDC. Broadband-only and voice-only SKUs let
// carriers pay for just what they need; bdc-filing remains as a bundle.
"bdc-broadband": {
name: "BDC Broadband Deployment Filing",
price_cents: 24900,
erpnext_item: "BDC-BROADBAND",
discountable: true,
},
"bdc-voice": {
name: "BDC Voice Subscription Filing (formerly Form 477 Voice)",
price_cents: 19900,
erpnext_item: "BDC-VOICE",
discountable: true,
},
"bdc-filing": {
name: "BDC Filing (Broadband + Voice)",
price_cents: 34900,
erpnext_item: "BDC-FILING",
discountable: true,
},
// New-carrier entry point — register in CORES + obtain FRN
"cores-frn-registration": {
name: "CORES / FRN Registration",
price_cents: 14900,
erpnext_item: "CORES-FRN",
discountable: true,
},
// 499-A New Filer Registration (distinct from the annual revenue filing)
"fcc-499-initial": {
name: "Form 499 Initial Registration",
price_cents: 34900,
erpnext_item: "FCC-499-INITIAL",
discountable: true,
},
// CALEA System Security & Integrity plan (47 USC 229)
"calea-ssi": {
name: "CALEA SSI Plan",
price_cents: 79900,
erpnext_item: "CALEA-SSI",
discountable: true,
},
// 47 CFR § 63.11 Foreign Carrier Affiliation Notification
"fcc-63-11-notification": {
name: "Foreign Carrier Affiliation Notification (47 CFR § 63.11)",
price_cents: 34900,
erpnext_item: "FCC-63-11",
discountable: true,
},
// One-click onboarding for a brand-new carrier (composes 5 filings)
"new-carrier-bundle": {
name: "New Carrier Onboarding Bundle (FRN + 499 Initial + RMD + CPNI + CALEA)",
price_cents: 179900,
erpnext_item: "NEW-CARRIER-BUNDLE",
discountable: true,
},
// NECA OCN registration — required for VoIP/IPES carriers that need
// their own Operating Company Number for STIR/SHAKEN signing, LRN
// assignments, or direct numbering authority. NECA charges $550
// standard / $675 expedited; we pass through + margin for prep work.
"ocn-registration": {
name: "NECA OCN + Sponsoring CLEC Agreement",
price_cents: 265000,
erpnext_item: "OCN-REGISTRATION",
discountable: false,
},
"fcc-499q": {
name: "FCC Form 499-Q Quarterly Filing",
price_cents: 0, // included in 499-A+Q bundle — not sold standalone
erpnext_item: "FCC-499Q",
discountable: false,
},
"fcc-499a-discontinuance": {
name: "Form 499-A Discontinuance Filing",
price_cents: 29900,
erpnext_item: "499A-DISCONTINUANCE",
discountable: false,
},
// Standalone CDR Traffic Study — customers who want the classified
// study (unlocks the current reporting year) without buying the
// full 499-A filing service. Either slug unlocks the study via the
// cdr_study_access_grants paywall hook.
"cdr-analysis": {
name: "CDR Traffic Study (Annual)",
price_cents: 49900,
erpnext_item: "CDR-ANALYSIS",
discountable: true,
},
// CDR storage / processing tiers. Annual subscription; renew alongside
// the filing. Each tier is additive — customer picks the smallest tier
// that covers their worst of (storage bytes, classified rows).
"cdr-storage-tier1": {
name: "CDR Storage Tier 1 (50 GB / 50M calls)",
price_cents: 9900,
erpnext_item: "CDR-STORAGE-TIER1",
discountable: false,
},
"cdr-storage-tier2": {
name: "CDR Storage Tier 2 (250 GB / 250M calls)",
price_cents: 29900,
erpnext_item: "CDR-STORAGE-TIER2",
discountable: false,
},
"cdr-storage-tier3": {
name: "CDR Storage Tier 3 (1 TB / 1B calls)",
price_cents: 79900,
erpnext_item: "CDR-STORAGE-TIER3",
discountable: false,
},
// ── Foreign qualification (Certificate of Authority) ─────────────────
// Per-state fees are added on top of these flat service fees at order
// time (state fee + NWRA RA wholesale, looked up from jurisdictions +
// state_filing_fees). Handler fans out one filing per selected state.
//
// Pricing model:
// - `foreign-qualification-single`: flat service fee ($149) + state
// fee + optional NWRA RA. One state per order.
// - `foreign-qualification-multi`: discounted per-state service fee
// ($99) + state fees + RAs. For FCC carriers filing across their
// operating territory.
"foreign-qualification-single": {
name: "Foreign Qualification (One State)",
price_cents: 14900,
erpnext_item: "FOREIGN-QUAL-SINGLE",
discountable: true,
},
"foreign-qualification-multi": {
name: "Foreign Qualification (Multi-State)",
price_cents: 9900, // per-state service fee
erpnext_item: "FOREIGN-QUAL-MULTI",
discountable: true,
},
// State PUC/PSC Registration — $399 per-state service fee + state
// filing fees. Bond procurement coordinated separately.
"state-puc": {
name: "State PUC/PSC Registration",
price_cents: 39900, // per-state service fee
erpnext_item: "STATE-PUC",
discountable: true,
},
// ── DOT / FMCSA Motor Carrier Services ──────────────────────────────
"mcs150-update": {
name: "MCS-150 Biennial Update",
price_cents: 3900,
erpnext_item: "MCS150-UPDATE",
discountable: true,
},
"boc3-filing": {
name: "BOC-3 Process Agent Filing",
price_cents: 8900,
erpnext_item: "BOC3-FILING",
discountable: false, // passthrough cost — $25 to Process Agent LLC
},
"ucr-registration": {
name: "UCR Annual Registration",
price_cents: 3900,
gov_fee_cents: 4600, // minimum tier ($46 for 0-2 power units)
gov_fee_label: "UCR registration fee (tier-based, minimum shown)",
erpnext_item: "UCR-REGISTRATION",
discountable: true,
},
"dot-registration": {
name: "New USDOT Number Registration",
price_cents: 8900,
erpnext_item: "DOT-REGISTRATION",
discountable: true,
},
"mc-authority": {
name: "MC Operating Authority Application",
price_cents: 19900, // $199 + $300 FMCSA gov fee
gov_fee_cents: 30000, // $300 FMCSA application fee
gov_fee_label: "FMCSA operating authority application fee",
erpnext_item: "MC-AUTHORITY",
discountable: false, // $300 FMCSA gov fee makes this non-discountable
},
"usdot-reactivation": {
name: "USDOT Number Reactivation",
price_cents: 14900,
erpnext_item: "USDOT-REACTIVATION",
discountable: true,
},
"emergency-temporary-authority": {
name: "Emergency Temporary Authority (ETA)",
price_cents: 49900,
erpnext_item: "EMERGENCY-TEMP-AUTH",
discountable: false, // urgent service, premium pricing
},
"dot-drug-alcohol": {
name: "DOT Drug & Alcohol Compliance Program",
price_cents: 14900,
erpnext_item: "DOT-DRUG-ALCOHOL",
discountable: true, // instant PDF binder we generate — our own deliverable, no passthrough cost
},
"dot-audit-prep": {
name: "New Entrant Safety Audit Preparation",
price_cents: 39900,
erpnext_item: "DOT-AUDIT-PREP",
discountable: true,
},
"dot-full-compliance": {
name: "DOT Full Compliance Bundle",
price_cents: 39900, // $399 — includes MCS-150+BOC-3+UCR+D&A+Audit ($775 individual)
erpnext_item: "DOT-FULL-COMPLIANCE",
discountable: true,
},
"carrier-closeout": {
name: "Trucking Wrap-Up (USDOT Shutdown)",
price_cents: 19900, // $199 — final MCS-150 (out of business) + MC revoke + UCR cancel + state account closures
erpnext_item: "CARRIER-CLOSEOUT",
discountable: true,
},
"entity-dissolution": {
name: "Business Entity Dissolution (LLC/Corp)",
price_cents: 4900, // $49 add-on to the wrap-up — LLC/Corp dissolution + final report; state filing fees billed separately
gov_fee_label: "State dissolution filing fee (varies by state, billed at cost)",
erpnext_item: "ENTITY-DISSOLUTION",
discountable: true,
},
// ── State-Level Trucking Compliance ──────────────────────────────────
// For these services the price_cents is our flat SERVICE fee only. The
// actual state government charges (apportioned IRP registration, IFTA decal
// fees, weight-distance/HUT account setup, permit/decal costs) vary by the
// carrier's fleet weight, mileage, and base state, so they are passed
// through AT COST and billed separately once the state issues the invoice —
// we never mark them up. The gov_fee_label is shown to the customer at
// checkout so the pass-through is disclosed up front.
"irp-registration": {
name: "IRP Registration Assistance",
price_cents: 10900, // + state fees (apportioned registration billed at cost)
gov_fee_label: "Apportioned IRP registration & plate fees (state, by jurisdictions + weight, billed at cost)",
erpnext_item: "IRP-REGISTRATION",
discountable: true,
},
"ifta-application": {
name: "IFTA Application + Decals",
price_cents: 10900, // + state fees
gov_fee_label: "IFTA license & decal fees (state, billed at cost)",
erpnext_item: "IFTA-APPLICATION",
discountable: true,
},
"ifta-quarterly": {
name: "IFTA Quarterly Filing",
price_cents: 10900,
gov_fee_label: "IFTA taxes due (remitted to the state at cost based on your mileage)",
erpnext_item: "IFTA-QUARTERLY",
discountable: true,
},
"or-weight-mile-tax": {
name: "Oregon Weight-Mile Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "Oregon weight-mile tax account & bond/deposit (state, billed at cost)",
erpnext_item: "OR-WEIGHT-MILE-TAX",
discountable: true,
},
"ny-hut-registration": {
name: "NY Highway Use Tax Registration",
price_cents: 10900, // + state fees
gov_fee_label: "NY HUT certificate & decal fees (state, billed at cost)",
erpnext_item: "NY-HUT-REGISTRATION",
discountable: true,
},
"ky-kyu-registration": {
name: "KY Weight-Distance Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "KYU weight-distance account fees (state, billed at cost)",
erpnext_item: "KY-KYU-REGISTRATION",
discountable: true,
},
"nm-weight-distance": {
name: "NM Weight-Distance Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "NM weight-distance permit & account fees (state, billed at cost)",
erpnext_item: "NM-WEIGHT-DISTANCE",
discountable: true,
},
"ct-highway-use-fee": {
name: "CT Highway Use Fee Setup",
price_cents: 10900, // + state fees
gov_fee_label: "CT Highway Use Fee registration (state, billed at cost)",
erpnext_item: "CT-HIGHWAY-USE-FEE",
discountable: true,
},
"ca-mcp-carb": {
name: "California MCP + CARB Compliance",
price_cents: 22900, // $229 + state fees (CA is more complex: MCP + CARB)
gov_fee_label: "CA MCP permit fee + CARB/Clean Truck Check fees (state, by fleet size, billed at cost)",
erpnext_item: "CA-MCP-CARB",
discountable: true,
},
"state-dot-registration": {
name: "State DOT Registration",
price_cents: 10900, // + state fees
gov_fee_label: "State DOT/intrastate registration fee (state, billed at cost)",
erpnext_item: "STATE-DOT-REGISTRATION",
discountable: true,
},
"intrastate-authority": {
name: "Intrastate Operating Authority",
price_cents: 10900, // + state fees
gov_fee_label: "State intrastate authority filing fee (state, billed at cost)",
erpnext_item: "INTRASTATE-AUTHORITY",
discountable: true,
},
"osow-permit": {
name: "Oversize/Overweight Permit",
price_cents: 10900, // + state permit fees
gov_fee_label: "State oversize/overweight permit fees (per trip/route, billed at cost)",
erpnext_item: "OSOW-PERMIT",
discountable: true,
},
"state-trucking-bundle": {
name: "State Compliance Bundle",
price_cents: 49900, // $499 — IRP+IFTA+weight tax+intrastate ($796 individual)
gov_fee_label: "State registration, decal & tax fees for each included filing (billed at cost)",
erpnext_item: "STATE-TRUCKING-BUNDLE",
discountable: true,
},
// ── Hazmat / Emissions ───────────────────────────────────────────────
"hazmat-phmsa": {
name: "PHMSA Hazmat Registration",
price_cents: 14900, // $149 admin-assisted; PHMSA gov fee billed at cost
gov_fee_label: "PHMSA registration fee ($25 + $250-$3,000 processing, by business size, billed at cost)",
erpnext_item: "HAZMAT-PHMSA",
discountable: true,
},
"state-emissions": {
name: "State Clean-Truck / Emissions Compliance",
price_cents: 10900, // $109 + state fees — NY/CO/MD/NJ/MA clean-truck / ACT advisory + registration assist
erpnext_item: "STATE-EMISSIONS",
discountable: true,
},
// ── Corporate / Entity Services ──
"annual-report-filing": {
name: "Annual Report / Franchise Tax Filing",
price_cents: 14900,
erpnext_item: "ANNUAL-REPORT",
discountable: true,
},
"registered-agent": {
name: "Registered Agent Service (1 Year)",
price_cents: 9900,
erpnext_item: "REGISTERED-AGENT",
discountable: true,
},
"entity-reinstatement": {
name: "Entity Reinstatement",
price_cents: 29900,
erpnext_item: "ENTITY-REINSTATEMENT",
discountable: true,
},
"virtual-mailbox": {
name: "Virtual Mailbox (1 Year)",
price_cents: 14900,
erpnext_item: "VIRTUAL-MAILBOX",
discountable: true,
},
"ein-application": {
name: "EIN Application (IRS SS-4)",
price_cents: 7900,
erpnext_item: "EIN-APPLICATION",
discountable: true,
},
"entity-upgrade-bundle": {
name: "Entity Upgrade Package (Sole Prop → LLC)",
price_cents: 59900,
erpnext_item: "ENTITY-UPGRADE-BUNDLE",
discountable: true,
},
// ── Healthcare / NPI compliance ──────────────────────────────────────
// CMS/NPPES provider compliance. Handlers are review-staged (a human
// files in PECOS/NPPES) — same safety default as the FCC auto-filing
// toggle. HIPAA is intentionally out of scope (separate specialty).
// Flagship = npi-revalidation (CMS 5-yr Medicare revalidation, dateable
// overdue signal from the free CMS revalidation list).
"npi-revalidation": {
name: "Medicare PECOS Revalidation Filing",
price_cents: 59900,
erpnext_item: "NPI-REVALIDATION",
discountable: true,
},
"npi-reactivation": {
name: "NPI Reactivation",
price_cents: 44900,
erpnext_item: "NPI-REACTIVATION",
discountable: true,
},
"nppes-update": {
name: "NPPES Data Update / Attestation",
price_cents: 34900,
erpnext_item: "NPPES-UPDATE",
discountable: true,
},
"medicare-enrollment": {
name: "Medicare Enrollment (PECOS)",
price_cents: 69900,
erpnext_item: "MEDICARE-ENROLLMENT",
discountable: true,
},
"oig-sam-screening": {
name: "OIG/SAM Exclusion Screening (Annual)",
price_cents: 29900,
erpnext_item: "OIG-SAM-SCREENING",
discountable: false,
},
"provider-compliance-bundle": {
name: "Provider Compliance Bundle (Annual)",
price_cents: 89900,
erpnext_item: "PROVIDER-COMPLIANCE-BUNDLE",
discountable: true,
},
};
// ── Intake validation map ─────────────────────────────────────────────
//

494
api/src/service-catalog.ts Normal file
View file

@ -0,0 +1,494 @@
/**
* Canonical compliance service catalog -- SINGLE SOURCE OF TRUTH for pricing.
*
* This is the authority: checkout charges order.service_fee_cents which is set
* from this catalog at order-creation time. The public site does NOT keep its
* own copy; site/src/lib/service-catalog.generated.ts is generated from this
* file by scripts/gen-service-catalog.mjs (run automatically before site build),
* and intake_manifest.ts re-exports it as SERVICE_META. To change a price, edit
* ONLY this file.
*
* Keep slug set in sync with:
* - api/src/routes/compliance-orders.ts REQUIRED_FIELDS (intake validation)
* - scripts/workers/services/__init__.py SERVICE_HANDLERS (fulfillment)
*/
export interface ComplianceService {
name: string;
price_cents: number;
gov_fee_cents?: number;
gov_fee_label?: string;
erpnext_item: string;
discountable: boolean;
}
export const COMPLIANCE_SERVICES: Record<string, ComplianceService> = {
"fcc-compliance-checkup": {
name: "FCC Carrier Compliance Checkup",
price_cents: 79900,
erpnext_item: "FCC-COMPLIANCE-CHECKUP",
discountable: true,
},
"fcc-499a": {
name: "FCC Form 499-A Filing",
price_cents: 49900,
erpnext_item: "FCC-499A",
discountable: true,
},
"fcc-499a-zero": {
name: "FCC Form 499-A Filing (Zero Revenue)",
price_cents: 17900,
erpnext_item: "FCC-499A-ZERO",
discountable: true,
},
"fcc-499a-499q": {
name: "FCC Form 499-A + 499-Q Bundle",
price_cents: 59900,
erpnext_item: "FCC-499A-499Q",
discountable: true,
},
"fcc-full-compliance": {
name: "FCC Full Compliance Bundle",
price_cents: 149900,
erpnext_item: "FCC-FULL-COMPLIANCE",
discountable: true,
},
"cpni-certification": {
name: "CPNI Annual Certification",
price_cents: 19900,
erpnext_item: "CPNI-CERT",
discountable: true,
},
"rmd-filing": {
name: "RMD Registration / Recertification",
price_cents: 24900,
gov_fee_cents: 10000,
gov_fee_label: "FCC RMD filing fee",
erpnext_item: "RMD-FILING",
discountable: true,
},
"stir-shaken": {
name: "STIR/SHAKEN Implementation Assistance",
price_cents: 49900,
erpnext_item: "STIR-SHAKEN",
discountable: true,
},
"dc-agent": {
name: "D.C. Registered Agent (Annual)",
price_cents: 14900,
erpnext_item: "DC-AGENT",
discountable: false,
},
// BDC filings — the FCC retired Form 477 in Dec 2022 and folded voice
// subscription data into BDC. Broadband-only and voice-only SKUs let
// carriers pay for just what they need; bdc-filing remains as a bundle.
"bdc-broadband": {
name: "BDC Broadband Deployment Filing",
price_cents: 24900,
erpnext_item: "BDC-BROADBAND",
discountable: true,
},
"bdc-voice": {
name: "BDC Voice Subscription Filing (formerly Form 477 Voice)",
price_cents: 19900,
erpnext_item: "BDC-VOICE",
discountable: true,
},
"bdc-filing": {
name: "BDC Filing (Broadband + Voice)",
price_cents: 34900,
erpnext_item: "BDC-FILING",
discountable: true,
},
// New-carrier entry point — register in CORES + obtain FRN
"cores-frn-registration": {
name: "CORES / FRN Registration",
price_cents: 14900,
erpnext_item: "CORES-FRN",
discountable: true,
},
// 499-A New Filer Registration (distinct from the annual revenue filing)
"fcc-499-initial": {
name: "Form 499 Initial Registration",
price_cents: 34900,
erpnext_item: "FCC-499-INITIAL",
discountable: true,
},
// CALEA System Security & Integrity plan (47 USC 229)
"calea-ssi": {
name: "CALEA SSI Plan",
price_cents: 79900,
erpnext_item: "CALEA-SSI",
discountable: true,
},
// 47 CFR § 63.11 Foreign Carrier Affiliation Notification
"fcc-63-11-notification": {
name: "Foreign Carrier Affiliation Notification (47 CFR § 63.11)",
price_cents: 34900,
erpnext_item: "FCC-63-11",
discountable: true,
},
// One-click onboarding for a brand-new carrier (composes 5 filings)
"new-carrier-bundle": {
name: "New Carrier Onboarding Bundle (FRN + 499 Initial + RMD + CPNI + CALEA)",
price_cents: 179900,
erpnext_item: "NEW-CARRIER-BUNDLE",
discountable: true,
},
// NECA OCN registration — required for VoIP/IPES carriers that need
// their own Operating Company Number for STIR/SHAKEN signing, LRN
// assignments, or direct numbering authority. NECA charges $550
// standard / $675 expedited; we pass through + margin for prep work.
"ocn-registration": {
name: "NECA OCN + Sponsoring CLEC Agreement",
price_cents: 265000,
erpnext_item: "OCN-REGISTRATION",
discountable: false,
},
"fcc-499q": {
name: "FCC Form 499-Q Quarterly Filing",
price_cents: 0, // included in 499-A+Q bundle — not sold standalone
erpnext_item: "FCC-499Q",
discountable: false,
},
"fcc-499a-discontinuance": {
name: "Form 499-A Discontinuance Filing",
price_cents: 29900,
erpnext_item: "499A-DISCONTINUANCE",
discountable: false,
},
// Standalone CDR Traffic Study — customers who want the classified
// study (unlocks the current reporting year) without buying the
// full 499-A filing service. Either slug unlocks the study via the
// cdr_study_access_grants paywall hook.
"cdr-analysis": {
name: "CDR Traffic Study (Annual)",
price_cents: 49900,
erpnext_item: "CDR-ANALYSIS",
discountable: true,
},
// CDR storage / processing tiers. Annual subscription; renew alongside
// the filing. Each tier is additive — customer picks the smallest tier
// that covers their worst of (storage bytes, classified rows).
"cdr-storage-tier1": {
name: "CDR Storage Tier 1 (50 GB / 50M calls)",
price_cents: 9900,
erpnext_item: "CDR-STORAGE-TIER1",
discountable: false,
},
"cdr-storage-tier2": {
name: "CDR Storage Tier 2 (250 GB / 250M calls)",
price_cents: 29900,
erpnext_item: "CDR-STORAGE-TIER2",
discountable: false,
},
"cdr-storage-tier3": {
name: "CDR Storage Tier 3 (1 TB / 1B calls)",
price_cents: 79900,
erpnext_item: "CDR-STORAGE-TIER3",
discountable: false,
},
// ── Foreign qualification (Certificate of Authority) ─────────────────
// Per-state fees are added on top of these flat service fees at order
// time (state fee + NWRA RA wholesale, looked up from jurisdictions +
// state_filing_fees). Handler fans out one filing per selected state.
//
// Pricing model:
// - `foreign-qualification-single`: flat service fee ($149) + state
// fee + optional NWRA RA. One state per order.
// - `foreign-qualification-multi`: discounted per-state service fee
// ($99) + state fees + RAs. For FCC carriers filing across their
// operating territory.
"foreign-qualification-single": {
name: "Foreign Qualification (One State)",
price_cents: 14900,
erpnext_item: "FOREIGN-QUAL-SINGLE",
discountable: true,
},
"foreign-qualification-multi": {
name: "Foreign Qualification (Multi-State)",
price_cents: 9900, // per-state service fee
erpnext_item: "FOREIGN-QUAL-MULTI",
discountable: true,
},
// State PUC/PSC Registration — $399 per-state service fee + state
// filing fees. Bond procurement coordinated separately.
"state-puc": {
name: "State PUC/PSC Registration",
price_cents: 39900, // per-state service fee
erpnext_item: "STATE-PUC",
discountable: true,
},
// ── DOT / FMCSA Motor Carrier Services ──────────────────────────────
"mcs150-update": {
name: "MCS-150 Biennial Update",
price_cents: 3900,
erpnext_item: "MCS150-UPDATE",
discountable: true,
},
"boc3-filing": {
name: "BOC-3 Process Agent Filing",
price_cents: 8900,
erpnext_item: "BOC3-FILING",
discountable: false, // passthrough cost — $25 to Process Agent LLC
},
"ucr-registration": {
name: "UCR Annual Registration",
price_cents: 3900,
gov_fee_cents: 4600, // minimum tier ($46 for 0-2 power units)
gov_fee_label: "UCR registration fee (tier-based, minimum shown)",
erpnext_item: "UCR-REGISTRATION",
discountable: true,
},
"dot-registration": {
name: "New USDOT Number Registration",
price_cents: 8900,
erpnext_item: "DOT-REGISTRATION",
discountable: true,
},
"mc-authority": {
name: "MC Operating Authority Application",
price_cents: 19900, // $199 + $300 FMCSA gov fee
gov_fee_cents: 30000, // $300 FMCSA application fee
gov_fee_label: "FMCSA operating authority application fee",
erpnext_item: "MC-AUTHORITY",
discountable: false, // $300 FMCSA gov fee makes this non-discountable
},
"usdot-reactivation": {
name: "USDOT Number Reactivation",
price_cents: 14900,
erpnext_item: "USDOT-REACTIVATION",
discountable: true,
},
"emergency-temporary-authority": {
name: "Emergency Temporary Authority (ETA)",
price_cents: 49900,
erpnext_item: "EMERGENCY-TEMP-AUTH",
discountable: false, // urgent service, premium pricing
},
"dot-drug-alcohol": {
name: "DOT Drug & Alcohol Compliance Program",
price_cents: 14900,
erpnext_item: "DOT-DRUG-ALCOHOL",
discountable: true, // instant PDF binder we generate — our own deliverable, no passthrough cost
},
"dot-audit-prep": {
name: "New Entrant Safety Audit Preparation",
price_cents: 39900,
erpnext_item: "DOT-AUDIT-PREP",
discountable: true,
},
"dot-full-compliance": {
name: "DOT Full Compliance Bundle",
price_cents: 39900, // $399 — includes MCS-150+BOC-3+UCR+D&A+Audit ($775 individual)
erpnext_item: "DOT-FULL-COMPLIANCE",
discountable: true,
},
"carrier-closeout": {
name: "Trucking Wrap-Up (USDOT Shutdown)",
price_cents: 19900, // $199 — final MCS-150 (out of business) + MC revoke + UCR cancel + state account closures
erpnext_item: "CARRIER-CLOSEOUT",
discountable: true,
},
"entity-dissolution": {
name: "Business Entity Dissolution (LLC/Corp)",
price_cents: 4900, // $49 add-on to the wrap-up — LLC/Corp dissolution + final report; state filing fees billed separately
gov_fee_label: "State dissolution filing fee (varies by state, billed at cost)",
erpnext_item: "ENTITY-DISSOLUTION",
discountable: true,
},
// ── State-Level Trucking Compliance ──────────────────────────────────
// For these services the price_cents is our flat SERVICE fee only. The
// actual state government charges (apportioned IRP registration, IFTA decal
// fees, weight-distance/HUT account setup, permit/decal costs) vary by the
// carrier's fleet weight, mileage, and base state, so they are passed
// through AT COST and billed separately once the state issues the invoice —
// we never mark them up. The gov_fee_label is shown to the customer at
// checkout so the pass-through is disclosed up front.
"irp-registration": {
name: "IRP Registration Assistance",
price_cents: 10900, // + state fees (apportioned registration billed at cost)
gov_fee_label: "Apportioned IRP registration & plate fees (state, by jurisdictions + weight, billed at cost)",
erpnext_item: "IRP-REGISTRATION",
discountable: true,
},
"ifta-application": {
name: "IFTA Application + Decals",
price_cents: 10900, // + state fees
gov_fee_label: "IFTA license & decal fees (state, billed at cost)",
erpnext_item: "IFTA-APPLICATION",
discountable: true,
},
"ifta-quarterly": {
name: "IFTA Quarterly Filing",
price_cents: 10900,
gov_fee_label: "IFTA taxes due (remitted to the state at cost based on your mileage)",
erpnext_item: "IFTA-QUARTERLY",
discountable: true,
},
"or-weight-mile-tax": {
name: "Oregon Weight-Mile Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "Oregon weight-mile tax account & bond/deposit (state, billed at cost)",
erpnext_item: "OR-WEIGHT-MILE-TAX",
discountable: true,
},
"ny-hut-registration": {
name: "NY Highway Use Tax Registration",
price_cents: 10900, // + state fees
gov_fee_label: "NY HUT certificate & decal fees (state, billed at cost)",
erpnext_item: "NY-HUT-REGISTRATION",
discountable: true,
},
"ky-kyu-registration": {
name: "KY Weight-Distance Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "KYU weight-distance account fees (state, billed at cost)",
erpnext_item: "KY-KYU-REGISTRATION",
discountable: true,
},
"nm-weight-distance": {
name: "NM Weight-Distance Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "NM weight-distance permit & account fees (state, billed at cost)",
erpnext_item: "NM-WEIGHT-DISTANCE",
discountable: true,
},
"ct-highway-use-fee": {
name: "CT Highway Use Fee Setup",
price_cents: 10900, // + state fees
gov_fee_label: "CT Highway Use Fee registration (state, billed at cost)",
erpnext_item: "CT-HIGHWAY-USE-FEE",
discountable: true,
},
"ca-mcp-carb": {
name: "California MCP + CARB Compliance",
price_cents: 22900, // $229 + state fees (CA is more complex: MCP + CARB)
gov_fee_label: "CA MCP permit fee + CARB/Clean Truck Check fees (state, by fleet size, billed at cost)",
erpnext_item: "CA-MCP-CARB",
discountable: true,
},
"state-dot-registration": {
name: "State DOT Registration",
price_cents: 10900, // + state fees
gov_fee_label: "State DOT/intrastate registration fee (state, billed at cost)",
erpnext_item: "STATE-DOT-REGISTRATION",
discountable: true,
},
"intrastate-authority": {
name: "Intrastate Operating Authority",
price_cents: 10900, // + state fees
gov_fee_label: "State intrastate authority filing fee (state, billed at cost)",
erpnext_item: "INTRASTATE-AUTHORITY",
discountable: true,
},
"osow-permit": {
name: "Oversize/Overweight Permit",
price_cents: 10900, // + state permit fees
gov_fee_label: "State oversize/overweight permit fees (per trip/route, billed at cost)",
erpnext_item: "OSOW-PERMIT",
discountable: true,
},
"state-trucking-bundle": {
name: "State Compliance Bundle",
price_cents: 49900, // $499 — IRP+IFTA+weight tax+intrastate ($796 individual)
gov_fee_label: "State registration, decal & tax fees for each included filing (billed at cost)",
erpnext_item: "STATE-TRUCKING-BUNDLE",
discountable: true,
},
// ── Hazmat / Emissions ───────────────────────────────────────────────
"hazmat-phmsa": {
name: "PHMSA Hazmat Registration",
price_cents: 14900, // $149 admin-assisted; PHMSA gov fee billed at cost
gov_fee_label: "PHMSA registration fee ($25 + $250-$3,000 processing, by business size, billed at cost)",
erpnext_item: "HAZMAT-PHMSA",
discountable: true,
},
"state-emissions": {
name: "State Clean-Truck / Emissions Compliance",
price_cents: 10900, // $109 + state fees — NY/CO/MD/NJ/MA clean-truck / ACT advisory + registration assist
erpnext_item: "STATE-EMISSIONS",
discountable: true,
},
// ── Corporate / Entity Services ──
"annual-report-filing": {
name: "Annual Report / Franchise Tax Filing",
price_cents: 14900,
erpnext_item: "ANNUAL-REPORT",
discountable: true,
},
"registered-agent": {
name: "Registered Agent Service (1 Year)",
price_cents: 9900,
erpnext_item: "REGISTERED-AGENT",
discountable: true,
},
"entity-reinstatement": {
name: "Entity Reinstatement",
price_cents: 29900,
erpnext_item: "ENTITY-REINSTATEMENT",
discountable: true,
},
"virtual-mailbox": {
name: "Virtual Mailbox (1 Year)",
price_cents: 14900,
erpnext_item: "VIRTUAL-MAILBOX",
discountable: true,
},
"ein-application": {
name: "EIN Application (IRS SS-4)",
price_cents: 7900,
erpnext_item: "EIN-APPLICATION",
discountable: true,
},
"entity-upgrade-bundle": {
name: "Entity Upgrade Package (Sole Prop → LLC)",
price_cents: 59900,
erpnext_item: "ENTITY-UPGRADE-BUNDLE",
discountable: true,
},
// ── Healthcare / NPI compliance ──────────────────────────────────────
// CMS/NPPES provider compliance. Handlers are review-staged (a human
// files in PECOS/NPPES) — same safety default as the FCC auto-filing
// toggle. HIPAA is intentionally out of scope (separate specialty).
// Flagship = npi-revalidation (CMS 5-yr Medicare revalidation, dateable
// overdue signal from the free CMS revalidation list).
"npi-revalidation": {
name: "Medicare PECOS Revalidation Filing",
price_cents: 59900,
erpnext_item: "NPI-REVALIDATION",
discountable: true,
},
"npi-reactivation": {
name: "NPI Reactivation",
price_cents: 44900,
erpnext_item: "NPI-REACTIVATION",
discountable: true,
},
"nppes-update": {
name: "NPPES Data Update / Attestation",
price_cents: 34900,
erpnext_item: "NPPES-UPDATE",
discountable: true,
},
"medicare-enrollment": {
name: "Medicare Enrollment (PECOS)",
price_cents: 69900,
erpnext_item: "MEDICARE-ENROLLMENT",
discountable: true,
},
"oig-sam-screening": {
name: "OIG/SAM Exclusion Screening (Annual)",
price_cents: 29900,
erpnext_item: "OIG-SAM-SCREENING",
discountable: false,
},
"provider-compliance-bundle": {
name: "Provider Compliance Bundle (Annual)",
price_cents: 89900,
erpnext_item: "PROVIDER-COMPLIANCE-BUNDLE",
discountable: true,
},
};

View file

@ -31,6 +31,16 @@ echo ""
echo "=== Syncing canonical site header (Services dropdown) ==="
python3 scripts/sync_nav.py
# Single source of truth for service pricing: the API catalog
# (api/src/service-catalog.ts) is the authority (it is what checkout charges).
# The site build context is ./site only and cannot read ../api, so we generate
# site/src/lib/service-catalog.generated.ts here on the host before the docker
# build. This guarantees displayed prices == charged prices.
echo ""
echo "=== Generating site service catalog from API source ==="
node scripts/gen-service-catalog.mjs
node scripts/check-service-catalog-drift.mjs
# Render the Alertmanager config from its template. Alertmanager does NOT expand
# ${ENV} placeholders in its YAML, so the raw template (with ${TELEGRAM_BOT_TOKEN}
# / ${TELEGRAM_CHAT_ID}) crash-loops it ("cannot unmarshal !!str `${TELEG...`").

View file

@ -0,0 +1,52 @@
#!/usr/bin/env node
/**
* Drift guard: the site's generated catalog MUST match the API source.
*
* Run in CI / pre-deploy. Regenerates the catalog into memory from
* api/src/service-catalog.ts and compares it to the committed
* site/src/lib/service-catalog.generated.ts. Fails (exit 1) on any difference,
* so a price edited in the API but not regenerated, or the generated file
* hand-edited, is caught before it reaches customers.
*
* Usage: node scripts/check-service-catalog-drift.mjs
*/
import { readFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import { dirname, resolve } from "node:path";
const __dirname = dirname(fileURLToPath(import.meta.url));
const ROOT = resolve(__dirname, "..");
const GEN = resolve(ROOT, "site/src/lib/service-catalog.generated.ts");
// Regenerate to a temp string by invoking the generator's parse logic inline.
const SRC = resolve(ROOT, "api/src/service-catalog.ts");
const tsSource = readFileSync(SRC, "utf8");
const m = tsSource.match(/export const COMPLIANCE_SERVICES[^=]*=\s*(\{[\s\S]*?\n\});/);
if (!m) { console.error("drift-check: cannot parse API catalog"); process.exit(1); }
const apiCatalog = Function(`"use strict"; return (${m[1]});`)();
// Parse the committed generated file's SERVICE_META.
const genSource = readFileSync(GEN, "utf8");
const gm = genSource.match(/export const SERVICE_META[^=]*=\s*(\{[\s\S]*?\n\});/);
if (!gm) { console.error("drift-check: cannot parse generated SERVICE_META"); process.exit(1); }
const gen = Function(`"use strict"; return (${gm[1]});`)();
let problems = [];
for (const slug of Object.keys(apiCatalog)) {
const a = apiCatalog[slug];
const g = gen[slug];
if (!g) { problems.push(`${slug}: missing from generated file`); continue; }
if (a.price_cents !== g.price_cents) problems.push(`${slug}: price API=${a.price_cents} generated=${g.price_cents}`);
if (a.name !== g.name) problems.push(`${slug}: name mismatch`);
if ((a.gov_fee_label || undefined) !== (g.gov_fee_label || undefined)) problems.push(`${slug}: gov_fee_label mismatch`);
}
for (const slug of Object.keys(gen)) {
if (!apiCatalog[slug]) problems.push(`${slug}: in generated file but not in API`);
}
if (problems.length) {
console.error("SERVICE CATALOG DRIFT DETECTED (run: node scripts/gen-service-catalog.mjs):");
for (const p of problems) console.error(" - " + p);
process.exit(1);
}
console.log(`drift-check: OK -- ${Object.keys(apiCatalog).length} services, API and generated catalog match.`);

View file

@ -0,0 +1,72 @@
#!/usr/bin/env node
/**
* Generate the site's read-only service catalog from the API's single source.
*
* Source : api/src/service-catalog.ts (COMPLIANCE_SERVICES -- the authority)
* Output : site/src/lib/service-catalog.generated.ts (SERVICE_META for display)
*
* Run automatically before the site build (site `prebuild` script). Never edit
* the generated file by hand. To change a price or name, edit the API catalog.
*
* We import the API module directly (it is plain TS with a literal object), via
* a tiny transpile-free parse: the catalog is a static object literal, so we
* evaluate it in a sandboxed module context.
*/
import { readFileSync, writeFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import { dirname, resolve } from "node:path";
const __dirname = dirname(fileURLToPath(import.meta.url));
const ROOT = resolve(__dirname, "..");
const SRC = resolve(ROOT, "api/src/service-catalog.ts");
const OUT = resolve(ROOT, "site/src/lib/service-catalog.generated.ts");
const tsSource = readFileSync(SRC, "utf8");
// Extract the object literal assigned to COMPLIANCE_SERVICES.
const m = tsSource.match(/export const COMPLIANCE_SERVICES[^=]*=\s*(\{[\s\S]*?\n\});/);
if (!m) {
console.error("[gen-service-catalog] could not locate COMPLIANCE_SERVICES object literal in", SRC);
process.exit(1);
}
// The object literal is valid JS (string keys, number/bool/string values, trailing commas).
// Evaluate it safely in an isolated function scope (no access to anything).
let catalog;
try {
catalog = Function(`"use strict"; return (${m[1]});`)();
} catch (e) {
console.error("[gen-service-catalog] failed to evaluate catalog literal:", e);
process.exit(1);
}
const slugs = Object.keys(catalog).sort();
const lines = slugs.map((slug) => {
const s = catalog[slug];
const parts = [`name: ${JSON.stringify(s.name)}`, `price_cents: ${s.price_cents}`];
if (s.gov_fee_label) parts.push(`gov_fee_label: ${JSON.stringify(s.gov_fee_label)}`);
return ` ${JSON.stringify(slug)}: { ${parts.join(", ")} },`;
});
const out = `/**
* AUTO-GENERATED -- DO NOT EDIT.
*
* Source of truth: api/src/service-catalog.ts (COMPLIANCE_SERVICES).
* Regenerate with: node scripts/gen-service-catalog.mjs (runs on site prebuild).
*
* Display-only subset (name, price_cents, gov_fee_label) of the API catalog,
* so the public site can never drift from what the API actually charges.
*/
export interface ServiceMeta {
name: string;
price_cents: number;
gov_fee_label?: string;
}
export const SERVICE_META: Record<string, ServiceMeta> = {
${lines.join("\n")}
};
`;
writeFileSync(OUT, out);
console.log(`[gen-service-catalog] wrote ${slugs.length} services -> ${OUT}`);

View file

@ -165,67 +165,11 @@ export const CATEGORY_GATED_STEPS: Record<string, IntakeStep[]> = {
audio_bridging: ["audio_bridging"],
};
// ── Pricing + human name lookup (mirrors COMPLIANCE_SERVICES server-side)
export const SERVICE_META: Record<string, { name: string; price_cents: number; gov_fee_label?: string }> = {
"fcc-compliance-checkup": { name: "FCC Carrier Compliance Checkup", price_cents: 79900 },
"fcc-499a": { name: "FCC Form 499-A Filing", price_cents: 49900 },
"fcc-499a-499q": { name: "FCC Form 499-A + 499-Q Bundle", price_cents: 59900 },
"fcc-full-compliance": { name: "FCC Full Compliance Bundle", price_cents: 149900 },
"cpni-certification": { name: "CPNI Annual Certification", price_cents: 19900 },
"rmd-filing": { name: "RMD Registration / Recertification", price_cents: 24900 }, // + $100 FCC filing fee passthrough
"stir-shaken": { name: "STIR/SHAKEN Implementation Assistance", price_cents: 49900 },
"dc-agent": { name: "D.C. Registered Agent (Annual)", price_cents: 14900 },
"bdc-broadband": { name: "BDC Broadband Deployment Filing", price_cents: 24900 },
"bdc-voice": { name: "BDC Voice Subscription (formerly Form 477)", price_cents: 19900 },
"bdc-filing": { name: "BDC Filing (Broadband + Voice)", price_cents: 34900 },
"ocn-registration": { name: "NECA OCN / Company Code Registration", price_cents: 265000 },
"cdr-analysis": { name: "CDR Traffic Study (Annual)", price_cents: 49900 },
"cores-frn-registration": { name: "CORES / FRN Registration", price_cents: 14900 },
"fcc-499-initial": { name: "Form 499 Initial Registration", price_cents: 34900 },
"calea-ssi": { name: "CALEA SSI Plan", price_cents: 79900 },
"fcc-63-11-notification": { name: "Foreign Carrier Affiliation Notification", price_cents: 34900 },
"new-carrier-bundle": { name: "New Carrier Onboarding Bundle", price_cents: 179900 },
"foreign-qualification-single": { name: "Foreign Qualification (One State)", price_cents: 14900 },
"foreign-qualification-multi": { name: "Foreign Qualification (Multi-State)", price_cents: 9900 },
// DOT / FMCSA
"mcs150-update": { name: "MCS-150 Biennial Update", price_cents: 3900 },
"boc3-filing": { name: "BOC-3 Process Agent Filing", price_cents: 8900 },
"ucr-registration": { name: "UCR Annual Registration", price_cents: 3900, gov_fee_label: "UCR registration fee (tier-based, minimum shown)" },
"dot-registration": { name: "New USDOT Number Registration", price_cents: 8900 },
"mc-authority": { name: "MC Operating Authority Application", price_cents: 19900, gov_fee_label: "FMCSA operating authority application fee" },
"dot-drug-alcohol": { name: "DOT Drug & Alcohol Compliance Program", price_cents: 14900 },
"dot-audit-prep": { name: "New Entrant Safety Audit Preparation", price_cents: 39900 },
"dot-full-compliance": { name: "DOT Full Compliance Bundle", price_cents: 39900 },
"usdot-reactivation": { name: "USDOT Reactivation", price_cents: 14900 },
// State-level trucking
"irp-registration": { name: "IRP Registration Assistance", price_cents: 10900, gov_fee_label: "Apportioned IRP registration and plate fees (state, by jurisdictions and weight)" },
"ifta-application": { name: "IFTA Application + Decals", price_cents: 10900, gov_fee_label: "IFTA license and decal fees (state)" },
"ifta-quarterly": { name: "IFTA Quarterly Filing", price_cents: 10900, gov_fee_label: "IFTA taxes due, based on your mileage" },
"or-weight-mile-tax": { name: "Oregon Weight-Mile Tax Setup", price_cents: 10900, gov_fee_label: "Oregon weight-mile tax account and bond/deposit fees (state)" },
"ny-hut-registration": { name: "NY Highway Use Tax Registration", price_cents: 10900, gov_fee_label: "NY HUT certificate and decal fees (state)" },
"ky-kyu-registration": { name: "KY Weight-Distance Tax Setup", price_cents: 10900, gov_fee_label: "KYU weight-distance account fees (state)" },
"nm-weight-distance": { name: "NM Weight-Distance Tax Setup", price_cents: 10900, gov_fee_label: "NM weight-distance permit and account fees (state)" },
"ct-highway-use-fee": { name: "CT Highway Use Fee Setup", price_cents: 10900, gov_fee_label: "CT Highway Use Fee registration and usage fees (state)" },
"ca-mcp-carb": { name: "California MCP + CARB Compliance", price_cents: 22900, gov_fee_label: "CA MCP permit fee and CARB/Clean Truck Check fees (state, by fleet size)" },
"state-dot-registration": { name: "State DOT Registration", price_cents: 10900, gov_fee_label: "State DOT/intrastate registration fee (state)" },
"intrastate-authority": { name: "Intrastate Operating Authority", price_cents: 10900, gov_fee_label: "State intrastate authority filing fee" },
"osow-permit": { name: "Oversize/Overweight Permit", price_cents: 10900, gov_fee_label: "State oversize/overweight permit fees, per trip/route" },
"state-trucking-bundle": { name: "State Compliance Bundle", price_cents: 49900, gov_fee_label: "State registration, decal and tax fees for each included filing" },
// Hazmat / emissions
"hazmat-phmsa": { name: "PHMSA Hazmat Registration", price_cents: 14900, gov_fee_label: "PHMSA registration fee, by business size" },
"state-emissions": { name: "State Clean-Truck / Emissions Compliance", price_cents: 10900 },
// DOT lifecycle
"emergency-temporary-authority": { name: "Emergency Temporary Authority", price_cents: 49900, gov_fee_label: "FMCSA emergency/temporary authority fee" },
"carrier-closeout": { name: "Carrier Closeout / Deactivation", price_cents: 19900 },
"entity-dissolution": { name: "Entity Dissolution Filing", price_cents: 4900, gov_fee_label: "State dissolution filing fee" },
// Healthcare / NPI
"npi-revalidation": { name: "Medicare PECOS Revalidation Filing", price_cents: 59900 },
"npi-reactivation": { name: "NPI Reactivation", price_cents: 44900 },
"nppes-update": { name: "NPPES Data Update / Attestation", price_cents: 34900 },
"medicare-enrollment": { name: "Medicare Enrollment (PECOS)", price_cents: 69900 },
"oig-sam-screening": { name: "OIG/SAM Exclusion Screening (Annual)", price_cents: 29900 },
"provider-compliance-bundle": { name: "Provider Compliance Bundle (Annual)", price_cents: 89900 },
};
// ── Pricing + human name lookup ──────────────────────────────────────────
// Re-exported from the generated catalog so the site can never drift from the
// API's prices. SINGLE SOURCE OF TRUTH: api/src/service-catalog.ts.
// Regenerated by scripts/gen-service-catalog.mjs on site prebuild.
export { SERVICE_META, type ServiceMeta } from "./service-catalog.generated.js";
export function formatUSD(cents: number): string {
return `$${(cents / 100).toLocaleString("en-US", {

View file

@ -0,0 +1,84 @@
/**
* AUTO-GENERATED -- DO NOT EDIT.
*
* Source of truth: api/src/service-catalog.ts (COMPLIANCE_SERVICES).
* Regenerate with: node scripts/gen-service-catalog.mjs (runs on site prebuild).
*
* Display-only subset (name, price_cents, gov_fee_label) of the API catalog,
* so the public site can never drift from what the API actually charges.
*/
export interface ServiceMeta {
name: string;
price_cents: number;
gov_fee_label?: string;
}
export const SERVICE_META: Record<string, ServiceMeta> = {
"annual-report-filing": { name: "Annual Report / Franchise Tax Filing", price_cents: 14900 },
"bdc-broadband": { name: "BDC Broadband Deployment Filing", price_cents: 24900 },
"bdc-filing": { name: "BDC Filing (Broadband + Voice)", price_cents: 34900 },
"bdc-voice": { name: "BDC Voice Subscription Filing (formerly Form 477 Voice)", price_cents: 19900 },
"boc3-filing": { name: "BOC-3 Process Agent Filing", price_cents: 8900 },
"ca-mcp-carb": { name: "California MCP + CARB Compliance", price_cents: 22900, gov_fee_label: "CA MCP permit fee + CARB/Clean Truck Check fees (state, by fleet size, billed at cost)" },
"calea-ssi": { name: "CALEA SSI Plan", price_cents: 79900 },
"carrier-closeout": { name: "Trucking Wrap-Up (USDOT Shutdown)", price_cents: 19900 },
"cdr-analysis": { name: "CDR Traffic Study (Annual)", price_cents: 49900 },
"cdr-storage-tier1": { name: "CDR Storage Tier 1 (50 GB / 50M calls)", price_cents: 9900 },
"cdr-storage-tier2": { name: "CDR Storage Tier 2 (250 GB / 250M calls)", price_cents: 29900 },
"cdr-storage-tier3": { name: "CDR Storage Tier 3 (1 TB / 1B calls)", price_cents: 79900 },
"cores-frn-registration": { name: "CORES / FRN Registration", price_cents: 14900 },
"cpni-certification": { name: "CPNI Annual Certification", price_cents: 19900 },
"ct-highway-use-fee": { name: "CT Highway Use Fee Setup", price_cents: 10900, gov_fee_label: "CT Highway Use Fee registration (state, billed at cost)" },
"dc-agent": { name: "D.C. Registered Agent (Annual)", price_cents: 14900 },
"dot-audit-prep": { name: "New Entrant Safety Audit Preparation", price_cents: 39900 },
"dot-drug-alcohol": { name: "DOT Drug & Alcohol Compliance Program", price_cents: 14900 },
"dot-full-compliance": { name: "DOT Full Compliance Bundle", price_cents: 39900 },
"dot-registration": { name: "New USDOT Number Registration", price_cents: 8900 },
"ein-application": { name: "EIN Application (IRS SS-4)", price_cents: 7900 },
"emergency-temporary-authority": { name: "Emergency Temporary Authority (ETA)", price_cents: 49900 },
"entity-dissolution": { name: "Business Entity Dissolution (LLC/Corp)", price_cents: 4900, gov_fee_label: "State dissolution filing fee (varies by state, billed at cost)" },
"entity-reinstatement": { name: "Entity Reinstatement", price_cents: 29900 },
"entity-upgrade-bundle": { name: "Entity Upgrade Package (Sole Prop → LLC)", price_cents: 59900 },
"fcc-499-initial": { name: "Form 499 Initial Registration", price_cents: 34900 },
"fcc-499a": { name: "FCC Form 499-A Filing", price_cents: 49900 },
"fcc-499a-499q": { name: "FCC Form 499-A + 499-Q Bundle", price_cents: 59900 },
"fcc-499a-discontinuance": { name: "Form 499-A Discontinuance Filing", price_cents: 29900 },
"fcc-499a-zero": { name: "FCC Form 499-A Filing (Zero Revenue)", price_cents: 17900 },
"fcc-499q": { name: "FCC Form 499-Q Quarterly Filing", price_cents: 0 },
"fcc-63-11-notification": { name: "Foreign Carrier Affiliation Notification (47 CFR § 63.11)", price_cents: 34900 },
"fcc-compliance-checkup": { name: "FCC Carrier Compliance Checkup", price_cents: 79900 },
"fcc-full-compliance": { name: "FCC Full Compliance Bundle", price_cents: 149900 },
"foreign-qualification-multi": { name: "Foreign Qualification (Multi-State)", price_cents: 9900 },
"foreign-qualification-single": { name: "Foreign Qualification (One State)", price_cents: 14900 },
"hazmat-phmsa": { name: "PHMSA Hazmat Registration", price_cents: 14900, gov_fee_label: "PHMSA registration fee ($25 + $250-$3,000 processing, by business size, billed at cost)" },
"ifta-application": { name: "IFTA Application + Decals", price_cents: 10900, gov_fee_label: "IFTA license & decal fees (state, billed at cost)" },
"ifta-quarterly": { name: "IFTA Quarterly Filing", price_cents: 10900, gov_fee_label: "IFTA taxes due (remitted to the state at cost based on your mileage)" },
"intrastate-authority": { name: "Intrastate Operating Authority", price_cents: 10900, gov_fee_label: "State intrastate authority filing fee (state, billed at cost)" },
"irp-registration": { name: "IRP Registration Assistance", price_cents: 10900, gov_fee_label: "Apportioned IRP registration & plate fees (state, by jurisdictions + weight, billed at cost)" },
"ky-kyu-registration": { name: "KY Weight-Distance Tax Setup", price_cents: 10900, gov_fee_label: "KYU weight-distance account fees (state, billed at cost)" },
"mc-authority": { name: "MC Operating Authority Application", price_cents: 19900, gov_fee_label: "FMCSA operating authority application fee" },
"mcs150-update": { name: "MCS-150 Biennial Update", price_cents: 3900 },
"medicare-enrollment": { name: "Medicare Enrollment (PECOS)", price_cents: 69900 },
"new-carrier-bundle": { name: "New Carrier Onboarding Bundle (FRN + 499 Initial + RMD + CPNI + CALEA)", price_cents: 179900 },
"nm-weight-distance": { name: "NM Weight-Distance Tax Setup", price_cents: 10900, gov_fee_label: "NM weight-distance permit & account fees (state, billed at cost)" },
"npi-reactivation": { name: "NPI Reactivation", price_cents: 44900 },
"npi-revalidation": { name: "Medicare PECOS Revalidation Filing", price_cents: 59900 },
"nppes-update": { name: "NPPES Data Update / Attestation", price_cents: 34900 },
"ny-hut-registration": { name: "NY Highway Use Tax Registration", price_cents: 10900, gov_fee_label: "NY HUT certificate & decal fees (state, billed at cost)" },
"ocn-registration": { name: "NECA OCN + Sponsoring CLEC Agreement", price_cents: 265000 },
"oig-sam-screening": { name: "OIG/SAM Exclusion Screening (Annual)", price_cents: 29900 },
"or-weight-mile-tax": { name: "Oregon Weight-Mile Tax Setup", price_cents: 10900, gov_fee_label: "Oregon weight-mile tax account & bond/deposit (state, billed at cost)" },
"osow-permit": { name: "Oversize/Overweight Permit", price_cents: 10900, gov_fee_label: "State oversize/overweight permit fees (per trip/route, billed at cost)" },
"provider-compliance-bundle": { name: "Provider Compliance Bundle (Annual)", price_cents: 89900 },
"registered-agent": { name: "Registered Agent Service (1 Year)", price_cents: 9900 },
"rmd-filing": { name: "RMD Registration / Recertification", price_cents: 24900, gov_fee_label: "FCC RMD filing fee" },
"state-dot-registration": { name: "State DOT Registration", price_cents: 10900, gov_fee_label: "State DOT/intrastate registration fee (state, billed at cost)" },
"state-emissions": { name: "State Clean-Truck / Emissions Compliance", price_cents: 10900 },
"state-puc": { name: "State PUC/PSC Registration", price_cents: 39900 },
"state-trucking-bundle": { name: "State Compliance Bundle", price_cents: 49900, gov_fee_label: "State registration, decal & tax fees for each included filing (billed at cost)" },
"stir-shaken": { name: "STIR/SHAKEN Implementation Assistance", price_cents: 49900 },
"ucr-registration": { name: "UCR Annual Registration", price_cents: 3900, gov_fee_label: "UCR registration fee (tier-based, minimum shown)" },
"usdot-reactivation": { name: "USDOT Number Reactivation", price_cents: 14900 },
"virtual-mailbox": { name: "Virtual Mailbox (1 Year)", price_cents: 14900 },
};