The problem
A third-party locator required manual synchronization across several people, lagged behind ERP data, and constrained the customer experience.
The engagement
I traced the retailer publishing process across customer onboarding, the third-party locator, ERP records, and the people responsible for keeping them aligned. I then designed and developed a smaller capability inside Odoo so location publishing could become part of the workflow that already created and maintained the customer record.
The solution
The replacement uses Odoo Contacts as the source of retailer-location truth and exposes one controlled public-location field to the onboarding owner. A customer-facing JavaScript interface reads published records and uses Google services to improve address entry, geolocation, mapping, and search.
1. Keep location truth in Odoo
Names, addresses, partner details, and publication state remain on the contact record the organization already owns. Removing the parallel locator database eliminates duplicate entry and makes corrections flow directly from the maintained business record.
2. Reduce publishing to one controlled field
A public-location toggle is embedded in customer onboarding. The person creating or qualifying the retailer can publish it without handing the request to another team or logging into a separate platform, while unpublished records remain private by default.
3. Use Google services for enrichment, not ownership
Autocomplete, geocoding, Maps, and browser geolocation improve search and address quality, but Odoo remains authoritative. The integration gains the usefulness of Google location services without moving business ownership into an external map dataset.
4. Let every search mode query the same records
Address, ZIP code, state, current location, map browsing, and list views all resolve against the same published dataset. Customers can choose the search behavior that fits their context without creating separate location experiences to maintain.

Address, proximity, map, and list search all use the same set of ERP-owned published locations.
Why it worked
The solution removed a system boundary from the operation. Publishing became a field on the record instead of a cross-team request, and the customer interface became a view of current ERP data instead of a synchronized copy. The organization gained control by building less software around the source it already trusted.
Outcomes
- One owner can publish an accurate retailer location in minutes.
- Duplicate data entry and cross-team synchronization are removed from onboarding.
- Customers can search by address, ZIP code, state, current location, map, or list.
- The organization no longer depends on a separate locator platform for routine publishing.
Led discovery, architecture, API integration, development, and rollout.