# Fleet management software that sits next to your accounts, not in another tab

Canonical: https://erpfly.com/modules/fleet-management/
Last updated: September 11, 2026

Category: Industry

Your trackers know where the vans are. Your accounts know what fuel and repairs cost. Neither can tell you what each van costs per kilometre without a spreadsheet and a free afternoon. Fleet management software built inside ERPNext or Odoo joins those up. Describe your vehicles, cards and service rules, and erpfly writes the module.

### Features

- **Fuel card statements matched automatically.** Upload the weekly CSV and each line lands on the right vehicle by card number. Lines that don't match wait in a short queue for someone to assign.
- **Odometers that make sense.** A reading lower than the last one is rejected on entry, which keeps consumption figures and service reminders from going haywire.
- **Consumption outliers flagged.** Each vehicle is compared with its own recent average, not the fleet's. A van suddenly using far more fuel than usual gets a flag and a ToDo.
- **Reminders before things lapse.** Insurance, registration, inspections and distance-based services all raise reminders ahead of time, to the person who actually books them.
- **Cost per vehicle, per kilometre.** Fuel, repairs, tyres, lease payments and depreciation roll up per vehicle, so the replace-or-keep conversation uses numbers.

### What gets generated

**ERPNext / Frappe app:**
- Custom fields on Vehicle (fuel card number, service interval)
- Fuel Card Import DocType with row matching
- Extra validation on Vehicle Log (doc_events)
- Scheduled insurance and service reminders in hooks.py
- Cost per kilometre Script Report

**Odoo addon:**
- fleet.fuel.log model with odometer checks
- fleet.vehicle inheritance with service interval and consumption fields
- fleet.vehicle.odometer records written from each fill-up
- ir.cron import from the telematics provider's API
- List and graph views per vehicle (list views on Odoo 18+)

### What fleet management software is really for

Fleet management software gets sold on maps. Little van icons moving across a city look great in a demo. But the questions a finance director or operations manager actually asks are duller. Which vehicles cost too much to run? Is anyone's fuel card being used for their own car? Which van is overdue for a service, and whose job was it to book it?

Those are ERP questions. The data sits in purchase invoices, fuel card statements and odometer readings. It only needs to meet in one place.

### What's already in ERPNext and Odoo

In **ERPNext**, the **Vehicle** DocType holds make, model, registration, insurance details and last odometer, and **Delivery Trip** uses it for routes. **Vehicle Log**, which now lives in the HRMS app, records odometer, fuel and service costs and can raise an Expense Claim for the driver. It's a decent base that stops short of fuel cards, consumption checks and distance-based reminders.

In **Odoo**, the Fleet app is part of Community. It has `fleet.vehicle`, vehicle models, contracts with renewal alerts, services and `fleet.vehicle.odometer`. Odoo dropped its dedicated fuel log several versions back, so fill-ups usually end up recorded as services. That works, but it's awkward to report on. The snippet on this page adds a proper fuel log model instead.

Neither platform tries to be a telematics system. We don't think it should.

What erpfly writes goes in its own Frappe app or Odoo addon. Custom fields ship as fixtures or model inheritance, the import lives in its own DocType or model with a clear log of which rows matched, and reminders run as scheduled jobs rather than someone's calendar. Nothing touches core files, so the standard Fleet or Vehicle screens keep working after an upgrade.

### Worked example: 26 vehicles and a fuel card statement

A regional distributor runs 22 vans and 4 rigid trucks. Every van has a fuel card. The card provider emails a CSV each Monday with around 150 lines.

The office uploads it. Each line matches a vehicle by card number. Two lines don't match, because a card was replaced last week, so those two wait for someone to assign them. That takes a minute.

Van 14 normally averages 11 litres per 100 km. Its latest fill was 60 litres after 400 km, which is 15 L/100 km. The flag threshold is 25% above its own 90 day average, so 13.75. It's over. The fleet coordinator gets a ToDo with the last three fill-ups attached. Maybe a tyre is soft. Maybe the card went on a family trip. Either way, somebody looks this week, not at year end.

Meanwhile the scheduled job notices van 6 is at 44,100 km with its last service at 30,000. That's 900 km short of the 15,000 km interval and inside the 1,000 km warning, so the coordinator gets a reminder to book the workshop. Truck 2's insurance ends in 30 days and the renewal reminder goes out the same night.

At the end of the quarter the cost report does the arithmetic the coordinator used to do by hand. Van 14 covered 9,800 km. Fuel came to $2,100, repairs to $640 and lease payments to $1,350. That's $4,090, or about 42 cents a kilometre. The fleet average is lower, and now there's a reason to ask whether van 14 should be the next one replaced.

### Things we'd talk you out of

Rebuilding the tracker inside your ERP, for a start. Live positions every 30 seconds will bloat your database and duplicate a product you already pay for. Pull daily totals and move on.

Route optimisation is its own discipline. If you need it, buy a routing tool and send the resulting trips into the ERP.

And if you have three company cars, you don't need fleet software at all. A recurring calendar reminder and a folder of receipts will do.

### Where fleet data flows next

Vehicles are assets first, so the purchase, depreciation and disposal side belongs in [asset management](https://erpfly.com/modules/asset-management/). Driver fuel receipts and tolls that don't go on a card end up in [expense management](https://erpfly.com/modules/expense-management/). Companies running vans for deliveries should read our notes on [logistics businesses](https://erpfly.com/industries/logistics/), which cover delivery trips and proof of delivery.

Running Odoo and want the fuel log added to your current Fleet setup? See how we approach [Odoo customization](https://erpfly.com/odoo-customization/).

### FAQ

### Can it pull data from our GPS trackers?

If your tracker vendor has an API, yes. A scheduled job pulls daily odometer readings, engine hours or trip distances and writes them against each vehicle. We'd keep live maps and geofencing in the tracker's own app, since that's what it's built for.

### Is fleet management part of Odoo Community?

Yes. The Fleet app, with vehicles, contracts, services and odometer readings, is in Community. We extend it rather than build a parallel vehicle model.

### Where does fleet live in ERPNext now?

The Vehicle DocType is used across ERPNext, for example on Delivery Trip, while Vehicle Log moved to the HRMS app when HR was split out. If you don't run HRMS, we can put a smaller log DocType in your own app instead.

### Can drivers log fuel and mileage from their phones?

Yes, through a short mobile-friendly form or the Odoo mobile app. If you have fuel cards, though, importing the statement beats asking drivers to type receipts at the pump.

### We track the fleet in spreadsheets today. How hard is the move?

Not very. Vehicles, registration dates, insurance, lease contracts and last known odometer come across through an import script. Historic fuel data is optional, but three months of it gives the consumption flags a baseline from day one.

### Will the module break when we upgrade?

It lives in its own app or addon and never edits core files. Fleet models don't change much between versions, and the included tests will point at anything that did.