Assist_Design/docs/uat/appendix-cross-reference.md
2026-02-24 11:09:35 +09:00

24 KiB
Raw Blame History

Cross-Reference Appendix

Quick-reference tables mapping Customer Portal features to their corresponding records in WHMCS and Salesforce. Use this when you need to quickly look up where to verify something.

Understanding how WHMCS and Salesforce are connected is essential for UAT. Here is the linking chain:

Customer Linking (established during signup)

Portal User ID  ←→  WHMCS Client ID  ←→  Salesforce Account ID
     (portal database stores this three-way mapping)
System Field What It Stores
WHMCS Client Custom Field #198 ("Customer Number") The Salesforce Account Number (SF_Account_No__c)
Salesforce Account WH_Account__c The WHMCS Client ID in format "#1234 - Customer Name"
Salesforce Account SF_Account_No__c The Customer Number (same value as WHMCS field #198)

To verify the link: Open the WHMCS Client's custom fields and find the Customer Number. Then search Salesforce for an Account with that same SF_Account_No__c. The Account's WH_Account__c field should contain the WHMCS Client ID.

Subscription / Opportunity Linking (established during provisioning)

WHMCS Service  ←→  Salesforce Opportunity
System Field What It Stores
WHMCS Service Custom Field "OpportunityId" The Salesforce Opportunity ID
Salesforce Opportunity WHMCS_Service_ID__c The WHMCS Service/Product ID

To verify the link: Open a WHMCS Service's custom fields and find the OpportunityId. Then open that Opportunity in Salesforce and check WHMCS_Service_ID__c matches the WHMCS Service ID.

This bidirectional link is what makes cancellation work -- the portal uses it to find the right Opportunity to update.

Order Linking (established during provisioning)

Salesforce Order  →  WHMCS Order
Salesforce OrderItem  →  WHMCS Service
System Field What It Stores
Salesforce Order WHMCS_Order_ID__c The WHMCS Order ID
Salesforce OrderItem WHMCS_Service_ID__c The WHMCS Service ID for each line item

Salesforce Account Fields Reference

These are the key fields on the Salesforce Account record that the portal reads and writes:

Portal-Specific Fields

Field Label API Name Set By When Values
Customer Number SF_Account_No__c Salesforce Account creation Unique identifier (matches WHMCS field #198)
Portal Status Portal_Status__c Portal Signup "Active"
Portal Registration Source Portal_Registration_Source__c Portal Signup "New Signup" or "Migrated"
Portal Last Sign-In Portal_Last_SignIn__c Portal Each login Timestamp
WHMCS Account WH_Account__c Portal Signup "#1234 - Customer Name" format

Internet Eligibility Fields

Field Label API Name Set By When Values
Internet Eligibility Internet_Eligibility__c SF Agent After manual NTT check Speed value (e.g., "Cross 10G", "Hikari 1G") or empty
Eligibility Status Internet_Eligibility_Status__c SF Agent After review Status of the check
Request Date Internet_Eligibility_Request_Date_Time__c Portal When customer requests check Timestamp
Checked Date Internet_Eligibility_Checked_Date_Time__c SF Agent When agent completes review Timestamp

ID Verification Fields

Field Label API Name Set By When Values
Verification Status Id_Verification_Status__c Portal / SF Agent Upload / Review "Not Submitted", "Submitted", "Verified", "Rejected"
Submitted Date Id_Verification_Submitted_Date_Time__c Portal On document upload Timestamp
Verified Date Id_Verification_Verified_Date_Time__c SF Agent After approval Timestamp
Note Id_Verification_Note__c SF Agent After review Internal notes
Rejection Message Id_Verification_Rejection_Message__c SF Agent If rejected Reason shown to customer

Standard Fields

Field Label API Name Description
Email PersonEmail Customer email address
Phone Phone Customer phone number
Billing Address BillingStreet, BillingCity, BillingState, BillingPostalCode, BillingCountry Customer address (snapshot at order time)

WHMCS Client Custom Fields Reference

Field ID Field Name What It Stores Where to Find It
198 Customer Number Salesforce Account Number (SF_Account_No__c) -- the critical cross-system link Client > Profile > Custom Fields
200 Gender Customer gender (Male, Female, Other) Client > Profile > Custom Fields
201 Date of Birth Customer DOB Client > Profile > Custom Fields

Salesforce Opportunity Stage Reference

Stage Display Meaning
Introduction Introduction Initial interest (e.g., eligibility check requested)
WIKI WIKI Low-priority lead
Ready Ready Customer is eligible and ready to order
Post Processing Post Processing Order has been placed, being reviewed
Active Active Service is live
△Cancelling Cancelling Cancellation requested, service still running until end of billing cycle
Cancelled Cancelled Service has been cancelled
Completed Completed Service lifecycle complete
Void Void Lost or not eligible
Pending Pending On hold

Salesforce Case Origin Reference

Origin Value Created By Visible to Customer? When Created
Portal Support Customer (via support page) Yes -- appears in customer's cases list Customer creates a support ticket
Portal Notification Portal (automatic) No -- internal only Order placed, eligibility requested, cancellation requested, ID verification uploaded
Web Public contact form No -- unlinked to account Guest submits contact form

Portal Action → WHMCS Records

Portal Action WHMCS Object Where to Find It Key Fields to Check
Sign up (new customer) Client Clients > Client List > search by email First Name, Last Name, Email, Phone, Address, Custom Fields (#198 Customer Number, #200 Gender, #201 DOB)
Sign up (migrate WHMCS account) Client (existing) Clients > Client List > search by email Confirm no duplicate created; Custom Field #198 now has Salesforce Account Number
Edit profile (email/phone) Client Clients > Client List > open client Email Address, Phone Number updated
Edit address Client Clients > Client List > open client Address 1, Address 2, City, State, Postcode, Country
Order provisioned Product/Service Client > Products/Services tab Product name, Status (Active), Billing Cycle, Amount, Custom Field "OpportunityId" = SF Opportunity ID
Order provisioned Order Client > Orders tab WHMCS Order created with line items
SIM plan change Product/Service Client > Products/Services tab Product name updated to new plan, Amount updated (takes effect 1st of next month)
SIM data top-up Invoice Billing > Invoices > search by client New invoice for top-up amount (500 JPY per GB), Status Paid
SIM reissue Product/Service Client > Products/Services tab Same WHMCS service ID -- no new service created
Voice feature toggle Add-on Services Client > Products/Services tab Voice Mail (pid 119), Call Waiting (pid 123) updated
View invoices Invoices Billing > Invoices > search by client Invoice Number, Status, Amount, Due Date match portal
Pay invoice Invoice + Transaction Billing > Invoices > open invoice Status changes to Paid; Transaction record created
Cancel subscription Product/Service Client > Products/Services tab Status changes to Cancelled at end of billing cycle

Portal Action → Salesforce Records

Portal Action Salesforce Object Where to Find It Key Fields to Check
Sign up Account Search by email or SF_Account_No__c Portal_Status__c = Active, Portal_Registration_Source__c, WH_Account__c contains WHMCS Client ID
Sign up Contact Under the Account record Email, First Name, Last Name
Place an order Order Account > Related > Orders Status, Type, OpportunityId, service-specific fields (see doc 05 for full field list)
Place an order Opportunity Account > Related > Opportunities StageName = "Post Processing", CommodityType__c, Opportunity_Source__c contains "Portal"
Place an order OrderItem Under the Order Product2Id, UnitPrice, Quantity, Billing_Cycle__c
Place an order Case Cases tab (not visible to customer) Origin = "Portal Notification", Subject contains order info
Order provisioned Order Same Order WHMCS_Order_ID__c populated, Activation_Status__c = "Activated"
Order provisioned OrderItem Under the Order WHMCS_Service_ID__c populated for each item
Order provisioned Opportunity Same Opportunity WHMCS_Service_ID__c populated, StageName = "Active"
Create support case Case Cases tab > search by Account Origin = "Portal Support", Subject, Priority, Status
Reply to support case CaseComment Under the Case Comment body, Created Date
Upload residence card Account Search by SF_Account_No__c Id_Verification_Status__c = "Submitted"
Upload residence card ContentVersion Account > Related > Files Uploaded document file
ID approved by agent Account Same Account Id_Verification_Status__c = "Verified", Id_Verification_Verified_Date_Time__c set
ID rejected by agent Account Same Account Id_Verification_Status__c = "Rejected", Id_Verification_Rejection_Message__c has reason
Internet eligibility request Account Search by SF_Account_No__c Internet_Eligibility_Request_Date_Time__c set
Internet eligibility request Case Cases tab Origin = "Portal Notification", new Case created each time
Eligibility checked by agent Account Same Account Internet_Eligibility__c populated with speed value, Internet_Eligibility_Checked_Date_Time__c set
Cancel SIM Opportunity Account > Opportunities StageName = "△Cancelling", SIMScheduledCancellationDateAndTime__c set, WHMCS_Service_ID__c matches WHMCS service
Cancel SIM Case Cases tab (not visible to customer) Origin = "Portal Notification"
Cancel Internet Opportunity Account > Opportunities StageName = "△Cancelling", ScheduledCancellationDateAndTime__c set, CancellationNotice__c, LineReturn__c for equipment
Cancel Internet Case Cases tab (not visible to customer) Origin = "Portal Notification"

Portal Feature → Data Source

This table shows where each portal feature gets its data from. Useful for understanding which system to check when something looks wrong.

Portal Feature Primary Data Source Secondary Source
Dashboard - Active Services count WHMCS (subscriptions) --
Dashboard - Open Cases count Salesforce (cases) --
Dashboard - Recent Orders Salesforce (orders) --
Dashboard - Recent Activity Portal database (aggregated) WHMCS + Salesforce
Dashboard - Task Cards Portal (computed from multiple sources) WHMCS + Salesforce
Service Catalog / Plans Salesforce (Product2, PricebookEntry) --
Eligibility Status Salesforce (Account fields) --
Checkout / Order Submission Salesforce (Order, Opportunity) --
Order Real-time Tracking Salesforce Platform Events → Portal SSE --
Subscription List WHMCS (Products/Services) --
SIM Management (usage, voice) Freebit (via portal backend) WHMCS for billing
SIM Plan Change Freebit (execution) WHMCS (billing update)
SIM Data Top-up Freebit (execution) WHMCS (invoice creation)
Invoices WHMCS (Invoices) --
Payments WHMCS (Transactions) --
Support Cases Salesforce (Cases) --
Identity Verification Salesforce (Account + ContentVersion) --
Notifications Portal database Triggered by Salesforce Platform Events
Address WHMCS (Client record) Japan Post API (for lookup)
Profile (name, DOB, gender) WHMCS (Client record) --
Profile (Customer Number) Salesforce (Account SF_Account_No__c) --

WHMCS Navigation Quick Reference

What You're Looking For Where to Go in WHMCS
A customer's record Clients > Client List > search by name or email
A customer's services Open Client > Products/Services tab
Service custom fields (OpportunityId) Open Client > Products/Services > click service > Custom Fields
A customer's invoices Open Client > Invoices tab, or Billing > Invoices
A specific invoice Billing > Invoices > search by invoice number
Payment transactions Open an Invoice > Transactions section
Client custom fields (#198, #200, #201) Open Client > Profile > Custom Fields section
Payment methods Open Client > Pay Methods tab

Salesforce Navigation Quick Reference

What You're Looking For Where to Go in Salesforce
A customer's account Search globally by email or Customer Number (SF_Account_No__c), or Accounts tab
Portal status fields Open Account > check Portal_Status__c, Portal_Registration_Source__c, WH_Account__c
WHMCS link verification Open Account > check WH_Account__c contains WHMCS Client ID
Internet eligibility Open Account > check Internet_Eligibility__c and related date fields
ID verification status Open Account > check Id_Verification_Status__c and related fields
Orders for a customer Open Account > Related > Orders
Opportunities for a customer Open Account > Related > Opportunities
Opportunity → WHMCS link Open Opportunity > check WHMCS_Service_ID__c
Cancellation status Open Opportunity > check StageName for "△Cancelling" or "Cancelled"
Support cases (customer-visible) Cases tab > filter Origin = "Portal Support"
Internal notification cases Cases tab > filter Origin = "Portal Notification"
Case comments/replies Open a Case > Related > Case Comments or Email Messages
Uploaded documents Open Account > Related > Files (ContentVersion)
Product catalog Products tab (Product2 records) > check Portal_Accessible__c = true