new-site/docs
justin cf021e2f91 feat(healthcare): OIG/SAM exclusion screening as $79/mo Stripe Subscription
Convert OIG/SAM from one-time $299/yr to recurring $79/month (card+ACH only) -
the first real recurring-billing product in the system. Exclusion screening is
a *monthly* federal obligation, so recurring monitoring fits the requirement and
is the biggest valuation lever (vs a one-time annual run).

Catalog (single source of truth):
- service-catalog.ts: add billing_interval + allowed_methods to ComplianceService;
  oig-sam-screening -> 7900c, billing_interval:"month", allowed_methods:[card,ach],
  name "(Monthly Monitoring)".
- gen-service-catalog.py + check-service-catalog-drift.py: carry/guard the two new
  fields; regenerate site catalog.

Checkout (api/src/routes/checkout.ts):
- mode:"subscription" with recurring price_data when billing_interval is set;
  surcharge absorbed for recurring (clean $79/mo); server-side METHOD_NOT_ALLOWED
  re-validation against allowed_methods.
- ensureColumns + migration 100: compliance_orders.stripe_subscription_id,
  bundle_upsell_sent_at (+ subscription index).

Webhooks (api/src/routes/webhooks.ts):
- record stripe_subscription_id on checkout.session.completed (subscription mode).
- invoice.paid (subscription_cycle only) -> re-dispatch screening for the cycle;
  invoice.payment_failed -> admin alert + first-failure customer nudge;
  customer.subscription.deleted -> mark order cancelled. (API 2026-03-25 moved the
  subscription link to invoice.parent.subscription_details.subscription.)

Fulfillment:
- job_server.py: pass recurring_cycle/invoice_id into the order.
- npi_provider.py: OIG handler labels renewal cycles "[Monthly cycle]" + re-screen
  note; bundle action runs only the FIRST screening + flags the $79/mo upsell.

Bundle land-and-expand:
- Provider Compliance Bundle now includes only the first OIG/SAM screening (was
  giving away $948/yr of monitoring inside an $899 bundle).
- new worker scripts/workers/bundle_upsell.py (+ pw-bundle-upsell timer): ~3 weeks
  after a paid bundle, emails the customer to continue $79/mo monitoring; dedup via
  bundle_upsell_sent_at; skips customers who already have an OIG/SAM order.

Surfaces updated to $79/mo: PaymentStep (filters methods, "Billed every month,
cancel anytime"), order pages, healthcare index, npi-compliance-check tool (also
fixed stale $699 bundle drift -> $899), hc_oig_screening + hc_compliance_bundle
emails.

Docs: billing.md gains a "Stripe-native Subscriptions" section + a reality-check
banner (Adyen/ERPNext-gateway model documented there is NOT live; Stripe is the
real rail). Fixed run-migrations.yml container name bug
(performancewest-postgres-1 -> performancewest-api-postgres-1, overridable).

Tests: api/tests/recurring-subscription.test.ts (28 assertions) covers catalog
gating, method validation, surcharge suppression, recurring line-item build,
invoiceSubscriptionId extraction, renewal-cycle gating. tsc clean; site build
clean; catalog drift OK.

Manual deploy step: enable invoice.paid, invoice.payment_failed,
customer.subscription.deleted on the Stripe webhook endpoint.
2026-06-18 07:54:38 -05:00
..
archived-articles/commlaw-group legal: re-check CommLaw attack page (unchanged) + archive new 'Record Straight' article naming PW 2026-06-12 23:48:15 -05:00
examplefilings Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
fcc-references Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
legal trucking: same-day expiring coupon to drive immediate conversion 2026-06-13 20:43:47 -05:00
marketing Wire createCommission() into compliance batch checkout 2026-05-11 11:00:38 -05:00
plans docs: remote wet-signature product opportunity map + legal precedent research 2026-06-07 04:24:06 -05:00
annual-report-fees-by-state.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
anytime-mailbox-manual-runbook.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
architecture.md docserver: self-healing Task Scheduler config + docs 2026-06-15 22:49:21 -05:00
architecture.svg chore(email): decommission SMTP2GO references — local MTA only 2026-06-17 22:46:59 -05:00
billing.md feat(healthcare): OIG/SAM exclusion screening as $79/mo Stripe Subscription 2026-06-18 07:54:38 -05:00
business-flow.svg Update docs + add 3 SVG flowcharts 2026-05-07 09:17:36 -05:00
campaign-deliverability-plan.md campaigns: auto-rollout catch-all pool gated by warmup day + live bounce rate 2026-06-18 01:39:09 -05:00
campaign-topics-trucking.md add vehicle buy/sell referral topics: ByeTruck, Kelly, Big Rig Lending, Truck Trader 2026-05-30 21:37:08 -05:00
carbonio-reval-autoreply-setup.md hc: auto-reply for 'already revalidated' replies + permanent suppression 2026-06-08 10:37:49 -05:00
clia-enrichment-plan.md docs: CLIA / multi-vertical email enrichment plan 2026-06-13 23:07:08 -05:00
CMS-116 Form.pdf healthcare: verify wet-signature requirements across all services 2026-06-07 02:40:47 -05:00
CMS-855A Form.pdf Add CMS-855 PDF filler + e-sign fulfillment for Medicare revalidation/enrollment 2026-06-05 02:27:11 -05:00
CMS-855B Form.pdf Add CMS-855 PDF filler + e-sign fulfillment for Medicare revalidation/enrollment 2026-06-05 02:27:11 -05:00
CMS-855I Form.pdf Add CMS-855 PDF filler + e-sign fulfillment for Medicare revalidation/enrollment 2026-06-05 02:27:11 -05:00
CMS-855O Form.pdf Add CMS-855 PDF filler + e-sign fulfillment for Medicare revalidation/enrollment 2026-06-05 02:27:11 -05:00
CMS-10114 Form.pdf healthcare: verify CMS-10114 update path, correct NPI Enumerator address, build CMS-10114 filler 2026-06-07 02:04:41 -05:00
competitive-pricing.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
crm.md chore(email): decommission SMTP2GO references — local MTA only 2026-06-17 22:46:59 -05:00
dexit-cited-filings.md site: add DEXIT corporate-services page + readiness assessment + cited filings 2026-06-09 07:35:12 -05:00
dexit-readiness-assessment.md docs(dexit): name search fixed (TX open-data API) / honest (NV unknown); rm probes 2026-06-09 08:46:28 -05:00
document-generation.md docserver: self-healing Task Scheduler config + docs 2026-06-15 22:49:21 -05:00
e2e-test-plan.md docserver: self-healing Task Scheduler config + docs 2026-06-15 22:49:21 -05:00
email-deliverability-runbook.md docs: runbook fix #8 — telecom/transactional HTML-only plaintext fix + campaign 407 finding 2026-06-17 21:17:06 -05:00
entity-cache-sources.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
fmcsa-trucking-plan.md deploy: reset generated site files before pull (fixes silently-stranded commits) 2026-06-16 05:28:45 -05:00
foreign-incorporation-guide.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
foreign-qualification-fees.md add virtual mailbox notes: Anytime Mailbox already in use, photo ID reuse for 1583 2026-05-30 22:32:47 -05:00
formation-system.md docserver: self-healing Task Scheduler config + docs 2026-06-15 22:49:21 -05:00
go-live-todo.md chore(email): decommission SMTP2GO references — local MTA only 2026-06-17 22:46:59 -05:00
hc-reval-already-completed-reply.txt hc: auto-reply for 'already revalidated' replies + permanent suppression 2026-06-08 10:37:49 -05:00
healthcare-email-stream-plan.md hc tracking: fix listmonk-hc app.root_url (was localhost:9000 -> zero views) to public domain + enable individual tracking; verified pixel records views 2026-06-06 16:40:22 -05:00
healthcare-filing-tiers-verified.md healthcare: verify CMS-10114 update path, correct NPI Enumerator address, build CMS-10114 filler 2026-06-07 02:04:41 -05:00
healthcare-no-login-value-add.md healthcare: verify CMS-10114 update path, correct NPI Enumerator address, build CMS-10114 filler 2026-06-07 02:04:41 -05:00
infrastructure.md docserver: self-healing Task Scheduler config + docs 2026-06-15 22:49:21 -05:00
ink-signature-plotter.md Add portable Line-us pen-arm support to ink-signature pipeline 2026-06-07 03:45:46 -05:00
marketing.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
MCR Revalidaton Acceptance Letter_05 01 2026.pdf mcs150: enrich intake from FMCSA carrier census before PDF fill 2026-06-10 12:35:52 -05:00
MCS-150 Form.pdf mcs150: trim FMCSA instruction pages from form templates 2026-06-10 13:25:07 -05:00
MCS-150B Form.pdf mcs150: trim FMCSA instruction pages from form templates 2026-06-10 13:25:07 -05:00
MCS-150C Form.pdf mcs150: trim FMCSA instruction pages from form templates 2026-06-10 13:25:07 -05:00
multi-province-plan.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
name-reservation-product.md mcs150: enrich intake from FMCSA carrier census before PDF fill 2026-06-10 12:35:52 -05:00
new-sector-compliance-targets.md feat: NPI outreach list pipeline (120k cold-emailable + 236k DirectTrust-later) + doc 2026-06-05 01:08:26 -05:00
order-flow.svg Update docs + add 3 SVG flowcharts 2026-05-07 09:17:36 -05:00
plan.md Fix flagged items: CRTC email submission, BITS todo, selector docs, stale plans 2026-05-04 11:33:45 -05:00
product-facts.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
production-runbook.md docs: document the admin compliance-orders surface in the runbook 2026-06-16 00:00:12 -05:00
relay-integration.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
research-otc-markets-lead-source.md docs: SEC/OTC pilot results - viable (domain free from EDGAR filings, 100%) 2026-06-14 01:22:04 -05:00
SC COC Form.pdf feat(sc-coc): SCDMV Certificate of Compliance PDF filler + correct $25 state fee 2026-06-16 09:08:50 -05:00
signature-Justin Hannah.png can-spam: add full street address to ALL email templates + wire HC personal variant 2026-06-13 21:27:16 -05:00
state-annual-fees-complete.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
state-automation-status.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
state-healthcare-compliance-opportunities.md healthcare: verify wet-signature requirements across all services 2026-06-07 02:40:47 -05:00
technical-architecture.svg Update docs + add 3 SVG flowcharts 2026-05-07 09:17:36 -05:00
ticketing.md Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
TODO.md todo: note umami Goals/Funnels added for DOT, CRTC, Healthcare (was FCC-only) 2026-06-12 22:34:53 -05:00
trucking-architecture.svg Add trucking system documentation and architecture SVG 2026-05-29 14:10:57 -05:00
trucking-marketing-send-plan.md Add new carrier startup campaign targeting 2026-06-01 20:19:55 -05:00
trucking-state-authorization-plan.md Add trucking state authorization plan 2026-06-01 20:14:36 -05:00
trucking-state-campaign-fulfillment.md Document trucking state campaign fulfillment requirements 2026-06-01 20:06:53 -05:00
trucking-state-campaign-send-runbook.md docs: trucking state-campaign send runbook 2026-06-02 16:51:08 -05:00
trucking-system.md trucking: weekly FMCSA source refresh so new non-compliant carriers are caught 2026-06-17 20:44:54 -05:00
trustedsite-setup.md feat(site): stage TrustedSite trustmark slot (opt-in prop) + setup doc; CSP/verification steps pre-documented 2026-06-06 00:27:02 -05:00
usac-past-due-fee-negotiation.md Add engagement authorization, remove price headers from intake pages, fix duplicate emails 2026-04-28 02:50:02 -05:00
vertical-lead-source-analysis.md docs: record trucking per-MX throttling fix + the 702k-google smoking gun 2026-06-14 21:39:14 -05:00
vm-security-hardening.md security: drop all CBC TLS suites (Qualys WEAK -> AEAD-only, still A+); sync ansible nginx templates (ciphers + ywxi CSP); capture host firewall as IaC 2026-06-06 00:49:21 -05:00
wyoming-formation-package.md add Wyoming formation package doc: full component breakdown, pricing, wizard logic, photo ID reuse, annual compliance, LTV estimates 2026-05-30 22:34:51 -05:00