| data | ||
| models | ||
| security | ||
| static/description | ||
| views | ||
| __init__.py | ||
| __manifest__.py | ||
| .gitignore | ||
| README.md | ||
| README.rst | ||
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_idfield onres.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
- Create/select a Google Cloud project.
- Enable: My Business API, Business Profile API.
- Create an OAuth 2.0 Client ID (Desktop or Web app type).
- 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