Customer Management

Module Code: CRM Priority: P1 (Core Operations - Customer & Lead Management) Status: Extracted from v5.1 and enhanced Dependencies: P0 modules (M00, M01, M02, M03, M05 Task & Workflow Engine) Related Module: M10 Lead Management (for complete prospect-to-customer lifecycle) Old Module Number: M01 (Customer Database)


Module Overview

Purpose: Centralized customer information management system serving as the single source of truth for all customer data across the dealership. Forms the foundation for customer relationship management and integrates with lead management for complete prospect-to-customer lifecycle tracking.

Priority: P1 (Core Operations - Customer & Lead Management)

Scope:

  • Customer master data management (individuals, corporate, fleet, government)
  • Customer 360° view (transactions, service history, communications)
  • Lead-to-customer conversion tracking
  • Customer segmentation and analytics
  • Integration with M10: Lead Management for complete CRM

Dependencies:

  • User Access & Security (user access control)
  • Access Control & Permissions (data access permissions)
  • Employee Directory (customer assignments to employees)
  • Company Configuration (location-based customer data)

Integration Points: All modules (every module references customer data)



Functional Specifications

5.1 Customer Information Management

Customer Definition Rules:

RuleDescription
Customer Record CreationCustomer records created only when monetary transaction occurs
Lead TrackingLeads without transactions tracked separately in Lead Management (M09)
Marketing AnalyticsClosed lead requests maintained for marketing analytics
Duplicate ManagementDuplicate prevention with intelligent merge capability

Customer Types:

TypeDescription
IndividualRetail buyers (personal vehicle purchases)
CorporateBusiness accounts (company vehicle purchases)
FleetFleet account holders (multiple vehicle management)
GovernmentGovernment entities (public sector procurement)

5.2 Create New Customer

Individual Customer Creation:

Process Flow:

  1. Generate unique customer code (auto-incremented)
  2. Capture mandatory fields (name, contact, ID verification)
  3. Create linked customer needs request
  4. Execute duplicate detection algorithm
  5. Offer merge option if duplicate found
  6. Initialize customer lifecycle tracking

Required Fields:

FieldTypeValidation
Customer NameVARCHAR(200)Full name required
Phone NumberVARCHAR(20)Format validation
EmailVARCHAR(255)Optional but recommended
National IDVARCHAR(50)Format + checksum validation
Date of BirthDATE18+ for contracts
AddressTEXTFull address
Customer TypeENUMIndividual/Corporate/Fleet/Government

Corporate Customer Creation:

Process Flow:

  1. Search existing corporate database
  2. Display alert if potential duplicate detected
  3. Option to update existing record or create new
  4. Capture corporate-specific fields (tax ID, business license)
  5. Assign account manager
  6. Set up billing and payment terms

Additional Corporate Fields:

FieldTypeRequired
Company NameVARCHAR(255)Yes
Tax IDVARCHAR(50)Yes
Business LicenseVARCHAR(100)Yes
Legal RepresentativeVARCHAR(200)Yes
Billing AddressTEXTYes
Payment TermsENUMYes
Credit LimitDECIMALOptional
Account ManagerUUID (Employee)Yes

Data Completion Tracking:

FeatureDescription
Progress IndicatorVisual display showing % of fields completed
Field ClassificationMandatory vs optional field identification
RemindersAutomated reminders for incomplete critical information
Quality ScoreData quality score calculation and tracking

5.3 Lead-to-Customer Conversion

Integration with M09: Lead Management (Coming Soon)

Conversion Workflow:

StepActionSystem Behavior
1Lead qualifies for conversionLead status = “Qualified” in M09
2Sales team initiates conversionCreate customer record from lead data
3Auto-populate customer fieldsTransfer all lead information to customer
4Link lead history to customerMaintain complete interaction history
5Update lead statusLead status = “Converted” with customer link
6Initialize customer lifecycleBegin customer journey tracking

Conversion Triggers:

TriggerDescriptionAction
First TransactionAny monetary transaction completedAuto-create customer record
Manual ConversionSales rep manually converts qualified leadCreate customer with lead data
Vehicle PurchaseVehicle sale order createdImmediate customer creation required
Service BookingService appointment with paymentCreate customer for service history

Data Transfer Mapping:

Lead Field (M09)Customer Field (M05)Transformation
Lead NameCustomer NameDirect copy
Lead PhonePhone NumberDirect copy
Lead EmailEmailDirect copy
Lead SourceAcquisition SourceDirect copy
Lead ScoreInitial Customer ScoreConverted to customer score
Lead NotesCustomer NotesAppend to customer history
Assigned Sales RepAccount ManagerTransfer assignment
Lead InteractionsCommunication HistoryFull history transfer

Conversion Business Rules:

RuleDescriptionValidation
Duplicate PreventionCheck existing customers before conversionFuzzy match on name, phone, email
Data ValidationAll mandatory fields must be completePre-conversion validation check
Lead History PreservationAll lead interactions preservedLink maintained for reporting
Attribution TrackingOriginal lead source trackedMarketing ROI analysis
No Reverse ConversionCustomer cannot be reverted to leadOne-way conversion only

Conversion Metrics & KPIs:

MetricDescriptionTarget
Lead-to-Customer Rate% of leads that convert to customers> 25%
Conversion TimeAverage days from lead to customer< 30 days
First Purchase ValueAverage first transaction amountTrack by source
Conversion by SourceConversion rate by lead sourceOptimize marketing
Data Quality Score% of complete customer profiles> 95%

Post-Conversion Actions:

  1. Customer Welcome Flow:

    • Send welcome email/SMS
    • Assign loyalty program ID
    • Schedule first service reminder
    • Add to newsletter
  2. Sales Team Notification:

    • Notify assigned sales rep
    • Update sales dashboard
    • Trigger commission calculation
    • Update sales pipeline
  3. Marketing Attribution:

    • Track conversion by campaign
    • Update campaign ROI
    • Feed data to analytics
    • Close lead in M09

5.4 Update Customer Information

Update Permissions:

Permission TypeDescription
Universal AccessUpdate rights across all user roles
Field-Level ControlAccess control for sensitive data fields
Change LoggingChange history logging with user attribution
Compliance AuditComprehensive audit trail for compliance

Change Management:

FeatureDescription
Value TrackingBefore/after value tracking for all changes
TimestampTimestamp of all modifications
User AttributionUser ID of modifier recorded
Reason CodesReason code required for significant changes
Approval WorkflowApproval workflow for critical fields

Sensitive Field Changes:

  • National ID changes require manager approval
  • Tax ID changes require finance approval
  • Customer type changes require manager approval
  • All sensitive changes logged with reason

Search Capabilities:

FeatureDescription
Full-Text SearchSearch across all customer fields
Advanced FiltersDate ranges, status, type, and custom filters
Quick SearchSearch by phone, email, or customer ID
Fuzzy MatchingIntelligent name matching for similar results
Search HistorySave and reuse frequent queries

Search Fields:

  • Customer ID
  • Full name (with fuzzy matching)
  • Phone number (partial or full)
  • Email address
  • National ID
  • Company name (for corporate)
  • Tax ID (for corporate)
  • Vehicle VIN (linked vehicles)
  • License plate number

Access Control Matrix:

Control TypeDescription
Role-Based VisibilityInformation visibility based on user role
Transaction AccessTransaction history access restrictions
Data MaskingSensitive data masking for unauthorized users
Department ViewsDepartment-specific information views
Service HistoryService history visibility controls

Data Masking Rules:

  • Phone numbers: Show last 4 digits only for non-assigned customers
  • Email: Show domain only for non-assigned customers
  • National ID: Show last 4 digits only
  • Financial data: Restricted to finance and management roles

5.5 Customer 360 View

Comprehensive Customer Profile:

ComponentDescription
Transaction HistoryComplete transaction history (VOC - Voice of Customer)
Service RecordsService history and upcoming maintenance schedules
Sales PipelineSales opportunities and quotations
CommunicationsComplete communication history across all channels
Loyalty StatusLoyalty program status and points balance
FinancialOutstanding payments and credit information
PreferencesCustomer preferences, notes, and special requirements
Owned VehiclesAll vehicles owned (current and historical)

Customer Timeline:

  • Chronological view of all interactions
  • Sales events, service visits, communications
  • Payment history
  • Loyalty rewards earned/redeemed
  • Complaints and resolutions

Quick Actions:

  • Create new quotation
  • Schedule service appointment
  • Send message (SMS/Email)
  • Record interaction
  • Add note
  • Update contact information

5.6 Customer Segmentation

Segmentation Criteria:

CriterionDescription
Purchase HistoryNumber and value of purchases
Service FrequencyService visit patterns
Vehicle OwnershipNumber and type of vehicles owned
Lifetime ValueTotal revenue generated
LocationGeographic location
Customer TypeIndividual/Corporate/Fleet
Loyalty TierVIP, Gold, Silver, Regular

Predefined Segments:

  • VIP Customers (>$100K lifetime value)
  • High-Value Customers (100K)
  • Repeat Customers (3+ purchases)
  • Service-Only Customers (no sales)
  • At-Risk Customers (no activity in 12 months)
  • New Customers (< 6 months)

Data Model

Customer Table:

FieldTypeDescription
customer_idUUIDPrimary key
customer_codeVARCHAR(20)Unique customer number (auto)
customer_typeENUMIndividual/Corporate/Fleet/Government
full_nameVARCHAR(200)Full legal name
preferred_nameVARCHAR(100)Preferred/nickname
national_idVARCHAR(50)National ID/Passport
date_of_birthDATEBirth date
genderENUMMale/Female/Other
primary_phoneVARCHAR(20)Primary contact phone
secondary_phoneVARCHAR(20)Secondary phone
primary_emailVARCHAR(255)Email address
address_line1VARCHAR(255)Street address
address_line2VARCHAR(255)Apt, suite, etc.
cityVARCHAR(100)City
stateVARCHAR(100)State/Province
postal_codeVARCHAR(20)ZIP/Postal code
countryVARCHAR(100)Country
customer_statusENUMActive/Inactive/Blacklisted
assigned_employee_idUUIDSales advisor assigned
primary_location_idUUIDPrimary dealership location
customer_sourceVARCHAR(100)How customer found us
customer_segmentVARCHAR(50)Customer segment
lifetime_valueDECIMALTotal revenue from customer
total_purchasesINTNumber of purchases
last_purchase_dateDATEMost recent purchase
last_service_dateDATEMost recent service
notesTEXTGeneral notes
data_quality_scoreINTData completeness score (0-100)
created_atTIMESTAMPRecord creation
created_byUUIDCreator employee ID
updated_atTIMESTAMPLast update
updated_byUUIDLast modifier

Corporate Customer Table:

FieldTypeDescription
corporate_idUUIDPrimary key
customer_idUUIDForeign key to customer
company_nameVARCHAR(255)Legal company name
trade_nameVARCHAR(255)DBA name
tax_idVARCHAR(50)Tax identification
business_licenseVARCHAR(100)Business license number
legal_representativeVARCHAR(200)Authorized signatory
business_typeVARCHAR(100)Corporation, LLC, etc.
industryVARCHAR(100)Industry classification
billing_addressTEXTBilling address
payment_termsENUMNet30/Net60/COD/etc.
credit_limitDECIMALCredit limit
account_manager_idUUIDAssigned account manager
number_of_employeesINTCompany size
annual_revenueDECIMALCompany revenue

Customer Contact Table:

FieldTypeDescription
contact_idUUIDPrimary key
customer_idUUIDForeign key to customer
contact_typeENUMPrimary/Billing/Emergency
contact_nameVARCHAR(200)Contact person name
titleVARCHAR(100)Job title
phoneVARCHAR(20)Phone number
emailVARCHAR(255)Email address
is_primaryBOOLEANPrimary contact flag
notesTEXTContact notes

Customer Change History Table:

FieldTypeDescription
history_idUUIDPrimary key
customer_idUUIDForeign key to customer
field_nameVARCHAR(100)Field that changed
old_valueTEXTPrevious value
new_valueTEXTNew value
change_reasonTEXTReason for change
changed_byUUIDEmployee who made change
changed_atTIMESTAMPChange timestamp
approval_statusENUMPending/Approved/Rejected
approved_byUUIDApprover employee ID

Customer Preference Table:

FieldTypeDescription
preference_idUUIDPrimary key
customer_idUUIDForeign key to customer
preference_typeVARCHAR(50)Communication/Service/etc.
preference_keyVARCHAR(100)Preference name
preference_valueTEXTPreference value
created_atTIMESTAMPWhen set

Business Rules

Mandatory Fields:

FieldRequirement
Customer NameFull name is required
Primary ContactPhone or email is required
Customer TypeCustomer type designation is required

Data Validation:

Validation TypeRule
Phone NumberFormat validation against regional standards
EmailSyntax verification for valid email format
National IDChecksum validation for authenticity
Tax IDFormat check for corporate entities
Date of BirthAge restrictions (18+ for contracts)

Duplicate Prevention:

Match TypeCriteria
Phone NumberFuzzy match (>80% similarity)
EmailExact match required
National IDExact match required
Name + AddressCombined name and address match

Duplicate Resolution:

  • System alerts user when duplicate detected
  • User can view both records side-by-side
  • User can merge duplicates (keeps primary, archives secondary)
  • Merge action requires manager approval
  • All data from secondary record preserved in history

Data Retention:

Data TypeRetention Period
Active Customer DataIndefinite
Inactive Customer Data7 years minimum
Deleted Customer RecordsSoft delete with 30-day recovery window
Change HistoryPermanent retention

Customer Status Rules:

  • Active: Currently engaged customer
  • Inactive: No activity for 24 months
  • Blacklisted: Fraud/abuse, cannot transact (requires GM approval)

Integration Points

Outbound Integrations:

ModuleIntegration Purpose
M09 Lead ManagementCustomer matching and qualification
M10 Sales OperationsCustomer selection for sales orders
M11 Service OperationsCustomer identification for service
M19 Customer CareCommunication preferences
M20 MessagingContact information retrieval
M22 Campaign ManagementSegmentation data
M21 Loyalty ProgramMember enrollment
M27 Business IntelligenceCustomer analytics

Inbound Integrations:

SourceIntegration Purpose
M13 Traffic ManagementAutomatic customer registration via QR
Virtual PBX (External)Caller ID matching and screen pop
Social Media (External)Lead import from Facebook/Instagram
Email System (External)Inbound inquiry capture

User Roles & Permissions

Access Control Matrix:

RoleViewCreateUpdateDeleteExportMerge
System AdminAllYesAllYesYesYes
Sales ManagerAllYesAllNoYesYes
Sales AdvisorAllYesOwn + AssignedNoLimitedNo
Service ManagerAllLimitedAllNoYesNo
Service AdvisorAllLimitedOwn + AssignedNoNoNo
Customer CareAllNoContact info onlyNoLimitedNo
AccountantRead onlyNoNoNoYesNo

Data Access Scopes:

  • All: Can see all customer records
  • Own: Can only see customers they created
  • Assigned: Can see customers assigned to them
  • Department: Can see all customers in their department
  • Location: Can see customers at their location

Key Performance Indicators

Data Quality Metrics:

MetricTargetMeasurement
Data Completeness> 95%% required fields filled
Duplicate Rate< 2%% duplicate records
Data Accuracy> 98%% valid phone/email
Profile Completion> 80%Avg data quality score
Change Approval Time< 24 hoursAvg approval time for changes

Customer Metrics:

MetricTargetMeasurement
Total Active CustomersTrack monthlyActive customer count
New CustomersTrack monthlyNew customer additions
Customer Reactivation> 10%/yearInactive → Active
Customer Retention> 70%Customers with repeat business
VIP CustomersTrackTop tier customer count

Last Updated: November 14, 2025 Version: 6.0 Migrated From: Dealership_System_Documentation_v5_1.md (M01) Changes: Restructured as P1 Master Data module, updated dependencies to P0 baseline