Introduction
Odoo Contacts gives growing companies a dedicated place to run a slice of their business inside the same database as sales, inventory, finance, and HR.
Disconnected tools create duplicate entry, conflicting numbers, and slow decisions, especially when teams scale past a single location or product line.
Standard Contacts flows are designed to be configurable before you customize code, which keeps upgrade paths manageable for lean IT teams.
Business owners, functional leads, and project sponsors reading this guide want to understand real-world usage before they scope an implementation.
Odoo Contacts gives growing companies a dedicated place to run a slice of their business inside the same database as sales, inventory, finance, and HR.
This article is a ranked Top 10 from Level 1 (easy) to Level 10 (expert). Every level includes numbered steps: what you would actually click in Odoo Contacts.
Start where you are comfortable, not at level 10 because it sounds impressive.
Read the challenge section next, then open the level that matches your team today.
In this guide, you will see:
- What Odoo Contacts is responsible for in a typical company stack
- Where teams feel the most friction today (and why)
- Ten ranked use cases from beginner discipline to advanced strategy
- When automation or integrations justify bringing in an Odoo partner
The Challenge
Leadership opens a beautiful dashboard, then asks why the cash number does not match accounting. Someone built a view on incomplete data, and now every meeting starts with trust issues, not decisions.
Leaders want insight and tailored processes, but data and customization sprawl without governance. Dashboards and Studio changes only help when they sit on reliable transactional data.
Sound familiar? Teams usually hit these walls:
- KPIs that do not match operational reality
- Customization without sandbox discipline
- Integrations that break silently after upgrades
The good news: you do not need a big-bang project to fix everything. Pick one use case below, run it for 30 days in Odoo Contacts, and measure what changes.
Top 10 Contacts Use Cases
10 use cases for Odoo Contacts, ranked from Level 1 (easy, do it this afternoon) to Level 10 (expert). Each one answers: what would we build, and what are the clicks in Odoo?
Level 1 is the easy daily win. The last level is intentionally over the top so you see how far the same app can scale when architecture and data stay clean.
Pick your level, follow the numbered steps in a test database, then move up when the previous level feels boring.
1. Create your first contact in the address book Level 1 — Easy
Level 1 is the simplest possible action with Contacts: one user types one person into Odoo so the company stops keeping client info in Outlook and personal phones.
Here's how you'd do it in Odoo:
- Install the Contacts app, then go to Contacts, New, and tick Individual at the top of the form.
- Fill the basics: First name, Last name, Job Position, Email, Phone, Mobile, and pick a country in the address block.
- Drop a photo in the avatar slot so the contact card shows a face on the kanban view.
- In the Internal Notes tab type one line of context, for example: met at trade show, asked for a 2026 quote.
- Click Save; the contact now appears in the kanban list and is searchable by name, email or phone from any app.
What you get: Customer data leaves personal inboxes and lives in one shared address book that every colleague can search in seconds.
2. Add a company and link its employees as child contacts Level 2 — Easy
Level 2 introduces the Individual versus Company distinction and the parent-child relationship. One company record holds the address, and employees inherit it and stay grouped under their employer.
Here's how you'd do it in Odoo:
- Go to Contacts, New, tick Company at the top, then type the legal name, website, main phone and full headquarters address.
- Add the VAT number; Odoo will auto-validate it against the VIES database for European companies in one click.
- Scroll to the Contacts and Addresses tab, click Add, tick Contact, and enter an employee with role and email.
- Repeat for two or three colleagues so the company card shows the team you actually talk to every week.
- Open one employee record and check that the parent Company link and the shared address appear automatically at the top.
What you get: You stop having half-empty records for the same company; one parent holds the truth and employees inherit it.
3. Segment the address book with Tags and the Industry field Level 3 — Easy
Level 3 turns a flat list into a searchable database. Tags and the Industry field let you filter by segment, lifecycle stage or any axis your team cares about, without development.
Here's how you'd do it in Odoo:
- Go to Contacts, Configuration, Contact Tags, and create the tags you actually use: Customer, Prospect, Supplier, Partner, Newsletter.
- Open any contact and pick the right Industry from the dropdown (Manufacturing, Retail, IT services, Healthcare) at the bottom of the General tab.
- On the contact form drop one or several Tags in the Tags field above the company name.
- Back on the Contacts list click the Filters menu, pick Tags is Customer and Industry is Manufacturing, save the filter as a Favorite.
- Share the saved Favorite with the team so Sales, Support and Marketing all work from the same segments on Monday morning.
What you get: Every team queries the same segments instead of guessing who is a real customer, which removes weekly Excel exports.
4. Manage Invoice, Delivery and Contact addresses on one company Level 4 — Medium
Level 4 introduces multiple addresses per company. A single customer can have one billing address, two warehouses and three contact people, all linked under one parent record.
Here's how you'd do it in Odoo:
- Open a company record, scroll to Contacts and Addresses, click Add and pick Invoice Address; fill name, full address and accounting email.
- Click Add again, pick Delivery Address, type the warehouse address; repeat for each shipping site the customer uses.
- Click Add again, pick Contact, link the operational person at that warehouse with phone and email.
- Save and open Sales, New Quotation, select the company; Odoo proposes the right Invoice and Delivery addresses in two dropdowns.
- Confirm the quote and check that the PDF prints the billing address in the header and the delivery address on the picking.
What you get: Sales, accounting and logistics use the right address every time, so invoices and deliveries stop landing on the wrong site.
5. Import a CSV list of contacts with duplicate matching Level 5 — Medium
Level 5 covers the bulk import. You bring contacts from another tool, map columns, and let Odoo match on email so you do not double the database.
Here's how you'd do it in Odoo:
- Prepare a CSV with columns Name, Email, Phone, Company, Country Code, Tags and Industry, one row per contact, semicolons as separators.
- Go to Contacts, Favorites menu, Import Records, drop the file; Odoo proposes a column mapping that you can adjust line by line.
- Tick the option Use Email as External Identifier so existing records with the same email are updated instead of duplicated.
- Click Test first; Odoo flags blocking errors per row so you fix the source file once, not record by record.
- Click Import; the kanban refreshes with the new contacts and a summary line shows X created, Y updated, zero duplicated.
What you get: A legacy contact list moves into Odoo in one afternoon instead of a two-week retyping project, with zero duplicate records.
6. Set sales terms per customer: pricelist, payment terms, fiscal position Level 6 — Medium
Level 6 turns the contact card into a commercial settings hub. Each customer gets its own pricelist, payment terms and fiscal position, so quotes and invoices are correct by default.
Here's how you'd do it in Odoo:
- Open a customer company and switch to the Sales and Purchase tab.
- Set Pricelist to the right tier (Public, Reseller, Volume) so quotes pull the agreed prices automatically.
- Set Payment Terms to the negotiated value (Immediate, 30 days end of month, 60 days) so invoices print the correct due date.
- Set Fiscal Position to the right rule (Domestic, Intra-EU B2B, Export) so VAT is applied correctly on every line.
- Assign a Salesperson and a Sales Team so all new quotes, opportunities and tickets are routed to the right owner.
- Open Sales, New Quotation, pick the customer; the three commercial fields are pre-filled and the PDF reflects the customer terms.
What you get: Quotes and invoices are correct on day one, so finance stops chasing wrong VAT and overdue payments.
7. Give selected contacts portal access to their orders and invoices Level 7 — Hard
Level 7 connects Contacts to the customer Portal. Selected contacts log in to a private page to see their quotes, orders, invoices and tickets, with no support call needed.
Here's how you'd do it in Odoo:
- Open a contact, click the Action menu at the top of the form, and pick Grant Portal Access.
- Tick the contacts who should log in, write a short message, click Send Invitation; Odoo emails each one a personal sign-up link.
- After they accept, the contact record shows status Portal; you can revoke access from the same menu at any time.
- Configure Portal record rules in Settings so a contact only sees its own company documents, never another customer's data.
- Test in an incognito tab: log in with the new account, open My Orders and My Invoices, confirm only the right data is visible.
- Track who actually uses the portal in Settings, Users, filter Type is Portal and sort by Last Login to find inactive accounts.
What you get: Customers self-serve quotes, orders and invoices, so support tickets drop and Sales spends time selling instead of emailing PDFs.
8. Merge duplicates and archive inactive contacts with Data Cleaning Level 8 — Hard
Level 8 introduces the Data Cleaning app on top of Contacts. You catch duplicates, normalize phone numbers and emails, and archive contacts you have not touched for years, with a controlled review loop.
Here's how you'd do it in Odoo:
- Install the Data Cleaning app, then open Data Cleaning, Configuration, Rules and create a rule on Contact matching on Email exact.
- Add a second rule matching on Name plus Company plus Country, in case the same person appears under two different emails.
- Run the rule; Data Cleaning shows pairs of suspected duplicates side by side, with a Merge button that keeps the older record and merges history.
- Add a Field Cleaning rule that trims whitespace, lowercases emails and reformats phone numbers to E.164 across the whole contact base.
- Add an Archiving rule: archive contacts with no opportunity, order or invoice in the last 36 months; review the proposed list before confirming.
- Schedule the rules to run weekly; review pending suggestions every Monday in a 15-minute slot owned by one person.
What you get: The address book stops becoming a swamp of dead and duplicate records, and data quality stays high quarter after quarter.
9. Sync Contacts with Mailchimp and feed Marketing Automation segments Level 9 — Hard
Level 9 connects Contacts to external marketing tools and the Marketing Automation app. Tags, country and industry on each contact become live segments that drive email and SMS campaigns, with sync going both ways.
Here's how you'd do it in Odoo:
- Install the Marketing Automation app and the Mailchimp connector, or the Brevo or HubSpot bridge if that is your tool.
- In Settings, Integrations, paste the Mailchimp API key, pick which Audience to sync and map Odoo Tags to Mailchimp Tags one to one.
- Choose direction (Odoo to Mailchimp, Mailchimp to Odoo, or two-way) and trigger a first manual sync; review the report before scheduling.
- In Marketing Automation, New Campaign, pick model Contact, set filter Tags contains Customer and Industry is Manufacturing, save the segment.
- Build the flow: send Email 1 on day 0, wait 3 days, branch on Email Opened, send SMS to the rest, log activity for Sales after a click.
- Add the unsubscribe and bounce sync so opt-outs in Mailchimp instantly land on the Odoo contact and Sales never emails a complainer.
What you get: One Tag change in Odoo updates the right Mailchimp audience in seconds, and marketing stops exporting CSVs every Monday morning.
Wiring the bidirectional sync, the Tag mapping, the GDPR-safe opt-out flow and the multi-step Marketing Automation funnel is the kind of cross-app integration Dasolo runs as a short partner engagement, so the loop is reliable from day one.
10. Run a real-time master data hub with AI enrichment, governance and a 360 dashboard Level 10 — Expert
Level 10 is the full master data operating system: AI enriches every new contact, deduplication runs in the background, governance blocks bad data at entry, and a 360 dashboard joins CRM, Sales, Accounting and HR.
Here's how you'd do it in Odoo:
- Plug an AI enrichment connector (Clearbit, Apollo, Pappers): on every new lead or contact, the AI fills industry, headcount, revenue, LinkedIn and decision makers.
- Add Studio validation rules on the contact form (VAT must be valid, country required for B2B, email must be unique) so junk records cannot be saved.
- Configure cross-app automations: a CRM Opportunity won updates the contact lifecycle Tag to Customer; a churned subscription flips it to At Risk in real time.
- Set Record Rules per role: Sales sees commercial fields, Accounting sees bank and payment terms, HR sees employee contacts; one contact, many views.
- Pipe the contact base into a daily snapshot for Spreadsheet, then build a Customer 360 dashboard joining Contacts with Sales, Accounting, Helpdesk and HR pivots.
- Layer an AI scoring model on top: each contact gets a freshness score, a duplicate risk score and a churn risk score, refreshed every night and surfaced on the kanban.
What you get: Contacts becomes a live decision system: every team works on the same trusted customer record, scored, enriched and governed in real time.
Designing the AI enrichment prompts, the validation rules, the cross-app automations, the record rules and the 360 dashboard so the master data hub is reliable, role-safe and compliant is the kind of architecture Dasolo designs as a partner-led engagement, instead of a six-month internal patch project.
When Expert Help Makes Sense
If levels 1 to 6 fit your world, you can often succeed with standard Odoo Contacts, a patient internal owner, and a sandbox where people are allowed to break things safely.
From level 7 upward, the stakes rise: automated workflows that email the wrong customer, Studio fields that block upgrades, APIs that silently stop syncing stock at 2 a.m.
That is not a failure of your team. It is a signal that architecture, testing, and governance matter.
Bring in a partner when you need multi-app design, country-specific compliance, complex integrations, or a go-live date the board already put in the calendar.
Work With Dasolo
Dasolo helps companies implement Odoo the way they actually work: custom apps, clean integrations, and training people will remember after the consultants leave.
If your roadmap for Contacts includes the advanced use cases in this guide, we can map a phased plan: quick wins first, then automation and integrations with clear owners and test scripts.
You keep control of scope and budget. We bring the Odoo depth so your team does not learn expensive lessons in production.
Book a free consultation: