Fleet App for ERPNext

Hello Community,

Here is a Free and Open Source Fleet Management App to compliment ERPNext.

My effort trying to clone ACar Android App on Frappe Framework.

If anyone interested to speed up development, please fork! Hoping for community help to code reports for Mileage, Distance Traveled, etc.



  • Basic distance mile / km just using simple multiplication, saves distance and odometer readings in both Distance UOM
  • Odometer reading in Fill Up Record is validated so that only higher number is entered progressively. e.g. If previous fill up record has odometer 10KM current record can only accept value greater than 10 KM
  • Trip Record has validation for Arrival Odometer reading should be greater than Departure Odometer Reading.
  • Basic User Docs

Dear Revant

We are currently working on a Fleet Mantenance App on Frappe (In Spanish). If your interested we could also share want we have so far.

Best Regards

Jsalcie @ Soldeva.com
Soldeva SRL

We are also working on extending the previous version. If we can can contribute in any way - just ask. We will want to extend it into the arena of gps tracking and route planning/management in the new year.



Someone can only show interest if you share what you have.

Share your work! Just make a documentation site like @revant_one

This is an open source community, lets share what we work on. You never know, you may get feedback, users and even paid consulting work! Even we would love to help you.

You can always keep it all to yourself, but then this kind of sucks in this community. Lets build a community that shares by default :smile:

Edit: Thanks @revant_one for getting this started


People with existing project with community friendly license can set a git repository and share link

Frappe now generates nice documentation webiste for github project and it is easy to set-up.
All it generally needs for user docs is one .md file and related screenshots per doctype you create.

To make the Fleet App useful I plan to generate following ratios:

avg kmpl: total distance / total fuel UOM
min kmpl: min mileage from two consecutive fill-ups
max kmpl: max mileage from two consecutive fillups
last kmpl: mileage between last two fillups
avg ₹/l: total price paid / total fill up volume
min ₹/l: min price per fuel UOM from two consecutive fillups
max ₹/l: max price per fuel UOM from two consecutive fillups
last ₹/l: price per fuel UOM from last two fillups
₹/km: Total Price / Total Distance
₹/fill-up: Total Price / number of fill-ups
km/₹: total distance / total price
l/fill-up: total volume / number of fill-ups
km/fill-up: total distance / number of fill-ups
days/fill-up: total days from first fill-up to last fill-up / number of fill-ups

  • Doctype Fill Up Record is storing odometer_km and odometer_mile, so as per the distance UOM in Fleet Settings appropriate Docfield can be used to generate ratio in mpg or kmpl, etc.
  • Fill Up Record has link to Vehicle.
  • Doctype Vehicle stores link default_fuel to Item as fuel. So as per the selected Vehicle in Fill Up Record fuel UOM can be found (change in default_fuel and resulting change in fuel uom is not considered right now, may set the field to set once or will have to consider UOM conversions somehow)
  • Item’s stock_uom and distance UOM in Fleet Settings help decide mpg or kmpl etc.
  • Package measurement measurement · PyPI or any other package is not used as there are just two calculations right now.

Anyone interested in developing report or page or dashboard for Vehicle (like “Customer”/“Supplier” in ERPNext)?

Problems I face, I will be discussing on forum. Hopefully generating knowledge base!

Comments welcome.

We had begun work on expanding this version: GitHub - dalwadani/fleet_management: Frappe app for managing the organization fleet.
Seems a waste of time and resources having four (that I know of) groups working on the same basic module when there is so much more needed.

We would work on adding routing using Leaflet elements and GraphHopper to your development if that makes sense. Our development is client funded so we have some restrictions on what we can work on. We are also looking at GPS tracking.

Would be interested in what others see as priorities within this project area.


I also thought of forking fleet_management and working on that instead of new fleet.
I decided to start new fleet because

  • Last commit on fleet_management was 25 August 2014 and 2 forks are also even with main repo.
  • I use android based ACar (for personal use) which I wish to stop using and start using this free & open (clone) Fleet app.
  • Looked into screenshots of fleetio, It’s similar to ACar. There is no “model” for odometer log in both, I assume odometer is accurately logged when re-fueling.

Fork my repo and go ahead! I’d appreciate any contribution.

Relatively easy for me to code (may be I would push this before reports):

  • Make Purchase Invoice from Fill Up Record
  • Add Event Reminder for Vehicle Insurance Expiry

was missing in erpnext. Nice. Interested. Cannot assist since am not a coder. Would be nice if integrated with accounts, so that petrol bills payments entered as a JV are linked to this app.
As I use the Cloud Subscription have to wait till Frappe “adopts” the devlopment

@revant_one Hi, I got some time right now between and having a fleet management system would be a really nice to have for my company when we’ll switch to ERP Next, so I’ll be willing contribute to your project.

Thank you for the share.

1 Like

This looks like it might make a good springboard for a Metered Billing app. I wish I knew how to code, because I would look into forking this myself, but it never hurts to suggest someone with an idea. :grin:

Off the top of my head, the two markets I can see Metered Billing used are Utility Companies (billing customer per KwH, Water, Gas, etc) and Managed Print Support.

To elaborate on Managed Print: some customers, who use office printers and copiers, have their equipment under contract, where they pay a monthly rate that is usually dependent on the number of pages their equipment prints (For example: the customer may be charged $.015 per page printed, and if they print 8,200 pages in a month, then they would receive a bill for $123 for that month), but will never receive individual bills for Supplies, Parts or Service.

There are commercial ERP solutions on the market, e-Automate and OMD probably being two of the largest, but they are incredibly expensive and cumbersome to setup. I would imagine that if someone developed similar functionality into ERPNext, it would provide them with a HUGE advantage in the open source market, since many of the small dealers are stuck using off the shelf software like Quickbooks, which doesn’t provide anything remotely close to a designated ERP.

Hi we have a script for metered billing. It works fine. It Calculates a bill for 3 tarifs and automatically creates the 3 lines in the invoice. Must say, hat Rushabh things the code is a lind of shaky and difficult to maintain. Our approach may assist you howver. It is done as a JS at the client side

I would love to see the script if you would not mind sharing! I would be willing to test it out at the least. :grinning:

ImportError: No module named fleet.hooks

I tried installing on my laptop and it worked.
can you describe the error in detail?

revant@revant-laptop:~/frappe-bench$ bench get-app fleet https://github.com/revant/fleet 
INFO:bench.app:getting app fleet
Cloning into 'fleet'...
remote: Counting objects: 341, done.
remote: Total 341 (delta 0), reused 0 (delta 0), pack-reused 341
Receiving objects: 100% (341/341), 2.41 MiB | 120.00 KiB/s, done.
Resolving deltas: 100% (160/160), done.
Checking connectivity... done.
installing fleet
INFO:bench.app:installing fleet
Wrote ./assets/js/print_format_v3.min.js - 18k
Wrote ./assets/js/frappe-web.min.js - 101k
Wrote ./assets/js/form.min.js - 113k
Wrote ./assets/js/report.min.js - 157k
Wrote ./assets/js/erpnext.min.js - 36k
Wrote ./assets/css/list.min.css - 6k
Wrote ./assets/js/erpnext-web.min.js - 1k
Wrote ./assets/css/report.min.css - 7k
Wrote ./assets/css/frappe-web.css - 51k
Wrote ./assets/js/list.min.js - 66k
Wrote ./assets/js/dialog.min.js - 58k
Wrote ./assets/js/desk.min.js - 874k
Wrote ./assets/css/form.min.css - 2k
Wrote ./assets/js/editor.min.js - 26k
Wrote ./assets/css/erpnext.css - 1k
Wrote ./assets/css/desk.min.css - 256k
Wrote ./assets/css/module.min.css - 2k
revant@revant-laptop:~/frappe-bench$ bench new-site fleet.local --install-app erpnext
MySQL root password: 
Installing frappe...
Updating frappe                     : [========================================]
Updating country info               : [========================================]
Set Administrator password: 
Re-enter Administrator password: 
Installing fixtures...
Installing erpnext...
Updating erpnext                    : [========================================]
Installing fixtures...
*** Scheduler is disabled ***
revant@revant-laptop:~/frappe-bench$ bench --site fleet.local install-app fleet
Installing fleet...
Updating fleet                      : [========================================]
Installing fixtures...
1 Like

Thank you It works good

I want to ask you, what do you mean by the following?

Supplier of fuel
_ Missed Fillup_
_ Partial Fillup_

Select from list of Suppliers e.g. Shell Oil.

Check it if logging this fill up because it was missed before.

If the fill-up is partial. Check this if tank is not filled up to full capacity.

1 Like

Has this been integrated into the core?

Is there a need for ERPNext Fleet Managment Working Group on Telegram to discuss this forward. We have some funds for sponsoring part of the development.