Asset Management Enhancements

As I plow deeper into ERPNext usage in my company, there are some items I believe would enhance user experience. One of them is to complete the Asset Management functionality, making it similar to the Vehicle module (Which by itself is still hidden as a proper Module in ERPNext.) My enhancement request will end in a proposal to change the name from “Vehicle Module” to “Equipment Module”, given that one does not only maintain and repair vehicles but water pumps, computers, filters, ventilation units, and any sort of industrial machinery.

Asset Management
Currently (7.2.27) Asset management involves managing Depreciation. This is excellent from an accounting standpoint. It would be great to be able to manage the costs involved with keeping the asset in top working order, such as spare parts added/changed, and services given. Thus the enhancement request.

Vehicle Management
Vehicle management involves the following DocTypes (found by typing “Vehicle” in the search bar in ERPNext.)

  1. Vehicle List

  2. Vehicle Report (Shows Vehicles in the Vehicle List in report form)

  3. Vehicle Log

  4. Vehicle Log Report (Shows Vehicle Log entries in the Vehicle Log List in report form)

  5. Vehicle Expense Report (Shows Vehicle Expenses in report form)

Number 3, Vehicle Log is an excellent DocType since it seems to be moving in the direction I expect. When you make a Vehicle log entry you enter basic data such as date, vehicle license plate, employee in charge, odometer reading, refuelling details and details of services given, in a specific section to track service details. For vehicles, the drop down for Service Item includes: Brake Oil, Brake Pad, Clutch Plate, Engine Oil, etc. which is sufficient for a Vehicle.

My proposal is to make this DocType work in such a way, where if the log is for a vehicle, the fields such as Odometer reading, etc. will show, but if it is for something such as a Water pump (or aircraft, ship, industrial machine) you can pre select a “type” of asset (similar to salary component and structure combination) where each log entry already includes those fields you wish for the type of asset. An aicraft for example would need a field of hours instead of odometer, but then when you add items in a service log, make it in such a way where you can specify hours remaining for the component just “changed” so that ERPNext can alert you of impending changes with a log of usage. Also, a log can just simply be reporting usage of the item, such as an aircraft reports ohurs flown, and any remarks. This way you can then have a logbook report for Aircraft.

In the case of a water pump, you can create log entries daily, or weekly, for hours operated, again with a pre-set hour limit where you can get an alert by ERPNext of when the next service is due. Perhaps it would be interesting to add the option of service-before-date, so that if the hours of use are low, but the date of service is near, have the date of service take primacy in alerting the person in charge, and perhaps others of the impending maintenance needs.

For all of these, keeping track of “invested” amount into the asset is essential, since depreciation alone is fantastic, but for economic value added calculations, knowing the amount invested in specific periods for each asset, better reflects the value of the asset. A case in point is a vehicle which is serviced at the dealership workshop exclusively. Each log entry in ERPNext can be matched to a scanned document proving service execution at the aforementioned dealership, and the line items entered, with a report totalling lifetime expenses (or for a specified period as it already exists) summing the value of all the services or repairs given, and with filters by item category, etc.

One additional enhancement would certainly be the equivalent of a material request, what I would call a “service request”. Similar to the already existing Maintenance module, oriented towards customers, the user of the device (Water pump, aircraft, vehicle, motorcycle, industrial equipment) can raise a service request ticket, which is tracked by status similar to the way a material request gets tracked through the cycle. The cycle would be something like this:
Service Request, Service Quotation, Service Order, Service Receipt (with pending items and ability to reject the service, or parts of it), Service Invoice, Payment. An asset transfer stage (when necessary) would be interesting, in cases where the asset needs to be sent to a shop, to confirm delivery to entity responsible for repair. One could see how many assets are currently under service, and which stage they are in.

This solves a problem I constantly face which is one equipment fails, we set up a “project” and set the tasks with proposed end dates. However the task is independent of the Asset and records are kept in Projects and not linked properly to the Asset itself.

If you wish to sell the asset, or for anyone repairing the asset for the nth time, they can verify the history of that asset, and make decisions such as: Repair to keep, Repair to sell, Write Off (asset is unserviceable thus unusable), and perhaps be able to create a “salvage” entry where individual components can be transferred from the asset to a warehouse, which can keep them for possible future use in another identical asset. One case I have is I use identical water pumps, so the float switch, uptake filter, valves and other components are the same. If one pump fails, I can use its serviceable parts to keep the other pumps in top working condition, without having to buy new ones.

You can also keep track of the insurances, certificates, and other important documentations for these special assets, with expiration dates, so that alerts are issued when legal documents expire, through Frappe’s Calendar and ToDo apps.

Thus I propose a Module be setup (App) named Equipment module, or Fixed Asset, or Long term Asset module, to handle all these specific requirements (vehicles, pumps, aircraft, buildings?) Merging Vehicle Module (which by the way cannot be seen as an icon on ERPNext desk, nor is selectable as user role or module access) with this Fixed Asset Module would simplify the usage considerably. One can set up a tree by which you categorize them appropriately as Fixed (buildings, pumps and industrial machines) or Moving (Vehicles of any kind) or Complex Tools or Electronic Equipment (pH meters, computers, etc.)

Opinions welcome!


I think this would be a great feature, especially if it is done in conjunction with the other open github issues related to current asset module. All of these (below) could be incorporated into this effort and knock out a bunch of really nice improvements along the way.

James, thanks for taking the time to consolidate!

1 Like

I don’t know how far the list from @Tropicalrambler has been integrated.
Just a few suggestion from me in relation to the Fleet Management and Asset Management modules:

  1. Take the Fleet Management out of HR module and put it into Asset Management module.
  2. Remove the Employee field from Vehicle doctype. So the Vehicle doctype is clean and only filled with vehicles information.
  3. Create new DocType called Vehicle Assignment to hold the assignment of vehicles to employees (the removed field above). Including the period of assignment and other terms and conditions.
  4. Give the role permissions of Vehicle Assignment to HR and Fleet Manager to create etc.
  5. This doctype can also be the request form from employee to request the use of the vehicle (in case of vehicle pooling) - permission to create and submit.
  6. As @Tropicalrambler suggest these new forms of Fleet Management can be the same or separate with Equipment Management.

Created an Youtube Video on Asset Creation and Maintenance in ERPNext