📄 Understanding Contacts, Customers, Vendors & Partners👥 Understanding Contacts, Customers, Vendors & Partners

👥 Understanding Contacts, Customers, Vendors & Partners

Odoo’s contact management system can seem a bit confusing at first — especially when the same record can be a contact, customer, and vendor all at once. This guide will explain how it works, how to manage it, and how different modules use this data.

📇 1. What is a Contact in Odoo?

In Odoo, a Contact is any person or company you deal with — whether they’re a customer, vendor, employee, delivery point, or just a general business connection.

All Contacts are stored in one place:

👉 Contacts app → Model: res.partner

Think of it like your global address book — all people and companies live here.

Each record in Contacts can be either:

  • A Company (e.g. Jones Engineering Ltd)

  • An Individual person (e.g. Sarah Smith)

You set this using the "Is a company" checkbox.

🧩 2. Contact Structure (Parent-Child)

Odoo supports hierarchical contacts:

  • A Company can have People (employees or contacts) linked to it.

  • These are set using the Parent Company field.

Example:

NameTypeParent Company
Jones LtdCompany(empty)
Sarah SmithContactJones Ltd
Mark JohnsonContactJones Ltd

This helps organise contacts by company, especially when sending invoices or managing delivery addresses.

🧾 3. When is a Contact a Customer or Vendor?

In Odoo, a contact becomes a Customer or Vendor based on activity or settings.

✅ Customer:

  • Automatically marked as a customer when you create a Sales Order, Quotation, or Invoice for them.

  • Or you can manually tick “Is a Customer”.

✅ Vendor:

  • Automatically marked as a vendor when you create a Purchase Order or Bill.

  • Or manually tick “Is a Vendor”.

Both can be enabled for a single record — many contacts are both.

🧠 The “Is a Customer” and “Is a Vendor” checkboxes are mainly for filtering and user-friendly search. They don’t affect accounting logic directly.

🔁 4. What is a Partner?

In Odoo terms, Partner is the technical name for any contact. The actual model name is res.partner.

So, “partner” = “contact” in code and developer terms.

You’ll see this in field names like:

  • partner_id (Contact)

  • commercial_partner_id (Main company in hierarchy)

  • child_ids (Children of a contact — usually people under a company)

🔍 5. Using Contacts in Other Modules

💼 CRM / Sales:

  • Customers are pulled from Contacts.

  • Sales team members can assign Leads/Opportunities to companies or individuals.

📦 Purchase:

  • Vendors are selected from the same Contact list.

  • Vendor bills are linked to the Partner.

📁 Projects / Timesheets:

  • Projects can be linked to customer contacts.

  • Useful for billing or managing client relationships.

🧾 Accounting:

  • Customers and Vendors become debtors and creditors.

  • Invoices, credit limits, payment terms — all set in the Contact form.

🔐 6. Key Fields in the Contact Form

FieldWhat it does
NameCompany or person’s name
Is a CompanyTells Odoo if this is a company or individual
Parent CompanyLinks a person to a company
TypeAddress type: Invoice, Delivery, Contact, etc.
Customer / VendorFlags used for filtering and grouping in views
Email / Phone / MobileSelf-explanatory — all comms logged here
TagsUsed to segment contacts (e.g. VIP, Supplier, Prospective)
Internal NotesAdd private notes — not shown to the contact
SalespersonAssigns a user responsible for this contact
Payment Terms / PricelistUsed in Sales and Accounting
Bank DetailsImportant for Vendor payments

🧠 Tips & Best Practices

  • Always create companies first, then add people under them.

  • Avoid duplicate contacts by searching before creating new ones.

  • Use Tags to help filter and group contacts meaningfully.

  • Don’t overuse child contacts unless you need to track different people within a company.

✅ Summary

TermMeaningWhere Used
ContactAny person or companyGlobal address book
CustomerA contact you're selling toSales, CRM, Invoicing
VendorA contact you're buying fromPurchase, Bills, Vendor Portal
PartnerTechnical name for any contact (res.partner)Everywhere in Odoo

📘 Example Use Case – S Jones Containers

For S Jones:

  • Storage clients are customers.

  • Container suppliers are vendors.

  • Depots and hauliers may be both.

  • Each sales or hire contact should be structured under the customer company.

  • Use Tags like Hire, Storage, Sales, UCSI to keep segmentation clear.

Would you like this prepared as a formatted PDF handout or embedded into the S Jones internal onboarding for Finance, Sales or CRM teams?