New Resource Maintenance Module : Looking for Feedback

I am considering developing a simple module for tracking the service and maintenance of resources (assets tracked by the resource module). The value to the user would be:

  • Define any regular (planned, scheduled) maintenance that needs to occur (oil change, filter change, inspections) and the frequency or trigger that indicates a maintenance period
  • Record any maintenance or servicing that has been performed on a resource (planned or unplanned)
  • Give visibility into upcoming regular maintenance, or the status or a resource that may be down for repair

From a technical perspective I think there is a lot of potential to leverage existing Dolibarr modules:

  • The Events/Agenda module can be used to put scheduled maintenance on the calendar
  • The Ticket module can be used to report problems with a resource if given a new ticket type
  • The Manufacturing Orders module could be given a new type that allows associating products, services, or work instructions with regular maintenance
  • The Interventions module could be used to schedule regular maintenance or track performed services

Things that could not be done with existing modules:

  • Track maintenance intervals based on things other than elapsed time (for example run hours on a machine or miles driven on a car)
  • Associate required preventative maintenance with resources

Does anyone else think that a module like this would be helpful for your use of Dolibarr? Do you have any feedback on what features or workflows would be important? Does anyone with module building experience have feedback on the technical approach to the problem?

I do not think that it would be useful for me, but it might be useful for others. In previous jobs I could see it potentially being useful for tracking the yearly maintenance of our serverroom cooling. I can also see this being useful for a cooling vendor. Maybe for elevators too. Or cars/engines as you suggest in your own post.

What if your system would support sticking a QR code on the gear, and scanning the code would lead directly to a website that would reveal:

  • Identifier
  • What
  • Where
  • Last serviced
  • Email, Form or Phone number to contact for needed service?

And for internal use by a vendor this page could also show:

  • Which colleague did the work
  • Which parts was checked, replaced, serviced
  • Any special knowledge or parts?

In that QR code, if you don’t want to reveal that this is installation number 1, aka no other customers, maybe use a ULID as the identifier?

Thanks for sharing some of the examples of where you might see this useful!

The barcode idea is interesting. The built-in barcode module only seems to support Products and Third Parties, but it might be simple to expand its support to Resources.

I think it is interesting that you considered both an internal use of servicing a serverroom, and the external use of selling someone the service on their serverroom. The interventions module looks to be designed around selling maintenance services (tracking hours and products used, generating invoices, and scheduling repeat services). It even has a direct link to some number of resources (although that seems more to indicate what resources are needed to perform the service, not what resources are being serviced).

I am more interested about internal maintenance services than external services, but your response makes me think I should focus more on growing the existing interventions module to support my use case than try and make a separate internal maintenance module.

I do agree with your point that the view of the resource should include the maintenance record with who did the work and what work was done. Again, this is probably good information to track for both internal and external maintenance which further supports trying to use the interventions module for both cases.

Thanks for your input! It was very helpful to hear your perspective.

1 Like

I just looked at the resources module the first time. We are considering to use Dolibarr but more producing and selling products to customers and maintaining them. So a maintenance module could be useful for us as part of the product lifecycle management.

Our main use would probably be documenting maintenance of delivered products with a serial number, linking contact persons, documents, and photos.

Just another perspective :slight_smile:

EDIT: I just realized that my ideas are partly covered by the services and contracts/subscriptions modules.

I just realized that my ideas are partly covered by the services and contracts/subscriptions modules.

Yes, that and the ‘Interventions’ module, which is all about performing services at a customer site (scheduled or unscheduled) then billing them for those services (and maybe some parts too). I think there are also ways to link interventions to contracts and tickets.

I do think that a hard link between Interventions and a Resource would be very useful, both for external service (like what you want) and internal service. Currently you can link multiple resources to an intervention, but that link is meant to be ‘resources used to perform the maintenance’, not ‘resources that are having maintenance performed on them’. Here is my current mental model for this potential module:

  1. Optional link from an intervention (or intervention template) to a single resource
    • Add a card to resources that show all scheduled maintenance (intervention templates) and upcoming due dates
    • Add a card to resources that show all maintenance events (interventions, in all states of completion)
    • Add a ‘box’ (widget) for the home screen with upcoming maintenance
  2. Allow product and service use inside interventions (github link)
    • This lets you plan to use consumables (filters, etc) during maintenance
  3. Allow interventions without a link to a third party
    • This will represent internal maintenance, but prevent use of the invoice creation feature
  4. Optional link from a ticket to a single resource
    • this will help when transitioning a “maintenance request ticket” to an intervention

The only thing I’m not 100% sure about is linking the resource to the intervention. I think an intervention is supposed to represent a single site visit to a customer for service, which could involve servicing multiple pieces of equipment. perhaps linking the resource to an intervention line would be more appropriate, but then things get a bit more complicated.

Thanks everyone for all of your input! I appreciate the discussion so far.

Hi folks,

i just recently discovered Dolibarr while i was searching online for a way to organize me and my colleagues at work, 
which is mostly machine maintenance activities, such as replacing bearings, air filters, oil
etc.

Since this topic is now older than a year, i just wonder has there been any changes since then? because what is described in this topic might be actually what i am looking for.

Thank you in advance
Dan

I’m glad that you are interested in the concept! I poked around at it briefly in v18, but decided to wait because of some big changes coming to the resources data model.

I think there is some inconsistency right now in dolibarr between assets and resources. Resources are getting well developed for the rental and event company use case while assets are getting well integrated into the manufacturing use case. There is a link between them, but it is unclear what the consequence of the link is.

With enough custom ticket types you can probably shoe horn most of thus functionality into the current version, but your workflow would not be guided or enforced by dolibarr.

Did you find any alternative solution for maintenance organization?..during my search i stumbled upon ERPNext, GLPI, CMDBuild, Feng Office
and few more less capable systems.

From what i found, i think GLPI, Feng Office and Dolibarr are the best, they all work on PHP/MYSQL, this is basically very important, because LAMP can run on any device using super cheap hardware.

I haven’t found anything better, and definitely nothing with a solid manufacturing side like Dolibarr. Once v21 releases I will look into some automated ticketing options for this!

In that case, i shall wait for Dolibarr 21 as well, i hope it will come out soon
till then, i have installed v20 for poking around.

@ fyi, looks like Dolibarr v21 is released Dolibarr ERP/CRM v21 est arrivé! - Annonces & actualités - Forum Dolibarr france

I don’t have a perfect solution in v21, but here is what I would recommend:

  • Treat all scheduled maintenance plans as a BOM

    • Consumables (filters, etc) are tracked as consumed products, with a cost and warehouse (‘Maintenance spares’)
    • service by different groups or people (‘maintenance’) are tracked as consumed services, potentially at a workstation and for a duration
    • I can’t find the setting in v21, but in my v18 version you can add notes (basically instructions) to BOM lines. At the very least there is a generic Note tab. EDIT: I used a complementary attribute to BOM lines for the work instructions
  • Perform all schedule maintenance using a Manufacturing Order

    • This is just an instance of the BOM that gets associated with the specific record produced and the stock transfers/consumptions
  • Treat all scheduled maintenance records as a Product

    • This ‘product’ (record) is the product produced by the maintenance BOM and Manufacturing Order
    • Enable serialization/lot tracking module so that each maintenance record is tracked individually
    • You would need one product defined per maintenance type per resource - this is a lot! EDIT: Or, one sub-warehouse per resource and execute a shared common maintenance (“change oil”) on different resources by “building” them into a different warehouse
    • Set up a ‘maintenance records’ warehouse to put all of these ‘produced’ records in
    • Consider adding a complementary attribute of resource to each product just to prevent confusion
    • tags/categories would probably help too!
  • Schedule all maintenance through the Events module as a recurring event

    • Events can already be associated with resources
    • Add a complementary attribute to the event to link it to the BOM for the desired maintenance
  • Use Tickets to track unscheduled maintenance requests

    • Create a manufacturing order (without BOM) for unscheduled maintenance work (at least when planning or material consumption are required)
    • Add complementary attributes to associate tickets with resources and manufacturing orders

I know that some of these steps are fairly manual (5+ clicks instead of a do-it-all-at-once dolibarr blue button) but I think it organizes the data fairly well.