Manage your field equipment assets — on the map, inside Odoo

Street lighting, urban furniture, roads, networks: every asset geolocated, every intervention tracked, every invoice generated. From the reported fault to the customer invoice — without leaving Odoo, without a separate GIS tool.

500 street lamps, 3 technicians, 1 grouped monthly invoice — from the same Odoo instance.

Odoo MaintenanceStockMRPOptional PostGISQWeb PDF
Assets urbains géolocalisés remontant dans l'ERP Odoo Une carte isométrique d'un quartier — voirie, arbre, banc, feu tricolore, mobilier — où plusieurs assets sont géolocalisés ; un flux de donnée relie un asset à une fiche équipement Odoo (maintenance.equipment) affichant un bouton Carte. maintenance.equipment CARTE
Map + ERP
emergencies at a glance
Grouped invoice
monthly per customer, PDF report attached
Zone-based rights
RBAC: each tech sees their own areas
Citizen reporting
faults land geolocated in Odoo
The reality

Your equipment fleet is scattered

Four tools, zero overview. The field and the back office don't talk to each other.

The fleet in a spreadsheet

Approximate locations, manual updates, one version per person. Nobody knows what is where.

Interventions over email

Scattered requests, fuzzy priorities, no structured trail. Emergencies drown in the inbox.

Re-keyed invoicing

You recount the hours, find the parts again, retype everything. Hours lost, forgotten items billed at a loss.

No field view

Impossible to see at a glance what's broken, where, and since when. Decisions are made blind.

GeoLeaf Maint brings the four together — on a map, inside Odoo.

In action

From request to invoice

The full lifecycle of an intervention. Click a step or hit play.

Maintenance / RequestDraft
ReferenceINT-2026-0142
EquipmentLED street lamp · Rue des Lilas
TypeFault reported
RequesterTown hall — road dept.
The equipment is clickable on the map : the request is born already geolocated — whether from a field agent or a citizen report.
Maintenance / PlanningKanban

To plan

INT-2026-0142
Street lamp · Rue des Lilas
Fault

Assigned

INT-2026-0138
Inspection · Place Centrale
Tech. Karim

Done

INT-2026-0131
Bulb replacement
Drag the card onto a technician: assignment respects zone partitioning.
Maintenance / InterventionIn progress
TechnicianKarim B.
On site2:05 PM — geoloc. confirmed
Labor1h30 · diagnosis + LED driver replacement
The van has arrived on site. The status switches in real time on the map.
Inventory / Parts consumedReady
ItemSerial no.Qty
LED driver 60WSN-4471-A1
IP66 waterproof seal2
Stock moveOUT
Full traceability: BOM + serial number linked to the equipment. You know which part, on which lamp, on which day.
Accounting / InvoiceSent
DescriptionAmount
Labor (1h30)97,50 €
Parts (driver + seals)62,40 €
Total excl. tax — monthly grouped159,90 €
Customer: Town hall — monthly grouped invoice (12 interventions), PDF report attached automatically.
What you gain

Time, clarity, fewer losses

Emergencies at a glance

Color status filter right on the map. You see what's broken, and where, without combing through a list.

Color-coded status filter

No more invoice re-keying

The intervention carries its hours and its parts. The invoice is generated from Odoo, no recounting.

Zero re-entry

One grouped monthly invoice

Twelve interventions, a single document per customer, PDF report attached. No more pay-per-job billing.

Native QWeb PDF

Fewer unplanned breakdowns

Preventive maintenance scheduled per asset. You anticipate instead of reacting to emergencies.

Automated preventive

A report for your officials

Every intervention documented and exportable to PDF. Proof of service rendered, ready to present.

PDF export per intervention

Everyone sees their own areas

Zone partitioning (RBAC): a technician only sees their own interventions. No scattering, no mistakes.

Rights by geographic zone

Requests also come from citizens

A resident reports a fault from a public form; the request lands geolocated in Odoo, ready to schedule.

Built-in citizen reporting

Rounds, not isolated interventions

Group inspections and servicing into ordered rounds on the map. Each step automatically generates its intervention.

Geolocated rounds
Why not something else

Not yet another CMMS, nor yet another GIS

The two classic tools each solve half the problem. GeoLeaf Maint solves both, right where your data already lives.

Classic CMMS

Manages, but blind

It tracks your interventions and your stock — but without a map. You know an asset is down, not where it is or whether three more sit next to it.

Separate GIS

Shows, but disconnected

It displays a nice map — in a separate piece of software. Your business data stays in the ERP: double entry, two truths, fragile sync.

GeoLeaf Maint

Both, inside Odoo

The map plugs into your existing Odoo data. A single source of truth, zero double entry, and a standard add-on that blocks no update.

Who it's for

Built for those who manage the field

Local authorities

Technical services · management

  • Lighting, roads and furniture assets on a map
  • Prioritized emergencies, scheduled preventive
  • Citizen reporting → automatic maintenance request
  • PDF report ready for elected officials

Field contractors

SME / mid-cap maintenance

  • Multi-client, partitioned by zone
  • Ordered rounds on the map, auto intervention per step
  • From intervention to invoice in 3 clicks
  • Automated invoicing, no manual re-entry

Network operators

Water · power · telecom

  • Geolocated and tracked asset inventory
  • Parts traceability: BOM + serial number
  • Intervention history per asset
Under the hood

For your technical teams

A standard Odoo add-on your IT team or integrator validates in one read.

Zero fork. Standard Odoo add-on — your Odoo updates are never blocked.

Server-side clustering. GeoJSON API under 200 ms, up to tens of thousands of assets; optional PostGIS for the largest asset bases.

Natively integrated with Odoo Maintenance, Inventory and MRP — not one more silo.

GDPR & EU. Masked IPs (CIDR /24), logs purged at 90 days, OVH France VPS hosting.

Odoo 19 EnterpriseCommunity variantPostgreSQL 16Optional PostGISQWeb PDFZone-based RBACGeoJSON RFC 7946
Reply within 48hbusiness days
Tailored demoon your case
No commitmentjust a conversation
EU hostingOVH France VPS

Let's talk about your equipment fleet

Local authority, contractor or network operator — I study each project and integrate the module into your Odoo.

Request a demo
FAQ

Frequently asked questions

Do I need to have geolocated my fleet already?
No. We start from your existing fleet (spreadsheet, database, field survey) and import it to make it geolocated in Odoo. Mapping becomes the starting point, not a prerequisite.
Which version of Odoo is required?
Odoo 19. The module is designed for the Enterprise edition and builds on its Field Service app; a derived variant runs on Community, without Field Service. PostgreSQL is enough: PostGIS is optional.
How long does it take to integrate the module?
It depends on the size of the fleet and the state of your data. The first step is always a short audit of your instance and your assets — that's what prices the integration. We discuss it in a demo.
I'm a contractor and I work for several clients. Is that manageable?
Yes. Zone partitioning (RBAC) separates the scopes, and invoicing is done per client — grouped monthly invoice included.
Does the module modify the Odoo core?
No. It's a standard add-on: zero fork, zero core modification. Your Odoo updates remain possible.
What if I don't have Odoo yet?
Let's discuss it. Integrating GeoLeaf Maint can be part of an Odoo 19 setup or migration project that I support.