Auto-translation used

How to make a simple CRM for a small business using the Notion + template

In this article, I will tell you how to independently make a simple and convenient CRM system for small businesses to sell goods and services on Notion.

If you don't want to read or do it yourself, there is a link to the ready-made template at the end of the article.

Notion is a universal no-code tool that makes it possible to create a personal or corporate system for anything.  

First, I'll talk about how to make the correct database structure (so that you don't have to redo it later), then I'll tell you how to make functions, automation and interfaces that increase usability and productivity, and I'll finish on what else could be done to raise the system to a higher level.

Any system, including CRM, must be tailored to specific processes. Our CRM will be an average-basic version - the basis for such an adjustment, and will be suitable for those who sell both goods and services, but it will not suit someone.

If you like watching more than reading, here is a link to the video

“Measure it seven times, cut it off once.” 

We start by creating a database structure, this is the most important part that will be difficult to redo later. The possibilities of a future CRM system depend on choosing the right structure.

I will omit the theory, details and those. limitations (more of this is in the article on how to make a project management system).

We will have 6 bases out of them:

The arrows indicate direct connections.

  1. Leads/Deals. There will be applications coming from all sources, which then turn into sales.
  2. Customers. Those who “buy”
  3. Managers. Those who “sell". Clients can be assigned to managers.
  4. Goods/Services. What we will sell, and we can sell both single services and a ”list" of goods.
  5. Transactions. The technical base that will allow us to do what is written in the paragraph above.
  6. Dashboards. Workspaces for managers, so that I can do everything I need, and not distract too much.

Access levels

In our simplified system there will be 2 of them:

  1. “The manager.” Sees and has access to everything except databases, Managers and Dashboards.
  2. “The owner” Has access to everything.

The bases are ready:

Guided by the goal of making a simple and universal CRM and the “golden rule" of design:

The less the better.

We make the minimum possible/neutral set.

Leads/Deals

  • The name is either meta information (when auto-loading from forms and the site) or an indication of what is needed, meaningful information to identify the lead by the manager.
  • Creation date - when the lead was created/added to the database. A date that can be selected manually;
  • The source is where the lead “came from". A drop-down list with options. We will add a couple of examples, each user will have to customize for himself;
  • Email;
  • Telephone;
  • Manager - who is assigned the Lead/Deal;
  • Date of the next contact;
  • The subject of the next contact;

The last 2 functions: We build the work of our CRM, guided by the principle that each contact should end with the appointment of the date of the next contact (and specifying the topic, so as not to forget), even if the transaction is closed. 

  • Status - Lead (there was no first contact), Negotiations, Documents (formal agreement to the transaction, preparation of documents), Sale (Contract signed/Invoice paid...), In progress (shipment of goods, Provision of services), Ready (goods shipped, Services rendered), Closed (documents signed/feedback received), Refusal;
  • Transaction date - the date when the status was changed to Sale;
  • Postings - What Kind of Product/Services have been added to the Deal
  • Customers - customers related to the transaction - who “buys”
  • The Client's email is automatically pulled from the Clients database;
  • The Customer's phone is automatically pulled up from the Customer base;
  • The order amount is the total amount of the selected goods/services, automatically pulled up from the Transaction database, takes into account the discount;
  • Discount - the amount of the order is set manually;
  • A review is either a link to a review (on maps, for example), or an answer to the question “What can be done better” that should be asked to all customers after the transaction.
  • Lead (count) is a technical function for counting Managers' leads;
  • Sale (count) is a technical function for counting the number of sales Managers;
  • The amount (count) is a technical function for calculating the sales amount of Managers;

Customers

  • Name - the name of the organization or the name of the individual. faces.
  • Email;
  • Telephone;
  • Leads/Deals - communication with the database;
  • Total amount of purchases;
  • The last deal;
  • A fixed Manager is pulled up from the Leads/Transactions.

Managers

  • Name;
  • In Notion - profile in Notion;
  • Pinned clients;
  • Leads/Deals - communication with the database;
  • The number of leads in the work is considered automatic;
  • The number of transactions in operation is not closed, it is considered automatic;
  • The amount of transactions is considered automatic;
  • Dashboard - link/link to a personal Dashboard.

Products/Services

  • Title;
  • Quantity of stock in stock";
  • Quantity - calculated based on the Initial Quantity and Transactions, takes into account write-offs;
  • Price;
  • Transactions - connection to the database;
  • Customers - it is pulled up automatically from the Wiring.

Transactions

  • The name will be filled in automatically;
  • Leads/Deals - communication with the database;
  • Goods/Services - communication with the database;
  • Price ✋🏼 - set manually if it differs from the fixed Price of the Product/Services
  • Price - if the Price is empty, it shows the Price of the Product/Services;
  • Total - Price *quantity;
  • Date - will be filled in automatically, can be changed manually;
  • The default number is 1;
  • Count - the number to subtract from the number of Products/Services "in stock";
  • The client is automatically pulled up from the database of Leads / Deals.

Dashboards

  • Name - the name of the ”owner” of the Dashboard;
  • Manager - communication with the Managers database.

Technical functions (in all databases):

Here, I would like to focus in more detail on several formulas-functions that play a key role:

  • Lead (count) - counts the number of leads in the work of Managers;
if(and(prop("Status")!="Done", prop("Status")!="Closed", prop("Status")!="Sale", prop("Status")!="Execution",prop("Status")!="Failure" ), 1.0)
  • Sale (count) - counts the number of sales from Managers;
if(or(prop("Status")=="Done", prop("Status")=="Closed", prop("Status")=="Sale", prop("Status")=="Execution"), 1.0)
  • Amount (count) - counts the amount of sales from Managers;
if(or(prop("Status")=="Done", prop("Status")=="Closed", prop("Status")=="Sale", prop("Status")=="Fulfillment"), prop("Order amount"),0)
  • Count - shows the number only if the status of the transaction is Sale and or is empty (to record “receipts to the warehouse”);
if(or(format(map(prop("Leads/Deals"),current.prop("Status")))=="Sale", format(map(prop("Leads/Deals"),current.prop("Status")))=="Execution", format(map(prop("Leads/Deals"),current.prop("Status")))=="Done", format(map(prop("Leads/Deals"),current.prop("Status")))=="Closed", empty(format(map(prop("Leads/Deals"),current.prop("Status"))))), prop("Quantity"), 0)
  • Lead or Deal (tech) - for summation at the Manager level, considers a record as a lead, deal, or rejection; 
ifs(or(format(map(prop("Leads/Deals"),current.prop("Status")))=="Sale", format(map(prop("Leads/Deals"),current.prop("Status")))=="Execution", format(map(prop("Leads/Deals"),current.prop("Status")))=="Done", format(map(prop("Leads/Deals"),current.prop("Status")))=="Closed"), 1,
format(map(prop("Leads/Deals"),current.prop("Status")))=="Failure",2,0)

If you change the names of statuses (or add new ones), you need to change them in these formulas so that they work. 

  • The order amount is the total amount of the selected goods/services, all Transactions, minus the Discount (if any).
sum(map(prop("Проводки"),current.prop("Итого")))-(sum(map(prop("Проводки"),current.prop("Итого")))*(prop("Скидка")/100))

To increase efficiency, reduce the number of errors and the amount of manual work, we will add “native” Concept automation, where possible:

  • New lead - when a new record (lead) is created, the following is automatically entered: Creation date - Now, Status - Lead, Date of the next contact - Now +2 days, Subject of the next contact - Fallout.
  • Date and name of the transaction - set the date when the status is changed to Sale, and the name is the Date+Client;
  • The name of the transactions is auto-filling based on the name of the Product and the Customer of the transaction;
  • Transaction date + quantity (1 by default) - auto-fill when creating;

The templates will not only show all the necessary related information in one place, but also significantly simplify the processes (some of the work will go through them). 

Notion recently released an update where it changed the ability to control how properties (functions -”columns”) look inside a database page, making it possible to pin 4 in the header, move part to a collapsed side menu, and add individual ones in different views.

The function is called - Customize Layout

In our template, we will use new features:

  • Pin the “most important” properties in the header;
  • Hide the less important ones in the side menu.

We make the following templates:

Deal

Automatically collects and presents all important information about the transaction.

Unlike other templates - this one is actively involved in workflows - goods and services are added to the transaction “from the inside” (through the database view we added), where, due to the installed filter, each Transaction will be automatically linked to the Lead/Transaction.

Client

Shows general information in the header, as well as all Leads, Deals and Products/Services associated with the client.

Performs an informational function.

Manager

In addition to general information, it shows all Leads and Deals related to the manager.

If you add a new lead here, it will be automatically assigned to the manager.

Product/Service

Shows all Transactions (Sales) The product/Services in various representations, as well as “summary” information.

Dashboard

An individual workspace for each Manager, customized for him, where the Manager will be able to work with his Leads and Deals, as well as see all his

Now let's move on to creating interfaces.

We have already created an interface for Managers - a Dashboard, now we need to create an interface for the second access level - the Owner.

What (and how) The owner needs to see, we assume that:

  • All Leads/Deals are in tabular and kanban form.
  • Leads/Deals grouped by Managers.
  • Sales grouped by month, Closed deals grouped by month + grouped by manager (double grouping in kanban view).
  • Managers and their Dashboards.
  • Clients in tabular form and Clients grouped by manager.
  • Goods/Services.
  • Transactions In progress (not sales), as well as sales grouped by: Goods/Services.Transactions.To clients.
  • Goods/Services.
  • Transactions.
  • To clients.

+ At the top we will have a “board” for links and documents and a technical “block” where all databases, a synchronized block, and instructions may also lie.

In the end, I would like to add…

The short answer is almost anything.

The correct answer is exactly what you need.

For example, here is a “short” list of ideas that came to us during construction:

  • The months database is used to record sales statistics by month, as well as to evaluate the work of managers;
  • Base Contacts - if you sell to a business, you interact with organizations where different people are responsible for different things: decision-making, documents, delivery, tech. the CRM part should take this into account.
  • Shipments, delivery, communication with projects - depending on how exactly the goods/services are delivered;
  • Purchases - for the “correct” replenishment of the warehouse and not only;
  • Warehouse, leftovers, inventory;
  • Documents - invoices, contracts, KP, etc. So that everything is stored in one place and connected to transactions - for quick and convenient access.
  • Reserve of the quantity of Goods/Services for a transaction with a certain status;
  • Discounts on selected Products/Services;
  • A system of cumulative discounts for customers based on sales volume;
  • The "bring a friend" system - a discount on goods/services for both parties based on unique codes - is a powerful tool for retaining customers for certain niches;
  • Auto-calculation of the commission for sales managers, depending on the volume sold per month, discounts, Goods/Services;
  • Bounce statistics for each Manager, with a record of the reasons for failures;
  • The module for working with refunds;
  • Product Sales Statistics/Services (date, quantity, discount...) for each manager;
  • The total amount of sales for each Product/Service;
  • Auto-selection of managers when they add a lead, as well as an auto-distribution system for leads;
  • Archiving - Non-working Managers and outdated Products/Services;
  • HR module - for onboarding and offboarding managers, including a Knowledge Base/Processes and automation of these processes;
  • Connecting to a site, for example to Tilda, for accepting applications from there automatically and automatically determining the source;
  • Projects and tasks (by the way, check out our templates for Projects and tasks and a tracker to keep track of time on them);

Here I would like to say once again that everything, from the structure to the interfaces, must adapt to the processes of a particular business, which Notion allows you to do very well. 

Here you can get a CRM template.

If you want me to tell you how to make the system you need, write in the comments.

Thanks for attention.