In precedenza in questa serie, abbiamo importato il modello di database di SuiteCRM in Vertabelo e abbiamo mostrato come utilizzare le funzionalità di Vertabelo per organizzarlo. In questo articolo, vedremo come i dati CRM comuni vengono archiviati nel suo database. Verificheremo anche le ipotesi fatte nella Parte 2 sulle relazioni tra le tabelle e le loro funzioni. Se necessario, apporteremo modifiche al modello.
Che cosa abbiamo attualmente?
Nella parte 1, abbiamo installato SuiteCRM localmente utilizzando il pacchetto di installazione Bitnami. Dopo aver effettuato correttamente l'accesso, la schermata principale di SuiteCRM appare come quella seguente:
Il database di SuiteCRM chiamato “bitnami_suitecrm” è accessibile dalla posizione http://127.0.0.1/phpmyadmin. Ricordiamo che il modello ha 201 tabelle.
Abbiamo concluso la parte 2 di questa serie con il modello organizzato in questo modo:
Requisiti di base per un CRM
Un CRM dovrebbe consentirci di tenere traccia dei nostri clienti e tenere traccia dei contatti (chiamate, riunioni, ecc.) che abbiamo con loro.
I clienti sono al centro di qualsiasi sistema CRM. Abbiamo bisogno di memorizzare i loro dati organizzativi di base (nome, indirizzo, entrate, numero di dipendenti) e i loro dati di contatto (telefono, cellulare, e-mail, sito Web e forse anche account social). Dobbiamo anche tenere traccia dei dati amministrativi, come quando e da chi sono stati aggiunti o aggiornati i loro record nel sistema.
Quando pensiamo alle azioni relative ai clienti, di solito pensiamo a chiamate e riunioni. Potremmo anche avere altre azioni che non richiedono il contatto con il cliente:verificare se un problema è stato risolto, se è stato effettuato un pagamento, cose del genere. Vogliamo tenere un registro delle azioni precedenti, ma abbiamo anche bisogno della capacità di pianificare eventi futuri. Inoltre, memorizzeremo gli orari di inizio e fine dell'azione, chi ha inserito e aggiornato i dati dell'azione, chi ha avviato quella specifica azione e chi ne è responsabile.
Naturalmente, ci sono un sacco di altre cose, come prodotti e servizi precedentemente venduti e potenziali nuove vendite, che potremmo anche aggiungere a un CRM. Ma in questo articolo ci concentreremo su come SuiteCRM archivia i dati dei clienti, le chiamate e le riunioni.
Gestione dei clienti
Le organizzazioni clienti sono chiamate account in SuiteCRM. Ecco cosa è il Crea nuovo account lo schermo assomiglia a:
Ed ecco come appare la tabella "accounts" nel database di SuiteCRM:
All'interno degli accounts
tabella, attributi negozio informazioni immesse in Crea nuovo account schermo:
- Dati di base del cliente:
name
,description
,industry
,annual revenue
,“rating
,ownership
,employees
,ticker symbol
- Dati di contatto:
phone_fax
, attributi dell'indirizzo di fatturazione, attributi dell'indirizzo di spedizione,phone_office
,phone_alternate
,website
- Modifiche ai dati del cliente all'interno del CRM:
created_by
,modified_user_id
,assigned_user_id
,date_entered
,date_modified
edeleted
.
La maggior parte di questi attributi sono di tipo varchar perché il CRM deve essere in grado di memorizzare i dati inseriti dall'utente di qualsiasi tipo possibile.
I accounts
table è collegato a molte altre tabelle nel database di SuiteCRM. Tutte le relazioni sono stabilite secondo le ipotesi descritte nella Parte 2 di questa serie.
Gli account all'interno di SuiteCRM sono fondamentalmente un elenco di clienti. Sono correlati a molte altre tabelle nel sistema:contacts
, opportunities
, bugs
, cases
.
In SuiteCRM, contatti sono persone reali con cui parliamo per conto della loro organizzazione (ricorda, nel linguaggio CRM queste organizzazioni sono chiamate "account"). Puoi assegnare un nuovo contatto a un account, come mostrato di seguito:
I dati della persona sono conservati nei contacts
tavolo. I account_contacts
la tabella ci consente di mettere in relazione molti contatti con un determinato account.
Opportunità all'interno di SuiteCRM sono stimate le possibilità di vendita. Sono legati alla fase di vendita. Le opportunities
e account_opportunities
le tabelle vengono utilizzate per archiviare dati su più opportunità relative a un singolo account.
Come puoi intuire dal loro nome, i bugs
e accounts_bugs
le tabelle memorizzano i dati sui problemi relativi a determinati account. Il modulo SuiteCRM ci consente anche di inserire soluzioni e tenere traccia delle storie di bug. I bug sono relativi a calls
, contact
, cases
e altre tabelle.
Il modulo "casi" viene utilizzato per inserire e tenere traccia dei problemi relativi al servizio. Dopo aver aggiunto un nuovo caso, possiamo aggiungere bug relativi a quel caso.
Chiamate
Qualsiasi sistema CRM memorizzerà le informazioni sulle chiamate ai clienti; SuiteCRM non è diverso. Per aggiungere una nuova chiamata, facciamo clic su Attività --> Chiamate e inserisci i dati necessari. Aggiungeremo una nuova chiamata e la metteremo in relazione con un account e un utente esistenti nel nostro sistema.
Ecco cosa Chiama la sezione all'interno del database è simile a:
Nelle calls
tabella, possiamo vedere alcuni degli stessi attributi degli accounts
tavolo. Gli attributi created_by
, modified_user_id
e assigned_user_id
fare riferimento all'utente o agli utenti che hanno inserito questa chiamata, l'hanno modificata o sono stati assegnati alla chiamata. Il parent_type
e parent_id
coppia indica a quale tabella si fa riferimento e il valore della chiave primaria per quella tabella. La maggior parte degli altri attributi sono autoesplicativi.
La stessa struttura, utilizzando una relazione molti-a-molti, viene utilizzata per collegare le chiamate con utenti, lead e contatti.
Dopo aver fatto clic su Salva pulsante, possiamo vedere un nuovo record di chiamata nelle nostre Chiamate elenco. Ora daremo un'occhiata al database, in particolare alle calls
e calls_users
tabelle.
Nelle calls
tabella possiamo vedere che "parent_type" =Account e che l'id nel parent_id
campo è l'ID dell'account. All'interno del database sono presenti alcune tabelle che utilizzano lo stesso attributo per connettersi a una delle poche altre tabelle. Mentre parent_id
conterrà il valore della chiave primaria nella tabella di riferimento, parent_type
indica a quale tabella ci collegheremo.
Naturalmente, nel calls_users
tabella collegheremo quella chiamata a un utente assegnato.
Incontri
Le "Riunioni e contatti La sezione " è il gruppo di tabelle utilizzato per archiviare i dati relativi a riunioni e lead. Sebbene sia ovvio quali potrebbero essere i dati della riunione, leader fare riferimento al potenziale interesse dei clienti per i nostri prodotti e servizi. Successivamente, utilizzeremo questi contatti e li collegheremo a opportunità, chiamate e riunioni.
Noteremo che alcune regole generali per la denominazione dei campi nelle meetings
tabella e per collegare le riunioni con contatti, lead e utenti vengono applicati in questa sezione.
Come per le chiamate, anche le riunioni possono essere assegnate agli utenti e correlate ai clienti. Entreremo in una nuova riunione facendo clic su Attività --> Riunioni --> Pianifica riunione .
I dati del meeting, una volta inseriti, vengono archiviati all'interno di SuiteCRM; possiamo visualizzarlo nell'elenco delle riunioni. Come per le chiamate, le riunioni possono essere assegnate ad account, contatti, attività, opportunità, bug, casi, lead, progetti, attività di progetto e obiettivi.
Nel database, la meeting
la tabella contiene i dati sulla riunione appena aggiunta. Il parent_type
e il parent_id
gli attributi sono usati allo stesso modo e per lo stesso scopo delle calls
dati.
Il meetings_users
la tabella memorizza le informazioni sugli utenti assegnati a una determinata riunione.
Le chiavi primarie sono valori hash generati casualmente. Ciò ci consente di avere valori univoci per ogni chiave primaria nell'intero database, non solo in ogni tabella. Ciò è particolarmente utile quando utilizziamo lo stesso attributo come chiave esterna per molte tabelle diverse. Un attributo contiene il valore della chiave, mentre un altro contiene il nome della tabella di riferimento. Ciò fornisce molta più flessibilità, più di quella generalmente necessaria per i sistemi che coprono diverse situazioni aziendali reali.
Nella parte 4, che chiuderà questa serie, daremo uno sguardo più da vicino al resto di SuiteCRM, comprese campagne, progetti, opportunità e amministrazione dei documenti.