Back to all articlesSales & CRM

Odoo 19 CRM: design a pipeline, schedule follow-ups and close deals

A decision-led Odoo 19 CRM guide with stage rules, dated activity-plan examples, won/lost recovery and a clear boundary between forecasts and accounting revenue.

APAAPublished Content updatedApplies to Odoo 19
Odoo 19 CRM: design a pipeline, schedule follow-ups and close deals
Illustrative cover image, not an Odoo operation screenshot or client case.

Applicability

Odoo 19; app installation, subscription, access rights and mail configuration must match each workflow. Examples are fictional; UI translations may differ.

Research method

Odoo 19 official documentation research only; no new Odoo product test. Source checks apply only to the scopes listed below.

Start with one opportunity whose owner, next action and stage exit rule are explicit. This guide is for a small sales team introducing a shared process, or correcting a pipeline that looks busy but does not explain what happens next. It is a document-based design guide for Odoo 19, not a completed implementation or a demonstration of an APAA customer database.

Contents

Pipeline stages and opportunity ownership

Use stages to describe evidence, rather than a salesperson's optimism. The following fictional supplier example is an editorial workflow proposal, not Odoo's default stages.

Proposed stageEvidence required to enterExit question
New enquiryA named contact and a recorded requestWho owns qualification?
QualifiedNeed, decision maker and indicative timing recordedIs a quotation justified?
Proposal sentA specific quotation and its validity recordedWhat decision is the customer considering?
NegotiationCustomer feedback requiring a decisionAccept, revise or close?

To configure stages, an authorized sales manager can use the documented-by-source configuration route CRM → Configuration → Pipeline → Stages with developer mode enabled; the official 19.0 menu definition makes this a developer-visible entry. Choose New for a stage, or open an existing stage to edit its name, team scope, folded setting and Requirements. Keep the example’s entry evidence in Requirements. Reorder stages using the list sequence handle. Is Won Stage is a specific setting, not a substitute for deciding when a customer has accepted. Menu availability depends on access rights; this path is verified against official view/menu definitions, not a live UI test.

To create an opportunity, go to CRM → Sales → My Pipeline → New. Odoo 19’s official guide describes a quick-create Kanban card: enter Organization/Contact, a required Opportunity title, email/phone if known, expected revenue and priority, then Add. For example, “Harbour Sample — November replacement order” is more identifiable than “New lead”. Select the resulting card to open the full record and complete salesperson, team and the next action. Do not assume New always opens a full form; the official 19.0 Kanban view explicitly uses quick creation.

Create one opportunity per buying decision. Two enquiries from the same company can be separate opportunities if they have different budgets or delivery dates. Agree who owns the record and who covers leave before importing a large list. A stage change alone should not be treated as proof that an email was sent or a customer agreed.

In CRM, open the opportunity and review its salesperson, team, expected revenue and next activity. Removing My Pipeline changes the search scope; it does not grant access to colleagues' records. If a manager still sees an incomplete picture, ask the administrator to review the user's Sales permissions, record rules and company access. Do not change security rules merely to make a dashboard total match.

Schedule one follow-up activity

Open the opportunity and use Activity above its chatter. Choose the type, enter a concrete summary, check the due date and assign the person who will do the work. An Email activity is a reminder to send an email; scheduling it does not prove a message has left the database.

A useful summary is “Confirm whether the revised delivery date is acceptable”, not “Follow up”. When completed, record the customer's answer and mark the activity done. If the customer postpones, schedule the replacement date explicitly rather than leaving an unexplained overdue reminder.

SymptomCheck firstCorrection
Activity belongs to the wrong personActivity's Assigned to and type's Default UserAssign the person doing this action; opportunity ownership is a separate field
Next reminder did not appearSuggest versus Trigger Next ActivitySuggestions require a choice; triggered chaining follows completion
Email activity is done but no customer email existsChatter delivery historySend/review the actual message separately

For daily triage, the header clock consolidates scheduled activities by application; application Activity views, where available, help inspect records. Future activities are green, due-today activities orange and overdue activities red. Inspect the actual date rather than interpreting a color as proof that a deal is healthy. On records in other apps that support activities, apply the same owner/deadline discipline; availability and activity types depend on the application.

To define a reusable type, use CRM → Configuration → Activity Types, or the database-wide Settings → Discuss → Activities → Activity Types entry. Set Action, Default User, summary and note; distinguish a suggested next activity from a triggered one. Where the type uses a relative Schedule, choose whether it is based on the previous deadline or completion date. A template suggests content; it is not a promise that an email sends automatically. Review a mistaken date or owner on the existing planned activity; when work is no longer required, cancel/remove it deliberately instead of marking undone work complete.

A meeting reminder and an agreed calendar appointment are also different commitments. Confirm the actual appointment time and attendees, rather than interpreting a due date as a confirmed booking.

Activity plans with real dates

Use a plan only when several opportunities genuinely need the same sequence. The official path is CRM → Configuration → Activity Plans. Add the activity type, summary, assignment and interval for each line. Ask at launch uses the Responsible selected when scheduling the plan; its initial default can be the launching user, even when another salesperson owns the opportunity. Default user fixes the assignee on that plan line.

For a fictional demonstration due on 2026-11-06, this proposed plan provides a date worksheet:

ActivityOffset from plan dateExpected date
Confirm agenda2 days before2026-11-04
Hold demonstration0 days2026-11-06
Send tailored proposal3 days after2026-11-09
Ask for decision5 days after2026-11-11

Open the opportunity's Activity dialog, select the plan and its Due Date, then inspect Plan Summary and Responsible before Schedule. Compare its dates with this worksheet; database scheduling and business expectations must be reconciled before launch. A plan schedules its sequence; it is not a claim that moving a card into a stage launches it automatically.

Before launching a second time, inspect existing planned activities. Do not assume the system deduplicates a repeated launch. Remove or reschedule only the redundant activities after identifying their owners. If all dates look shifted, check the selected plan date and each line's before/after direction. If assignment is wrong, check the plan-line Assignment and launch Responsible separately.

Won, lost and reopening an opportunity

Record Won only after your agreed commercial evidence exists, such as accepted scope and price. CRM expected revenue remains a sales management figure; a won opportunity is not a posted invoice, payment or accounting revenue recognition.

For a lost opportunity, open the record, choose Lost, select a useful reason and add a closing note. Odoo 19's documentation says the reason and closing note are optional; a team may require them as its own operating rule. Do not create a “Lost” pipeline stage as a substitute for the Lost action.

To recover the record, open CRM → Sales → My Pipeline, select the Lost filter and locate it. Remove My Pipeline only if a wider permitted search is needed. Open the record and select Restore. For a batch, the documented list action is Unarchive. Clear the Lost filter afterwards to see restored records again.

For a fictional closed cohort of 12 wins and 8 losses in October, the closed-deal win rate is 12 ÷ (12 + 8) = 60%. State the close-date period and exclude open opportunities from that denominator. A created-in-October cohort answers a different question; do not compare the two as if they measured the same population.

Probability, quotations and handover

Odoo's predictive scoring uses historical won/lost data and configured variables. Do not promise that every stage carries a universal fixed probability or that a new database already has a dependable forecast. A hypothetical HK$100,000 opportunity at 40% gives HK$40,000 weighted expected value; it does not mean HK$40,000 has been earned. That arithmetic is a planning illustration, not a validation of the probability.

Before handing a won deal to delivery, agree the customer, accepted quotation, scope, delivery promise and invoicing policy. The Sales workflow and installed apps determine the next actions. Ordered-quantity and delivered-quantity invoicing have different prerequisites; confirming a sales order does not universally create and post an invoice. Manufacturing, stock replenishment and project creation similarly require their own product/routes/service configuration.

Your first review can be small: choose five active opportunities and check owner, stage evidence, due activity and value assumptions. Fix missing decisions before adding routing, WhatsApp or other automation. APAA can help map those rules into an implementation scope; describe the sales handover problem with a fictional example rather than sending private customer records.

Sources

  • Create leads (from email or manually)

    My Pipeline New quick-create card, required opportunity title and Add

    Source checked

  • Odoo 19 CRM stage views

    Stage form name, fold, teams, Requirements, Is Won and sequence handle; source inspection only

    Source checked

  • Odoo 19 CRM menus

    Configuration Pipeline Stages developer-visible menu and sales-manager parent permission

    Source checked

  • Odoo 19 CRM opportunity views

    Kanban quick_create behavior and full record form; source inspection only

    Source checked

  • CRM activities and activity plans

    Activity types, chaining, plan dates and Responsible assignment

    Source checked

  • Activities

    Cross-application supported views, color meanings and activity-type settings

    Source checked

  • Lost opportunities

    Lost reason optionality, Lost filtering and Restore

    Source checked

  • Predictive lead scoring

    Historical scoring rather than a universal fixed stage percentage

    Source checked

  • Access rights

    User permissions and record visibility

    Source checked

  • Invoicing policies

    Ordered versus delivered quantities and invoice creation

    Source checked

Considering Odoo for your business?

Talk to APAA about a tailored Odoo implementation for your Hong Kong SME.

Enquire about Odoo services
Odoo 19 CRM: design a pipeline, schedule follow-ups and close deals | APAA