Creating a CRM system with your own hands. Development of a CRM system. Access to information about the enterprise’s business processes at any time



These tasks are solved within the framework of customer relationship management systems - CRM systems (Customer Relationship Management). A CRM system allows enterprises to optimize interaction with clients, create an effective mechanism for managing marketing, sales and service, and also solve a number of fundamental issues, in particular, create a single source of information about clients, optimize the work of sales departments, carry out cross-sell/up- sell across the entire client base and much more.

CRM systems allow you to retain clients and quickly make the right decisions in business management. It is no secret that the success of management lies in forecasting, which is based on statistics, and it is stored in CRM. Thus, the implementation of this system can radically increase the efficiency and profitability of the entire business.

Benefits of implementing a CRM system

Sales growth through effective interaction with customers
Reduced internal costs

Effective labor management

Access to information about the enterprise’s business processes at any time

More efficient financial accounting and document flow

Accounting for every interaction with the client

The experience of numerous projects shows that solving even basic problems in the field of customer service automation allows us to achieve the following indicators:

  • shortening the sales cycle by an average of 10-15% and increasing the percentage of won deals by up to 10%;
  • reduction of time for performing routine operations by 25-30%;
  • increasing average sales profitability by 15-20%;
  • increasing the accuracy of sales forecasting to 99%;
  • reduction in costs for sales, marketing and subsequent customer support by 10-30%;
  • increase in the percentage of cross-selling, including through the customer support department, by 5-10%.

Our company offers you individual CRM development, since we do not want to force you into the framework of a standard set of functions. We offer universal methods, the implementation of which is possible in almost any area of ​​business. Development software any type is carried out by us with maximum consideration of the individual characteristics and needs of each customer.

Ruslan Rayanov


How to create your own CRM

Management By creating a CRM for your business

www.web-automation.ru 2015


Introduction


So, you've finally decided to implement CRM in your organization. In this short guide you will find a technique for creating your own CRM, tailored to your business.


For those who will use a ready-made CRM, this guide will help you better understand your own needs in terms of organizing your company’s business processes (sales, contractors, finances, projects, etc.).


Let's get started, and in the first chapter we will look at what CRM is and why it is needed.


Chapter 1. What is CRM and why is it needed.


In short, CRM is a program designed to record, process and store information about relationships with your customers. We will expand this concept slightly and consider that this is a program that allows you to simplify the management of your business processes.


Let's say you sell some products. You can immediately highlight the processes that can be automated using CRM:

– accounting of Suppliers;

– purchase from Suppliers;

- sales;

- client base;

– Employee database;

– departments;

– financial transactions (accounts);

- motivation system;

- sales channels.


As a result, CRM allows you to achieve the following goals:

cost reduction. Automation of complex calculations and other operations. Reducing unnecessary communication between employees and formalizing business processes.

acceleration of business processes. Notifications (mail, SMS), eliminating unnecessary routine tasks from the business process and simplifying data processing operations (for example, searching the customer database).

improving product quality. Mainly due to maintaining metrics (we will consider further).

increasing business transparency. Data on the work of all employees is entered into the system. It is possible to make reports to management based on this data to understand the situation on the ground.

KPI-based management. For each process, you can select performance indicators (metrics) and start tracking them using CRM (via the metrics panel in personal account leader). If you have introduced an innovation, you evaluate the change in metrics.

standardization of business processes. All employees work according to a certain scheme, which is embedded in the CRM. Plus, there are rules for filtering out incorrect data, which contributes to data unification.


Now let's decide on the choice of your CRM.

There are three options:

Use a ready-made CRM general purpose.

Use a ready-made CRM solution for your industry.

Create your own CRM.


If your business processes do not have unique features and are fairly typical, then installing a general purpose CRM would be your best option. Look for a ready-made CRM - it is relatively inexpensive (in some cases even free) and has a fairly impressive number of functions. However, you will need to adapt to the system and use it as is. Therefore, when installing such a CRM, it is better to imagine your future automation needs in advance and understand whether the system can cover these needs.


It’s good if there is a ready-made CRM for your industry that takes into account the specifics of this industry. By and large, you can adjust your processes to this CRM and begin to act within the framework of its functionality. The advantage of this approach is that you immediately and for little money receive a ready-made methodology for working in your industry. Minus - when developing your business, you cannot influence the development of CRM. Those. your options will be limited to what the developers of this CRM have provided for you.

In any case, this option is worthy of consideration. At a minimum, you need to study 1-2 programs of this kind and see if it suits you.


The next option is custom CRM development. You decide for yourself what will happen in your system and how exactly the processes will proceed. To do this, you will have to fully immerse yourself in your business processes and develop them from start to finish.


This approach is preferable for companies with complex business process logic. Such a company needs its own product, which will take into account the peculiarities and specifics of the business.


An important point is the development and scaling of the business. Processes change and are optimized over time. In your system, you can develop the functionality of the system in the desired direction. In a general purpose CRM this is quite problematic, so it is better to think about this in advance.


It turns out that their own CRM is needed by companies that either have complex business processes, or those who are going to optimize their business while using CRM.


Of course, developing your own CRM is more expensive than implementing a ready-made one, because... a software application is essentially written to suit the needs of your business. Also, the implementation time of your own CRM is longer than that of a ready-made system. It is important to decide on short-term and long-term priorities. What's more important? Speed ​​of implementation, cost, taking into account the specifics of business processes, security, convenience, etc.


In the future, we will consider the third option for implementing CRM - creating a CRM to suit the requirements of your business.


In this case, it will be necessary to go through all stages of software product development, namely:

concept;

technical task;

design and coding;

testing and improvements;

implementation.


In the next chapter we will briefly talk about the project concept and how to write it correctly.


Chapter 2. Concept of the CRM project.


Let's say you decide to develop your own CRM. To do this, you need to write a concept for the future project.


Essentially, the concept is a document on the basis of which you will communicate with candidate contractors. It is very important to draw it up correctly in order to weed out unsuitable contractors at an early stage.


What the project concept should contain:

Brief description of the project (1 sentence).

Composition of modules (definition of roles and their functions).

Technology requirements.

Project parameters (time frame, cost).

Requirements for the development team + the composition of the brief for it.


Let's go through each point in more detail.


Brief description of the project.

You should describe in one sentence the exact nature of your project. By doing so, you will save a lot of time for other people reviewing your concept. Just by the title it will be clear whether this is suitable for the contractor or not.


The fact is that if the description is unclear, you will be asked the same questions - and you will waste time processing them. Therefore, avoid intrigue (creating a very large program for a super company), write simply and clearly.


If there are critical requirements, then it is also better to indicate them in the title. This could be technology, the territorial location of the contractor, timing, budget.


Bad examples:

Website creation

Need a program


Good examples:

We need a studio to develop a CRM engine

Custom CRM development

Custom CRM development, Moscow only.


Composition of modules(definition of user roles and their functions).

To begin with, at least general outline Decide what roles will be in your system. A role is a typical user on your system. For example, salesperson, administrator, operator, manager, warehouse worker, etc.


Once you have defined the roles in the system, briefly describe them.

For example, the role is salesperson. The seller has the following functions: creating a commercial offer, viewing the customer database, processing potential customers and their pre-orders, printing documents for orders.


Technology requirements

If your company already uses servers, then consider ensuring that the future CRM is technologically compatible with the existing infrastructure. This is an optional requirement, but it is better to think about this point in advance. For example, if you use MS Windows software on your server, then there is no point in making your CRM based on technologies that involve the use of Linux servers. If all your systems are based on the same technologies, this will reduce the cost of supporting IT solutions.


If there is no connection to technology, then it is also better to briefly indicate this point to the concept. There will be fewer questions.


Project parameters.

Always indicate estimates of cost and timing.

A CRM system (from the English Customer Relationship Management) is a system for managing relationships with clients. Such systems help keep records of clients, record moments of communication with them, which helps maintain a dialogue with the client and smoothly lead him to the next purchase of your service. When the number of clients is large, an individual approach to each of your clients becomes impossible without process automation.

Cost of CRM system development

Development time is from 2 weeks.

In the CRM system, you store not only personal information about clients, but also the history of their orders, preferences, and the history of their communication with your managers. CRM systems allow you to quickly create targeted mailings using customer preferences, create beautiful commercial offers, generate invoices for payment, etc.

We create a CRM based on a web interface. Your CRM is an Internet address that you can access from anywhere, enter or receive up-to-date information about the client.

Your CRM will become an additional tool for increasing sales. You will be able to link product items on the website with customers from the database. For example, note which product a particular client is interested in. All clients are distributed among the managers who manage them, but, depending on the level of access and rights, you can “spy” on other people’s clients or edit information on them.

Basic functions of CRM

  • Storing contact information about the client.
  • Setting client preferences.
  • Customer order history.
  • Management of managers.
  • History of communication between the manager and the client (time of contact and essence of the conversation).
  • Submission of commercial offers in your design.
  • Generating an invoice for payment in pdf, xlsx format.
  • Calculation of gross profit of orders, debt and revenue forecast.
  • Newsletters via SMS and e-mail.
  • Planning tasks, creating reminders.
  • Daily backup.

The difference between our CRM and packaged and other SaaS solutions

Our CRMs are custom-made and have the functionality you really need. There are many solutions with enormous capabilities, but, as a rule, 90% of the options will be redundant for you, and 10% of the necessary functions will be missing. If your website is maintained by us, then in CRM you can integrate with your product database and create commercial offers using product cards.

CRM interface

The interface of our CRM is strict and practical, reminiscent of the popular accounting program 1C. Drag and drop windows, save forms, and standard controls are implemented using the jQuery UI framework, which has recently become an industry standard. The system interface is familiar and does not require learning.

Not long ago I needed to organize the simplest possible CRM for a small office. The main problem was that customer data was stored absolutely chaotically; it was not clear who called whom when, what was agreed upon with the client and at what stage the client order was.

Yes, today the number of CRM systems on the market is very large. There are options both as a separate application and as an online service with cloud synchronization. If you specifically set a goal, you can find a system for almost any request and wallet. But for my task, the functionality of most CRMs was either redundant or too expensive. Plus, I needed a solution that was as easy to implement as possible and would not require separate training or additional configuration.

What was originally required?

It was necessary to obtain:

  1. a single repository of contacts of all the company’s clients;
  2. access to online/offline storage 24/7 for all office employees at any time;
  3. the ability to view the client’s history;
  4. the ability to divide clients into groups;
  5. the ability to keep a client’s call history with comments about the conversation;
  6. the ability to access information on phones and PCs;
  7. the ability to edit/update information for all office employees (no restrictions on access rights were required);
  8. the ability to immediately see the client’s data and history on the phone screen during an incoming/outgoing call.

What was available?

  1. several inexpensive dual-SIM smartphones on Android connected to CDMA and GSM operators;
  2. WI-FI in the office;
  3. Excel database with customer data located on network drive With shared access from all office PCs.

Neither PBX nor IP telephony were used in the office, since there was no particular need for them.

What was missing?

The workflow looked like this - clients were scatteredly recorded in the phone memory under different names, with some notes and so on. Some phones had recordings, some did not. In addition, there was an Excel file located on a shared network share.

When a client called, the employee specified the caller’s full name, used Excel’s built-in search to check whether such a client existed in the database, and, based on the results of the conversation, recorded the results in the same file.

To put it mildly, the process was very poorly optimized, and although the data was systematized in Excel, it was extremely inconvenient to use. In addition, if an employee left the office, he lost access to the file.

What did you need?

Since the cornerstone of the task was displaying customer data for incoming calls, it immediately became clear that we needed to look for a solution in the area of ​​Google -> Android. And such a solution was found almost immediately - they became free Google Contacts.

Almost everyone knows that Google allows you to sync contacts with your Google account, but not everyone knows that you can edit them not only from your phone. To access the Google Contacts web interface, you need to go to Gmail and select “Contacts” from the drop-down menu.

Additionally, the number of fields provided by Google Contacts is much larger than the standard full name-phone number. The most important thing for me was that Google Contacts allows you to create a separate block of notes for each entry.

  1. has all the necessary fields for contacts (even with some excess);
  2. it is possible to create groups and place contacts in them;
  3. has an interface for both smartphone and PC;
  4. allows you to import/export your contact database;
  5. data is automatically and quickly synchronized through your account - across all devices.

Thus:

  1. a new Google account was created and connected to all office smartphones and PCs;
  2. a customer card template was developed;
  3. several test contacts are created and saved;
  4. Using the export system built into Google Contacts, these contacts were exported to Excel;
  5. the “office” Excel file with contact data was converted to Google format (this is very easy, just place the data correctly in the correct columns);
  6. new file via built-in system Google import Contacts has been imported into Google Contacts.

Profit! The entire previously accumulated client base was placed in a Google account, synchronized on all smartphones, and for each client the following card was obtained:

  1. Client's full name;
  2. the group to which he is assigned is a quick “marker” of the client;
  3. all his contact details;
  4. life cycle of each order. The employee who performed the action is indicated in parentheses.

The photo is added either manually or pulled from Google+, along with the data specified by the user.

Taking into account the limitation on the volume of data output during an incoming/outgoing call, in order not to create unnecessary records, after the transaction was completed, records about the steps were deleted. We left only the result with key parameters:

Fly in the ointment and its solution

It would seem that this is happiness, take it, fill up your contact database and use it. But it is known that every barrel of honey always has its own fly in the ointment. In this case, it looked like this - task No. 6 required displaying customer data and notes for them during incoming and outgoing calls. With all the power and truly convenience of Google Contacts, Google did not fail to put the blame on the phone - on the standard dialer screen of Android smartphones, only the First Name, Last Name and caller number fields were displayed. There were no settings that would allow displaying other additional fields present for the contact.

However, given the fact that smartphones worked under Android control, the task seemed not so insurmountable. As a result of the search, the ““ application was found, which allowed all the necessary data to be displayed on the screen of a standard Android dialer for incoming or outgoing calls.

Call Notes Pro features

The application can:

  • display data from a customer card in Google Contacts on the screen of a standard Android dialer;
  • allows you to configure which fields will be displayed on the screen and in what order:
    • group;
    • company;
    • job title;
    • address;
    • Email;
    • Web site;
    • phone number;
    • contact note;
    • birthday;
    • calendar;
    • call type - incoming/outgoing;
    • number type - personal, work, etc.;
    • pseudonym;
    • location;
    • telecommunications operator.
  • display the time of the client’s previous call (if there was one);
  • work with dual-SIM smartphones;
  • the appearance of the displayed card is fully customizable - color, font, font size of each element, etc.;
  • the ability to create notes for a contact directly during a conversation;
  • the ability to hide the card so that it does not interfere with the use of buttons on the screen.

Let me note right away that the application is paid, but the price of $3 clearly cannot be an obstacle. The application was purchased, installed on all smartphones, with a previously connected common Google account in which all data is stored.

This is what the customer card displayed during a call looks like. You can customize it to your liking.

Result

After all the manipulations, the workflow began to look like this:

For an existing client:

  1. when a client receives a call, the employee immediately sees all the necessary data on the phone screen;
  2. after completing the conversation, the employee enters the results of the conversation and the actions performed via the Google Contacts web interface;
  3. data is generally synchronized Google account and are available to all employees.

For a new client:

  1. after an incoming call from a client, the employee creates a new contact;
  2. enters all necessary data about the client and the call;
  3. adds the caller to the appropriate group;
  4. The data is synchronized in a shared Google account and is instantly available to all employees.

conclusions

The new logic has been implemented and has been working successfully for several months. There is much less chaos in work processes; client cards and work on them are stored in an orderly manner. Phone call conversion increased by 23%. Correct grouping of clients allowed:

  • immediately see when the client last contacted;
  • What group of clients is calling - new, returning, wholesaler, retail, etc.;
  • see how many leads are being processed, how many orders have been completed;
  • re-call customers who were interested in the product but did not place an order;
  • quickly respond to the client about the status of his order;
  • Don't waste time on incompetents.

I have been programming since 2008, initially I developed websites. But my opinion about sites now is not the best, from a development point of view, I will definitely write an article about this. For now, let’s return to how I started developing CRM.

It was a cozy evening on August 19, 2017, when I was contacted for the third time in a week about developing a custom CRM system. And then I realized that I simply couldn’t develop several projects from scratch at the same time. So I sat down and decided to write my own base for developing CRM systems.

It all started with the choice of design, since I myself prefer development and prefer not to open Photoshop and under no circumstances do layout (fortunately, 8 years of development experience allows me to move away from layout), then I chose a ready-made admin panel template and began to develop my own CRM module based on the Yii2 framework.

The first step was to implement an authorization system: login, registration, password recovery, notifications and confirmations by email, recording the number of login attempts, reCaptcha and a ban for half an hour if there are too many attempts. In general, it turned out to be a pleasant and convenient authorization, which I now use in projects.

Next, two modules were created: lead collection and contacts, they are very basic and have the most standard fields: full name, email, phone, comment - something that can be common in all projects, the rest can be added individually.

Afterwards I decided that it would be good to have logging of user actions. This can be taken into account in future analytics. How do company managers work, where do they go, what actions do they perform, at what time is the highest activity. There is no analytics module in the database, since everyone needs their own analytics, but the foundation has already been laid. Speaking of logging, mail logs were also added to the admin panel - headers from SMTP operation and a section for tracking authorization attempts in the system, where login, time and IP address are recorded. It’s useful when this information is in plain sight; you can block the IP a little so that your soul can be at peace.

For myself, I implemented a parser inside the system from the first freelance site, where I often find orders. Now the list of new orders is loaded into the system automatically through a Cron task. I can make notes, reply to projects, or hide them. Each action is taken into account in further analytics, which allows me to evaluate the effectiveness of a given channel and, using this, adjust actions.