Accounts, contacts, and opportunities.
The three records at the heart of every CRM, how they relate, and how to model them so reports stay accurate.
Almost every customer relationship management system is built on three kinds of record. An account, sometimes called a company or organisation, is the business you work with. A contact is a person who works for that business or who influences a decision. An opportunity, sometimes called a deal, is a possible sale or project with that account. These three records are simple to describe, but how a team models them determines whether its reports are accurate, its follow-up is consistent, and its history stays intact. This article explains each record, how they relate, the common modelling mistakes, and a sensible order for building the structure from scratch.
Accounts
An account is the organisation that buys, uses, partners with, or supplies your business. For a business-to-business company, the account is usually the entity that signs the contract and pays the invoice. Each account should have a name, a primary web domain, an industry or segment, a size indicator such as employee count or revenue band, and an owner who is responsible for the relationship.
The account is the anchor of the data model. Revenue is usually reported by account, so a clear account record makes totals meaningful. Health measures such as renewal risk and product usage also belong to the account. A manager who wants to know how much a customer spends across all its projects should be able to find that answer in one place.
Be careful with subsidiaries and parent companies. A large group may have several legal entities that buy separately, and a team must decide whether to model each entity as an account or to model the group as one account with child records. The right answer depends on how the customer buys. The principle is to match the model to the way money changes hands, so that the totals mean what the team thinks they mean.
Contacts
A contact is a person. Contacts belong to accounts, but a person can move between accounts over time, and one person may be connected to several accounts, such as a consultant who works for two clients. A good model keeps one record per person and records the relationship to each account separately, with a job title and a start and end date for each role.
Contact records should capture what the team needs to communicate. A name, a work email address, a phone number, a job title, a role in the buying process, and a preferred channel are the basic fields. Some teams also record the person’s location and time zone, which helps with scheduling. Avoid collecting personal details that the relationship does not need. The more personal data a record holds, the more care it requires.
Roles in the buying process matter. A typical opportunity has an economic buyer who approves the budget, a champion who wants the solution, a technical evaluator, and a user who will use the product daily. Recording these roles on the contact or on the opportunity helps a salesperson see whether the decision-makers are involved. A deal with only a champion and no economic buyer is at risk, and the model should make that visible.
Opportunities
An opportunity is a potential sale. It has a name, an account, an owner, a value, a currency, a stage, an expected close date, and a source. It also has a next step, which is the single action that moves it forward. The opportunity record is where most of the sales process lives, so it must be simple to read and easy to update.
The value of an opportunity should represent what the customer would pay, not what the salesperson hopes to win. Teams often inflate values to look busy, which distorts forecasts. A consistent definition, such as annual contract value or total contract value, makes the numbers comparable across deals. Write the definition down and apply it to every opportunity.
Each opportunity should have one stage at a time. The stage describes the state of the sale, and the next section explains how to design stages that mean something. Avoid creating a separate opportunity for each product line within one negotiation unless the products are sold and invoiced separately. Multiple products are usually better modelled as line items within one opportunity, because the account’s total spend is then easy to read.
How the three records relate
The account is the parent. Contacts and opportunities both point to it, so a person at a customer can be found from the account, and every deal with that customer appears on the account. This structure is simple to explain and simple to query.
Opportunities connect to contacts through roles. A deal can have several contacts attached, each with a role. The link lets the team see who is involved in a sale and who has been contacted. It also lets a manager check that the economic buyer is included before the proposal is sent.
Activity connects to all three. A call with a contact is related to that contact, to the account, and sometimes to an opportunity. A good activity model records the primary link and lets the team find the activity from any of the other records. When the links are consistent, the history of a relationship can be read from any starting point.
Avoiding duplicates
Duplicate accounts are the most damaging data problem in a CRM. When two records describe the same company, the history splits between them. The sales team calls the account under one name, the finance team invoices it under another, and the manager sees only part of the revenue. A unique identifier helps, and the web domain is usually the best key for accounts, because a company rarely changes its domain.
Duplicate contacts are common too. The same person may appear once from a form submission, once from an email import, and once from a manual entry. Match contacts by email address, and merge records when a duplicate is found. A simple rule that the team follows every time is better than a clever system that nobody understands.
Prevent duplicates at the point of entry. Search for an existing account before creating a new one. Make the search fast and visible on the create screen. A short habit at the start saves hours of clean-up later, and it keeps the history where it belongs.
Starting the model
Start with accounts, because they anchor everything else. Enter the customers you know well, with their domains and owners. Then add the people at each account, focusing on the decision-makers and the day-to-day contacts. Finally, add the open opportunities, with a stage, a value, a close date, and a next step.
Keep the first version of the model small. A team that adds twenty custom fields on day one will find that nobody fills them in. Start with the fields that every report needs, and add more only when a real question cannot be answered. Review the model after a month. Ask which fields are empty, which fields are unused, and which questions the team still cannot answer. Adjust the model to match the answers.
Write a short data dictionary. For each record and field, note what it means, who maintains it, and how it is used in reports. A new team member who reads the dictionary will understand the model in an hour, and the team will argue less about what a field should contain.
Summary
Accounts, contacts, and opportunities are the core of a customer relationship model. Accounts are the businesses, contacts are the people, and opportunities are the possible sales. Model them to match the way money and decisions flow, keep one record per person and per business, define values consistently, and prevent duplicates at the point of entry. Start small, review the model regularly, and write down what each field means. A clear model makes every report, handover, and conversation easier to trust.