# Customer Portal — Simple Overview (Non‑Technical)

Use these slide-ready bullets to explain, in plain language, how our portal works with Salesforce and WHMCS.

## 1) What The Portal Does

- Purpose: One place for customers to browse plans, place orders, and view/pay bills.
- Connects two company systems: Salesforce (service control) and WHMCS (billing).
- Goal: Smooth experience for customers, clear control and visibility for our team.

## 2) The Two Systems We Connect

- Salesforce: Our “control center” for products and orders. Staff review and approve here.
- WHMCS: Our “billing system” for invoices, payment methods, and subscriptions.
- The Portal: The “bridge” customers use. It talks to both safely in the background.

## 3) How It Fits Together (Big Picture)

- Customer uses the Portal → chooses products → places an order.
- Portal creates the order in Salesforce for review/approval.
- After approval, the Portal provisions the order in WHMCS.
- WHMCS then holds the subscription and generates the invoices customers can pay.

## 4) Catalog (What Customers Can Buy)

- We show the catalog from Salesforce so prices and products are consistent.
- Products are organized (e.g., Internet, SIM, VPN) with clear names and monthly/one‑time fees.
- The Portal only shows what’s approved for online sale.

## 5) Customer Journey (At a Glance)

1. Sign up and link your account.
2. Add a payment method (credit card or gateway) — one‑time step.
3. Browse the catalog and select a plan.
4. Place an order (Portal sends it to Salesforce).
5. Staff reviews/approves in Salesforce, and the Portal activates it in WHMCS.
6. Customer sees subscriptions and invoices in the Portal and pays securely.

## 5a) Sign Up & Account Linking (Plain English)

- What we ask for: email, password, name, and your Customer Number (Salesforce number) — this lets us find your existing account.
- What happens: we create a billing profile in WHMCS and securely link three IDs together behind the scenes:
  - Portal user ↔ WHMCS client ↔ Salesforce account.
- Why this matters: from then on, the Portal always shows the right invoices, payment methods, and subscriptions for that customer.

## 5b) Address — Where It Lives and How We Use It

- Required at signup: we capture a full billing address and store it in WHMCS (our billing source of truth).
- Always available: the Portal pulls your current address from WHMCS so checkout is smooth.
- Snapshotted on every order: we copy the current address into the Salesforce order so staff can review what was used at the time.
- Internet orders: we ask you to explicitly confirm the installation address (technician visit). If you change it, we mark the order “address changed” for staff visibility.
- Updates later: when customers update address in the Portal, we sync it to WHMCS so billing and future orders are correct.

## 5c) Payment Methods — Why We Require One First

- Fewer failures: we only allow ordering after a payment method is on file.
- How customers add it: the Portal opens WHMCS’s secure payment page (single sign‑on); cards are stored by WHMCS, not by the Portal.
- Provisioning also checks: even after approval, we re‑check payment to avoid failed activations.

## 6) Ordering Flow (Simple)

- Before ordering, the Portal checks: “Do you have a saved payment method?”
- The Portal sends your chosen items to Salesforce as an order for review.
- After approval, the Portal creates the service in WHMCS and finishes activation.

## 6a) Business Rules We Enforce (Simple)

- Internet: must include a service plan; installation options are clearly shown; we prevent duplicate active Internet services for the same account.
- SIM: must include a SIM plan and a one‑time activation fee; optional add‑ons (e.g., voicemail) can be added; for number transfer (MNP), we collect the reservation details.
- VPN: must include the VPN activation fee; regions/options are chosen up front.
- Product validity: only products that are approved and priced are allowed to be ordered.

## 7) Billing & Payments (Simple)

- Invoices: Created by WHMCS and shown in the Portal.
- Payment: The Portal opens a secure payment page (SSO) directly in WHMCS.
- Subscriptions: Ongoing services (e.g., monthly plans) displayed in the Portal.

## 8) Built‑In Safeguards (What We Check Automatically)

- Payment method required: prevents failed activations and billing issues.
- Product validity: only approved, priced items can be ordered.
- Duplicate protection: e.g., avoids ordering a second Internet line by mistake.
- Status tracking: Salesforce and WHMCS stay in sync (Created → Activating → Activated).

## 8a) Behind the Scenes (Safe & Repeatable)

- Approvals: staff review orders in Salesforce; on approval, the Portal activates the order in WHMCS.
- Single sign‑on (SSO): the Portal uses expiring links to WHMCS for invoices and payments; we don’t handle card numbers directly.
- Clear errors: if something blocks activation (e.g., missing payment method), we pause and show a short, human‑readable note to staff and a clear status to the customer.

## 9) If Something Goes Wrong

- The order is paused with a clear status (e.g., “Awaiting payment method”).
- Staff sees a short error code and message in Salesforce to resolve quickly.
- Customers keep seeing clear status updates in the Portal.

## 10) Why This Is Better

- For customers: Clear catalog, simple checkout, easy invoice payments.
- For staff: Single review step in Salesforce, automated activation, fewer manual tasks.
- For the business: Consistent pricing, faster time‑to‑activate, fewer errors.

---

# Suggested Slide Deck (Titles + Bullets + Notes)

1. Title — “Customer Portal: How It Works”
   - Bullets: One place to buy, manage, and pay.
   - Notes: We connect Salesforce (control) and WHMCS (billing).

2. The Systems
   - Bullets: Salesforce = control; WHMCS = billing; Portal = bridge.
   - Notes: Keep the mental model: control center vs. billing system.

3. Big Picture Flow
   - Bullets: Choose → Order in Salesforce → Approve → Activate in WHMCS → Pay.
   - Notes: Emphasize approvals happen in Salesforce; invoices in WHMCS.

4. The Catalog
   - Bullets: Products come from Salesforce; only approved offers appear.
   - Notes: Ensures one source of truth for products and prices.

5. Customer Journey
   - Bullets: Sign up → Add payment → Choose plan → Order → Approve → Activate → Pay.
   - Notes: This is what a typical customer sees end‑to‑end.

6. Ordering Checks
   - Bullets: Payment method required; valid items only; no duplicates.
   - Notes: Prevents surprises and support tickets later.

7. Billing & Payments
   - Bullets: Invoices from WHMCS; pay via secure SSO; subscriptions visible.
   - Notes: We never store card numbers in the Portal.

8. Status & Errors
   - Bullets: Clear statuses; short error messages for staff.
   - Notes: Faster turnaround and fewer escalations.

9. Benefits
   - Bullets: Better customer experience; less manual work; consistent pricing.
   - Notes: Close with impact on activation time and error reduction.

10. Q&A

- Bullets: —
- Notes: Keep backup slides with examples/screenshots.

---

Tip: Pair these slides with a simple swimlane diagram (Customer, Portal, Salesforce, WHMCS) showing the hand‑offs at order and activation.

References for deeper reading (optional for presenters)

- Address flow details: docs/ADDRESS_SYSTEM.md
- Technical overview: docs/PORTAL-INTEGRATION-OVERVIEW.md

Diagram (PNG/SVG for slides)

- Swimlane visual: docs/assets/portal-swimlane.svg

---

## 11) Migration (Moving Existing WHMCS Users Into the Portal)

Goal: Let existing customers with WHMCS billing accounts start using the new Portal without losing history.

How it works (plain English):

- Check your email: if you already have a WHMCS billing account, choose “Link account”.
- One-time check: enter your current WHMCS password once. We only verify it directly with WHMCS to prove ownership — we don’t copy it.
- Auto‑linking: we read your Customer Number from WHMCS and find the matching Salesforce account. Then we create your Portal account and link all three IDs.
- Set a new Portal password: we ask you to create a new password for the Portal (your WHMCS password stays in WHMCS).
- After that: log in with your new Portal password; continue to manage payment methods and invoices via secure SSO into WHMCS.

Why setting a NEW Portal password is better than reusing the old one:

- Separation of risk: WHMCS and the Portal are different systems. Separate passwords reduce the blast radius if one is compromised.
- Stronger policy & protections: the Portal enforces modern hashing, lockouts, and audit logs tailored to our app. We don’t control WHMCS’s password rules.
- Least privilege: the Portal never stores or proxies your WHMCS password. We only validate it once during linking, then discard it.
- Future flexibility: lets us improve Portal security (e.g., MFA, rotation rules) without affecting WHMCS.
- Clear SSO flow: customers use the Portal to reach WHMCS billing pages securely without sharing credentials.

Simple talking points for the migration slide:

- “Link your existing billing account by confirming your current password once.”
- “Create a new Portal password — safer, independent, and future‑proof.”
- “Nothing is lost — subscriptions and invoices automatically appear once linked.”
