Odoo 19.0 Community · Persistent

crm.stage: fields, relations and API

The crm.stage model ("CRM Stages") is a persistent model declared by the CRM module. It exposes 15 fields, 9 of them declared directly on the model; 2 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.

Model identity

Technical name
crm.stage
Label
CRM Stages
Type
Persistent (models.Model)
SQL table
crm_stage
Origin module
CRM (crm)
Default order (_order)
sequence, name, id
Display field (_rec_name)
name

Model fields

9 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

15 of 15 fields shown

Technical nameLabelTypeDetails
colorColorinteger
foldFolded in Pipeline

This stage is folded in the kanban view when there are no records in that stage to display.

boolean
is_wonIs Won Stage?boolean
nameStage Namechar
requiredtranslatable
requirementsRequirements

Enter here the internal requirements for this stage (ex: Offer sent to customer). It will appear as a tooltip over the stage's name.

text
rotting_threshold_daysDays to rot

Highlight opportunities that haven't been updated for this many days. Set to 0 to disable. Changing this parameter will not affect the rotting status/date of resources last updated before this change.

integer
sequenceSequence

Used to order stages. Lower is better.

integer
team_countteam_countinteger
computed
team_idsSales Teamsmany2many
create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/crm.stage/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","color","fold","is_won","requirements"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/crm.stage/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","color","fold","is_won","requirements"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/crm-stage">crm.stage (Odoo 19.0)</a>

Sources

Data verified on September 23, 2026 · Odoo 19.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.