phone
Phone numbers in Odoo are plain char fields until the phone widget makes them callable: a tel: link in lists, a Call button on forms, and, courtesy of the sms module, an SMS button you can switch off.
| Studio name | Phone |
|---|---|
| Technical name | phone |
| Field types | char |
| Views | form (form.phone variant), list, kanban |
| Form variant | form.phone, which keeps the input and adds the Call link |
| Module | web; the SMS button comes from the auto-installed sms module |
| Used in core | 21 occurrences across 10 modules, including hr, crm, hr_recruitment, event_booth, calendar, payment |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0 |
| No-code setup | Yes, via Odoo Studio (Enterprise), including the Enable SMS toggle |
| Alternatives | email, url, sms_widget |
What the Phone widget does
What this means for your team
Setting it up in Odoo Studio (no code)
What Studio cannot do here
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
placeholder_field | field name | Reads the input's placeholder text from another char field on the record instead of a static placeholder attribute.(since Odoo 19.0) |
enable_sms | boolean | <strong>Added by the sms module's patch, not the base widget.</strong> Shows the Send SMS button next to the number. On by default; set false to remove SMS from screens where it does not belong.(default: true) |
enable_sms belongs to the sms module, not the base widget. Its default is true, so the SMS button appears everywhere unless you explicitly set options="{'enable_sms': false}". If the sms module were absent the option would simply be ignored.
Working examples
Where the SMS button actually comes from
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | Partial / changed | Not released. Adds formatted_field and dial_field, removes the form.phone registration; see below. |
| Odoo 19.0 | Verified | Verified against the shipped source, including the sms module patch. |
| Odoo 18.0 | Verified | Identical behavior; only placeholder_field is missing (added in 19.0). Verified against the 18.0 source. |
Upgrading from Odoo 18? The only option-level change: placeholder_field did not exist in 18.0; it was added in 19.0. Everything else, the tel href, the whitespace stripping, the form variant, the sms patch, is identical between the two versions.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| Clicking the number does nothing on desktop | No application is registered for the tel: protocol on the user's machine. Install or register a softphone (or the OS phone app) as the tel: handler; the widget only emits the link. |
| No SMS button next to the number | enable_sms is set to false on that field, or the sms module was removed. Drop the option or set it to true; check that the SMS gateway module is installed. |
| The dialed number is wrong but looks right on screen | The href strips whitespace only; other characters users type (letters, double zeros instead of +) are dialed as stored. Clean the stored values; the widget does not normalize numbers in 19.0. |
| Number is not clickable in edit mode | The input itself is never a link; on forms the separate Call link beside the input carries the tel: href. Use the Call link, or save the record and use the readonly link. |
| Keyboard shows letters instead of digits on mobile | The field is rendered without the widget, as a plain char input. Set widget="phone"; its input type tel triggers the numeric keypad. |
Phone widget vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
phone | Phone numbers your team dials or texts | tel: link with whitespace-stripped href plus patched-in SMS action |
| Email addresses with a mailto link | Same pattern, mailto instead of tel, envelope icon on forms | |
| url | Web links that open in a new tab | Prefixes http:// and can display custom link text |
sms_widget | Composing the SMS text itself | A text body widget with SMS character counting, not a number renderer |
Frequently asked questions
How do I make phone numbers clickable in Odoo?+
How do I remove the SMS button?+
Does Odoo validate or format phone numbers?+
Can Odoo call through our PBX when users click a number?+
Why does the link dial a different string than what I see?+
Is there a separate widget for mobile numbers?+
Want click to call wired into your PBX?
tel: links are the easy half. We connect Odoo to Asterisk and other VoIP systems so calls dial through your lines, get logged on the customer record, and feed your follow-up activities, alongside SMS flows that respect consent. Telephony inside Odoo is one of our specialties.
Book a free consultation