International phone numbers, validated at the door

Add a country-aware phone field to every website form — Contact Us, checkout, and lead capture — with live validation, duplicate detection, and international formatting on save.

The problem

Website visitors mistype, skip, or garble phone numbers with no country context to guide them. Bad numbers slip past silently, then fail later at delivery, SMS, or call time — and cleaning up a database full of unusable contacts costs far more than catching the error at entry.

The solution

A drop-in international phone widget replaces the plain text field on every website form. Visitors pick a country from a searchable flag dropdown, see a live sample format, and get an inline error the instant something is wrong — while the server re-validates, formats, and checks for duplicates before the record is ever saved.

Capabilities

Everything a website phone field should do

Every capability below is implemented in the module.

01

Country Dropdown With Flags & Dial Codes

A searchable, keyboard-navigable dropdown lists every country with its flag and dial code, so visitors identify their country in seconds instead of guessing a prefix.

02

Dynamic Sample Placeholder

The input placeholder updates to a valid sample number for the selected country, showing visitors the expected format before they type a single digit.

03

Real-Time, Country-Specific Validation

Numbers are checked against the selected country's format rules as the visitor types, powered by Odoo's built-in phone_validation library.

04

Prominent Inline Errors

Invalid numbers trigger a clear, adjacent error message stating exactly what is wrong, and submission is blocked until the number is corrected.

05

Duplicate Detection

New numbers are checked against existing contacts and leads, with a configurable warn-or-block response so duplicate records never sneak into the database unnoticed.

06

Strict Numeric Mode

An optional strict mode enforces numeric-only input and country-correct length limits, for forms that need tighter data quality.

07

Per-Field, Per-Form Rules

Phone Field Rules let administrators configure default country, strictness, duplicate handling, and error wording independently for every model and field.

08

Server-Side Validation & Formatting

Every submission is re-validated and normalized to full international format on the server, so stored numbers stay consistent no matter what happened client-side.

09

Drop-In Coverage For Website Forms

Works out of the box on Contact Us, delivery and billing address forms, and lead-generation forms — no rebuilding existing pages required.

Workflow

How it works

1

Configure Rules

Set up Phone Field Rules per model and field — default country, strict mode, and duplicate handling — from Website > Configuration.

2

Visitor Picks a Country

The visitor opens the flag dropdown, searches by name or dial code, and selects their country on any enabled form.

3

Live Validation

As they type, the number is checked against the country's format in real time, with an inline error if something is off.

4

Save, Formatted & Deduplicated

On submit, the server re-validates, formats the number to international standard, and applies duplicate detection before the record is saved.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

Contact Us, delivery and billing address forms, and lead-generation/CRM forms — any form field enabled through a Phone Field Rule.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

Advanced International Phone Number

A country dropdown with flags and dial codes, live per-country validation, duplicate detection and server-side formatting on every website form — so bad numbers are caught at entry, not at delivery time.

Buy on Odoo App Store