CRM Google Autocomplete
Type a company name or address on any Lead or Opportunity and let Google Places fill in the rest — street, city, state, postal code, country, coordinates, phone, and website all populate in one selection, with no manual address entry and no separate geocoding step.
Product Overview
CRM Google Autocomplete brings the Google Places API directly into the Lead and Opportunity form in Odoo CRM. As a sales rep types a company name or street address, a suggestion panel appears powered by Google's global places database. Selecting a result atomically populates every relevant field: street, city, state, postal code, country, latitude, longitude, phone number, and website — no tab-switching, no copy-pasting, and no geocoding cron required.
Two autocomplete fields are added to the Lead form: one on the company name field in places mode (returning businesses, landmarks, and addresses) and one on the street field in address mode (restricted to verified street addresses and routes). Both apply to the quick-entry group at the top of the form and to the detailed lead tab, keeping the experience consistent regardless of which part of the form a rep is using. Field mappings are pre-configured on install — the widget works out of the box with no administrator setup for the standard use case.
Who It's For
Sales Representatives & Business Development Teams
Reps who create leads during or immediately after calls, visits, or events. Selecting a company from the autocomplete populates the full address, phone, and website in one action — the lead is ready to work before the conversation ends. No switching to Google Maps, no manual transcription, no missing postal codes.
Inside Sales & Lead Generation Teams
Teams qualifying high volumes of inbound or outbound leads who need fast, accurate data entry. Autocomplete eliminates the individual field-by-field typing that slows down bulk lead creation and introduces formatting inconsistencies that break later filtering and segmentation.
Sales Managers & Revenue Operations
Managers who depend on accurate CRM data for territory planning, pipeline reporting, and map-based lead distribution. Autocomplete enforces data quality at the point of entry — leads arrive with verified addresses and stored coordinates, ready for the CRM map view without a separate geocoding pass.
Odoo Administrators & CRM Integrators
Administrators who configure the CRM module and want a drop-in improvement to the Lead form with no custom development. The module installs with a pre-configured mapping for crm.lead and applies the widget to the correct fields via view inheritance — no XML overrides or Python changes required beyond installation.
The Problem It Solves
Lead Address Entry Is Slow and Error-Prone
Filling in company name, street, city, state, postal code, and country one field at a time takes time a sales rep doesn't have during or after a customer interaction. Abbreviation inconsistencies, wrong postal codes, and missing country selections accumulate into CRM data that filters poorly and maps incorrectly. A single autocomplete selection replaces all of that.
Leads Have No Coordinates When Created
CRM leads are created with text addresses but no latitude/longitude — so they never appear on the CRM map view without a separate geocoding step. A geocoding cron adds latency and API cost, and it only runs periodically. Autocomplete stores coordinates at creation time, in the same save operation as the address, with no extra API call.
Company Details Require a Separate Lookup
After entering a company name manually, a rep often needs to search Google separately for the phone number and website, then copy each into the lead. In places mode, selecting a company from autocomplete populates name, full address, phone, and website simultaneously — the contact details a rep would otherwise look up are delivered as part of the selection.
Street Format Varies by Country
Addresses assembled from Google's route and street-number components come out in the wrong order for a significant portion of countries if the format is not handled explicitly. The per-country street format setting in the widget framework ensures the assembled value uses the correct convention — number-first or route-first — for the country on the lead record.
What's Inside
Two shared foundation modules and one CRM-specific application module — delivering verified Google Places data into Lead and Opportunity records with pre-configured field mapping.
Foundation Layer — Shared Infrastructure
Base Google Map
The root module for the entire suite. Centralises Google Maps API key and configuration in Settings, provides the shared Google Maps JavaScript API loader with retry logic and library caching, and supplies the base OWL component library used by every other Google Maps module. Acts as the single, version-controlled entry point to the Google Maps platform for all downstream modules.
Why It Exists
Without a single configuration point, every module would manage its own API key and loader — creating conflicts, duplication, and inconsistent error handling. This module ensures the Google Maps API is loaded once, correctly, for every module in the suite.
Web Widget Google Place Autocomplete
The autocomplete widget engine for the entire suite. Provides the gplace_autocomplete_el Char field widget and the google.places.mapping configuration model that controls how Google Places API data maps to fields on any Odoo model. When a user selects a place, all mapped fields — address components, geolocation, phone, website — are written in a single atomic record.update() call. Mapping configurations are admin-defined data records, not code, making them safe to change without a deployment.
Why It Exists
The autocomplete widget is model-agnostic by design. This module provides the widget engine and configuration infrastructure so that CRM, Contacts, Sales, and any custom model can each have their own tailored mapping without duplicating the underlying widget code.
Application Layer — CRM Integration
CRM Google Autocomplete
Applies the gplace_autocomplete_el widget to the crm.lead form, enabling Google Places autocomplete on the company name and street fields of the Lead and Opportunity form. Two autocomplete configurations are active: the company name field uses places mode to suggest businesses and populate address, phone, and website; the street field uses address mode restricted to street addresses and routes. Both are applied to the quick-entry group and the detailed lead tab. A post-install hook creates the google.places.mapping records for crm.lead automatically — the module works out of the box.
Why It Exists
The widget framework is model-agnostic. This module provides the CRM-specific wiring — view inheritance for both the quick-entry group and the detailed tab, and pre-configured mapping records for crm.lead — so the autocomplete works immediately on Lead and Opportunity forms without any administrator mapping setup for the standard use case.
How It Works
From install to a verified lead record, the entire flow happens inside Odoo — no external tools, no batch jobs, no second API calls.
- Install the module. A post-install hook creates two
google.places.mappingrecords forcrm.lead— one for the company name field in places mode and one for the street field in address mode. No manual mapping setup is needed for standard CRM fields. - A sales rep opens a new Lead or Opportunity and starts typing in the company name field. A Google Places suggestion panel appears showing matching businesses and locations from Google's database.
- The rep selects a business from the suggestions. The widget calls
record.update()with all mapped values simultaneously: street, city, state, postal code, country (resolved to the correct Many2one), customer latitude, customer longitude, phone, and website — in one atomic write. - If the rep types in the street field instead, autocomplete in address mode appears, restricted to street addresses and routes. Selecting a result populates the address fields and coordinates, without the phone and website fields (which require a business selection).
- The lead is saved with a complete, verified address and stored geolocation. It immediately appears at the correct location on the CRM map view — no geocoding cron, no extra API call, no waiting.
- For non-standard field requirements, an administrator can open the
google.places.mappingrecords and adjust which Google Places data maps to whichcrm.leadfield — without touching any Python or JavaScript. The built-in test tool on the mapping form validates any changes before they go live.
Key Features
Pre-configured autocomplete on the Lead form — places mode on company name, address mode on street — with atomic multi-field population and no setup required.
Autocomplete on Lead Form
- Company name autocomplete (places mode) — The
partner_namefield on the Lead form shows Google Places suggestions for businesses and locations. Applied to both the quick-entry group and the detailed tab. - Street autocomplete (address mode) — The
streetfield shows suggestions restricted to verified street addresses and routes, reducing irrelevant results and minimising API cost. - Applied to both form locations — Both autocomplete fields are wired to the quick-entry group at the top of the form and to the detailed lead tab so the experience is consistent regardless of how a rep creates a lead.
- Automatic install-time configuration — A post-install hook creates the
google.places.mappingrecords forcrm.leadon first install. No manual field mapping setup is needed for standard use.
Field Population & Data Quality
- Atomic multi-field update — Selecting a suggestion writes all mapped fields in one
record.update()call — address, coordinates, phone, website — with no partial saves or missing values. - Full address auto-fill — street, street2, city, state, zip, and country are populated from address components; country and state are resolved to their
Many2onerecords automatically. - Geolocation at creation time —
customer_latitudeandcustomer_longitudeare written atomically from the place's location data. No geocoding cron, no API backlog, no missing map pins. - Company details from places mode — Selecting a business populates phone and website in addition to the full address — sourced from
internationalPhoneNumberandwebsiteURIin the Google Places response. - Per-country street format — The
google_street_formatfield onres.countrycontrols whether the assembled street value is Route + Number or Number + Route — applied automatically at write time based on the resolved country.
Configuration & Administration
- Admin-configurable mapping — All field mappings are
google.places.mappingrecords, not code. Adjusting which Google Places data goes to whichcrm.leadfield is an admin action — no deployment required. - Built-in mapping test tool — Search a real place from the mapping configuration form and see the exact parsed output — address mapping, other fields, coordinates, and raw JSON — before any change goes live.
- No Manual Edit mode — Setting
no_manual_editmakes a field read-only until a Google Places suggestion is selected, enforcing verified data on fields where free-text must be blocked.
Use Cases & Benefits
Leads Ready for the Map View on Creation
Coordinates are stored the moment a place is selected — so every lead created with autocomplete appears on the CRM map view immediately, without waiting for a geocoding cron to run.
Faster Lead Entry During Calls
Selecting a company from the autocomplete fills in the full address, phone, and website in one action. A rep can create a complete lead record while still on the call — no follow-up data entry session required.
Consistent Address Data Across the Pipeline
Every address entered via autocomplete is a verified Google Places result — correctly structured, correctly spelled, and with country and state resolved to the right Many2one. Pipeline filters, territory assignments, and exports all work on clean data.
No Setup Required for Standard CRM Fields
The module installs with pre-configured mappings for the standard crm.lead address and geolocation fields. Autocomplete works immediately — no admin needs to open the mapping configuration before sales reps can use it.
Adaptable Without a Developer
If a team uses custom fields on crm.lead for address data, or wants to capture additional place information, the mapping configuration can be adjusted through the admin interface alone — no Python or XML changes needed.
Works Alongside the Full CRM Suite
This module is a standalone install for teams who only need autocomplete. For teams who also want a CRM map view, click-to-create from the map, and proximity search, the full CRM Google Maps Suite includes these modules together.
What's in the Bundle
Three modules — two shared foundation modules and one CRM application module — delivering verified Google Places autocomplete on the Lead and Opportunity form with pre-configured field mapping.
Foundation
base_google_map— Google Maps API loader, OWL component library, centralised API key and configurationweb_widget_google_place_autocomplete—gplace_autocomplete_elwidget,google.places.mappingconfiguration model, address and other field mapping, geolocation storage, no-manual-edit mode, built-in test tool, and per-country street format
Application · CRM
crm_google_autocomplete— Google Places autocomplete applied to the Lead/Opportunity form with pre-configured mappings forcrm.leadaddress and geolocation fields