Go to file
2026-06-19 11:04:53 +07:00
data first commit 2026-06-11 14:13:20 +07:00
models refactor: replace group_operator with aggregator for rating field in google_map_review model 2026-06-19 11:04:53 +07:00
security first commit 2026-06-11 14:13:20 +07:00
static/description first commit 2026-06-11 14:13:20 +07:00
views fix: remove priority widget from rating field in Google map review view 2026-06-11 15:14:01 +07:00
__init__.py first commit 2026-06-11 14:13:20 +07:00
__manifest__.py first commit 2026-06-11 14:13:20 +07:00
.gitignore first commit 2026-06-11 14:13:20 +07:00
README.md first commit 2026-06-11 14:13:20 +07:00
README.rst first commit 2026-06-11 14:13:20 +07:00

Google Map Review — Odoo 19 Custom Module

Author: Suherdy Yacob | Version: 19.0.1.0.0

Overview

Integrates the Google Business Profile API into Odoo 19 to automatically crawl customer reviews for each branch company and display them as structured records.

Features

  • google_business_id field on res.company (Google Business Location ID)
  • Hourly scheduled cron fetching reviews via Google Business Profile API (My Business v4)
  • Review records with: author, rating (★★★★★), text, owner reply, date, language
  • List / Form / Kanban reporting views
  • Smart button on company form showing review count
  • General Settings section for OAuth2 credentials (Client ID, Client Secret, Refresh Token)

Authentication Strategy

Uses OAuth2 refresh token stored in Odoo General Settings.
The cron exchanges the refresh token for a fresh access token on each run — no browser needed.

One-Time Setup

1. Google Cloud Console

  1. Create/select a Google Cloud project.
  2. Enable: My Business API, Business Profile API.
  3. Create an OAuth 2.0 Client ID (Desktop or Web app type).
  4. Note the Client ID and Client Secret.

2. Get Refresh Token

Run authorize.py from the google_map_review standalone project on any machine with a browser:

cd /path/to/google_map_review
python authorize.py

Copy the refresh_token value from the generated token.json.

3. Configure Odoo

Go to Settings → General Settings → Google Business Reviews
Enter Client ID, Client Secret, and Refresh Token → Save.

4. Set Place ID on Each Branch

Run list_locations.py to find location IDs, then:
Settings → Companies → [Company] → Google Reviews tab → Google Business Place ID

5. Run the Crawler

Runs automatically every hour, or trigger manually:
Settings → Technical → Scheduled Actions → Google Reviews: Fetch from Business Profile API → Run Manually

Views

Menu View
Google Reviews → All Reviews List (color-coded by rating)
Google Reviews → By Branch (Kanban) Kanban grouped by company
Company form → Smart button Filtered list for that branch

Dependencies

  • Odoo modules: base, mail
  • Python: requests (standard in Odoo)

License

LGPL-3