Native cartography for Odoo 19

Native geospatial interface, without leaving Odoo

GeoLeaf Suite integrates a map view into your Odoo ERP. Position a purchased or manufactured product on a map. Locate your assets, apply filters with direct rendering on the map view — and even more possibilities with the business modules (maintenance, tourism, delivery).

  • GDPR
  • Odoo 19
  • Optional PostGIS
Vue « Ma Carte » de GeoLeaf dans le backend Odoo Fenêtre stylisée de l'interface cartographique native de GeoLeaf dans Odoo : une carte d'un secteur urbain avec plusieurs équipements géolocalisés (points corail), un asset mis en avant qui pulse, et un itinéraire de tournée technicien animé reliant les équipements. 200 m Ma Carte Zones Config
Discover
In a nutshell

GeoLeaf Suite, in a nutshell

GeoLeaf Suite is a native geospatial mapping suite for Odoo 19. Its fifteen modules are standard Odoo add-ons — zero fork, zero core modification, compatible with all Odoo updates.

GeoLeaf Suite modules are designed for Odoo 19 Enterprise and build on its Field Service app. A derived variant runs on Odoo 19 Community, without Field Service, and is therefore less complete.

Modular approach

Why a suite?

Multiple modules, one shared foundation. Each module installs independently and delivers exactly what you need — nothing more.

Right fit

Install only the modules your business needs. A CMMS provider doesn't need the tourism module. A tourism office doesn't need field maintenance. You pay for what you install, not for what you don't.

Progressive scalability

Start with CMMS. Add real-time when your usage warrants it. Plug in citizen reporting later. The foundation is already there — nothing to reconfigure, nothing to reinstall.

Shared infrastructure

The GeoJSON API, multi-level auth, Redis cache and OWL v2 map are provided once by geoleaf_core. Every module benefits without bearing the development cost.

Independent lifecycles

Each module has its own version cycle. A CMMS update doesn't touch tourism or the core. Zero cross-module side effects.

Preview

GeoLeaf Suite in screenshots

The suite's key views, right inside Odoo.

My Map — full-page map view
Asset record — map widget
Work order dashboard
Contact record — map view
Product record — map and stock
Delivery order — geolocation
The catalog

The suite modules

From shared foundation to business specialties — all built on the same architecture.

Foundation

geoleaf_core

Map foundation

Available

The foundation of the entire GeoLeaf Suite. An interactive map appears directly inside Odoo: on contact records, product sheets, delivery orders, and as a full-page view (My Map). Any business module can build on it by declaring a Publisher in 50 lines.

  • 4 native Odoo map views: contact record, product sheet, delivery order, My Map (full page)
  • 8 data models: asset, zone, category, subcategory, tag, api.key, api.log, publisher.registry
  • REST API /geoleaf/api/v1/*: /assets, /zones, /cluster, /near, /auth, /ping, /meta
  • 4 auth methods: JWT RS256 (field), Fernet API Key (GIS), Odoo Session, Anonymous
  • OWL v2 components: GeoLeafMapView, MapWidget, FilterPanel, LayerPanel, LegendPanel
  • Redis cache (targeted invalidation) + token-bucket rate limiting
  • GET /assets?bbox=... — filtered list + server-side clustering < 200ms
  • GET /cluster?bbox=...&zoom=N — ST_SnapToGrid aggregation, zoom-adaptive
  • Publisher Registry — expose any Odoo model on the map in 50 lines
Odoo 19 Optional PostGIS OWL v2 Redis GeoJSON RFC 7946

Additional Modules

geoleaf_realtime

Real-time

Alpha

Optional add-on adding real-time capabilities: live GPS positions via WebSocket, instant alerts on asset status changes.

  • Real-time asset status alerts (Odoo Bus)
  • Technician GPS positions (POST /positions)
  • JS RealtimeLayer (live markers, 5-min stale detection)
  • Company + zone isolation

In active development — alpha not recommended for production

WebSocket Odoo Bus Redis Pub/Sub

geoleaf_itinerary

Generic itineraries

Available

Models any sequential itinerary on the map, defining a start point, an end point and intermediate steps. Each point has its own attributes and can be linked to an asset.

  • LineString model: ordered waypoints + segments
  • Travel mode per segment (walking, cycling, car, service vehicle)
  • Shared between geoleaf_maint (rounds) and geoleaf_tourism (circuits)
  • Native GeoJSON RFC 7946 export
Optional PostGIS GeoJSON Odoo 19

geoleaf_contribution

Public submissions

Available

Lets the public submit new geolocated assets (POIs, places, equipment) from a public form, with back-office moderation before publishing.

  • Public submission of a geolocated asset (POST /contributions, CAPTCHA)
  • Server-side validation: WGS84 geometry, verified photos, IP + account quota
  • 3-state moderation: submitted → approved / rejected
  • 'Verified' badge on approval; web form if the Website module is installed
geoleaf_core Optional PostGIS CAPTCHA Website (option)

geoleaf_website

Public pages

Available

Publish interactive maps on your Odoo Website pages — citizen portal, public consultation or embedded tourism map, no authentication required.

  • Public pages /assets (list + filters + pagination) and /asset/<slug> (detail + mini-map)
  • 'GeoLeaf Map' snippet for the Website Builder (category, bbox, height)
  • Secure public access: visibility=public, published assets only
  • SEO: stable slug, metadata and sitemap contribution
Odoo Website geoleaf_core

geoleaf_review

Reviews & ratings

Available

Adds 1-5 star reviews and comments on any map asset — equipment, POIs, places. Post-moderation via flagging, average rating exposed on the record.

  • 1-5 rating + comment, one review per user and per asset
  • Immediate publishing, auto-hide at the flag threshold
  • Average rating and review count exposed via the Publisher (API + map)
  • 5 REST endpoints: list, create, update, delete, flag
geoleaf_core Optional PostGIS GeoJSON Odoo 19

Business Modules

geoleaf_maint

Geospatial CMMS

Available

CMMS module for geolocated field assets: street lighting, urban furniture, road infrastructure, networks. From field installation to client invoice — everything happens on the map and in Odoo.

  • 7-step installation wizard from the map (GPS geolocation)
  • Full stock traceability: delivery flow, serial number, BOM
  • LineString network segments: cables, ducts, lines
  • Automatic preventive maintenance (MTBF calculation per product)
  • 6 Odoo groups: technician, manager, admin, client, elected, invoice_manager
  • PDF intervention reports (parts + labor + signature)
  • Geolocated field interventions: corrective, preventive, inspection
  • Invoicing: unit or client grouping (weekly/monthly)
  • RBAC zone isolation — each technician sees their sectors only
Odoo Maintenance Stock MRP Optional PostGIS QWeb PDF
See the module in detail →

geoleaf_tourism

Points of Interest & Itineraries

Coming soon

Complete management of multilingual geolocated Points of Interest — tourism offices, nature parks, heritage trails, app publishers. Publish itineraries to mobile apps and websites via standard GeoJSON API.

  • Multilingual geolocated POIs (FR/EN/ES/DE/...)
  • Itineraries (LineString) with ordered steps and travel modes
  • Media gallery, hours, prices, PMR accessibility per POI
  • Standard GeoJSON API publishing → CMS, mobile apps, portals
  • Open data compatible (data.gouv.fr, OSM)
  • GET /tourism/pois?bbox=... — POIs filtered by area and language
  • GET /tourism/itineraries/:id — full GeoJSON LineString
  • Publisher Registry — single source of truth → all channels
Odoo 19 Optional PostGIS GeoJSON RFC 7946 Native multilingual

Get notified when geoleaf_tourism launches.

geoleaf_delivery

Delivery rounds & geolocated logistics

Coming soon

Manage delivery rounds on the map: planning, live fleet tracking and Odoo Stock traceability. From purchase order to field POD — without leaving Odoo.

  • Geolocated delivery rounds (map-based sequencing)
  • Real-time fleet tracking (WebSocket + geoleaf_realtime)
  • Odoo Stock traceability: serial number, delivery slip, field POD
  • Route optimization (distance + time window constraints)
  • Zone and driver isolation (Odoo RBAC)
  • GET /delivery/rounds?date=... — today's geolocated rounds
  • POST /delivery/pod — field proof of delivery capture
  • Native Odoo Stock integration — zero re-entry
Odoo 19 Optional PostGIS Odoo Stock WebSocket

Get notified when geoleaf_delivery launches.

Another business case?

Do you have a specific business need? I design the module from scratch and integrate it into your Odoo.

Let's talk →

CMMS Bridges

geoleaf_maint_itinerary

Technician rounds

Available

Turns itineraries into inspection and maintenance rounds: team, technicians, frequency and next due date. Each step automatically generates a geolocated intervention.

  • Scheduled rounds built on geoleaf_itinerary
  • Auto-generated intervention for each round step
  • Team, frequency and next scheduled date
  • POST/PUT /itineraries endpoints (manager role)
geoleaf_maint geoleaf_itinerary Optional PostGIS

geoleaf_maint_contribution

Citizen reporting

Available

Lets a citizen report a problem (lighting, roads, street furniture) from a public form. The report creates a maintenance request — not an asset — and notifies the managers of the relevant zone.

  • Public POST /maint/reports endpoint (CAPTCHA, controlled anonymous write)
  • 4 problem types, description ≤ 500 chars, 1 photo
  • Creates a maintenance.request linked to the zone
  • Chatter notification to the zone's CMMS managers
geoleaf_maint geoleaf_contribution Optional PostGIS

geoleaf_maint_realtime

CMMS real-time glue

Available

Links the CMMS to the real-time bus: injects CMMS groups and zones into the real-time access policy. Auto-installed whenever the CMMS and real-time modules are both present.

  • Auto-installed when geoleaf_maint and geoleaf_realtime coexist
  • Injects groups (technician / manager / admin) and zones into realtime access
  • No real-time dependency forced on the CMMS alone
  • Builds on geoleaf_realtime (still in alpha)
geoleaf_maint geoleaf_realtime Odoo Bus
Who it's for

Who uses GeoLeaf Suite?

Local Authorities — Street lighting, roads, urban furniture

Manage your technical field asset inventory directly from Odoo — on a map. Track the complete lifecycle: installation, preventive maintenance (MTBF calculation), corrective interventions, contractor billing. Visualize the state of your entire network in seconds.

  • See emergencies at a glance (status filter on the map)
  • Automatic preventive maintenance — zero unexpected breakdowns
  • PDF intervention report for each elected official or department
  • Zone isolation — each technician sees their sectors only
Request a demo
Odoo 19

Odoo 19: the right time to migrate

GeoLeaf Suite is designed for Odoo 19, the latest version, in its Enterprise edition, with a Community variant. No backward compatibility for now: adopting GeoLeaf is also the opportunity to plan your upgrade to Odoo 19 on a solid, high-performance foundation (PostgreSQL 16, optional PostGIS).

Modern stack

Odoo 19 Enterprise or Community, Python 3.11+, PostgreSQL 16, optional PostGIS

Zero fork

Standard add-ons — Odoo updates are never blocked

Guided migration

I audit your instance and integrate the suite into your migration

EU / GDPR

OVH France VPS hosting

The author

Who am I?

Mattieu Pottier

Mattieu Pottier — independent software publisher and Odoo integrator, specializing in the intersection of GIS and ERP. I founded MP-i after several years running EGGIS, a GIS solutions company in Réunion, then deploying Odoo for enterprise clients. GeoLeaf Suite was born from a gap I identified: no native tool connected Odoo to the map. I design, maintain and integrate the suite myself — no outsourcing.

Contact

Got a need?
I integrate the suite into your Odoo

Local authority, maintenance provider or Odoo integrator — I review every project. Reply within 48 business hours.

Reply within 48h

We get back to you quickly.

Personalized demo

Tailored to your use case.

No commitment

No contract, just a conversation.

EU hosting

Data on OVH France VPS.
FAQ

Frequently asked questions

Does GeoLeaf Suite require a specific Odoo version?
Yes — Odoo 19. The suite is designed for the Enterprise edition and builds on its Field Service app; a derived variant runs on Community, without Field Service, and is therefore less complete.
Is PostGIS required on the server?
No. The core runs on PostgreSQL alone, which is the default install. PostGIS is only added for the spatial operations that truly need it, such as a spatial index on a large asset base.
Does GeoLeaf Suite modify the Odoo core?
No. All modules are standard Odoo add-ons (XML, Python, JS). Zero fork, zero core modification. Compatible with standard Odoo updates.
What performance with a large number of assets?
The GeoJSON API responds in under 200ms for 30,000 assets thanks to server-side PostGIS clustering, Redis cache and cursor-based pagination. Tested and measured.
Is GeoLeaf Suite GDPR compliant?
Yes. IPs automatically masked (CIDR /24), API logs purged after 90 days, no personal GPS data in public access. EU hosting — OVH France VPS.
When will the Tourism module be released?
The geoleaf_tourism module is planned (backlog) and not yet started. Sign up for the waitlist from the module card to be notified at release.
Can I use GeoLeaf Suite with a third-party Odoo integrator?
Yes. geoleaf_core exposes a documented architecture (Publisher pattern), 674 automated tests and OCA compatibility. Any integrator can create a business module in ~50 lines.
What is the license for GeoLeaf Suite?
GeoLeaf Suite is proprietary software under the OPL-1 licence (Odoo Proprietary License). Modules ship as readable source code, like any Odoo add-on. The suite is not yet published on the Odoo Apps Store and has no public price: contact us for terms.