INTEGRATION ARCHITECTURE

An ERP-native retailer locator with one-click publishing

A custom Odoo locator replaced a third-party tool and manual synchronization with ERP-owned data, Google APIs, and publishing embedded in customer onboarding.

Client
Internal customer onboarding and digital experience initiative
Role
Discovery, architecture, API integration, development, and rollout
Stack
Odoo, JavaScript, Google Autocomplete API, Google Maps API
Scope
Discovery through development and rollout

Measured impact across the documented system

01toggle now controls public-location status
MINpublishing time instead of cross-team delay

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. 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. 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. 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. 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.

    Customer-facing retailer locator powered by Odoo records and Google Maps
    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

Led discovery, architecture, API integration, development, and rollout.

PATTERN TRANSFER

Where this architecture applies next.