Help managing maintenance contracts related to product fleet
Manage the maintenance contracts of a product fleet.
Now partners have fleets and sub-fleets for which they can buy products that can eventually be covered by paid maintenance contracts.
Fleet: a stock.location for which all products have the same maintenance end date anniversary. Indeed, it's useful to have several maintenance contracts for a given partner with a single anniversary date for an eventual renewal. Meaning that if the customer wants a different end date anniversaries for two mainteance contracts, then he should have several Fleets. Products don't go in the Fleets actually, they go in their Sub-Fleets instead.
Sub-Fleet: a stock.location child of a Fleet which might contains some purchased products. In a sub-fleet, ALL the maintenance contracts of the products have exactly the same start date and end date. Meaning that if a customer need several different start date or some years offset for the end date, then he should have several Sub-Fleets.
This module also takes care of proposing ideal maintenance dates given a few rules that might be changed in your specific case (Ideally they wouldn't be hardcoded or at least have some parameters externalized to the database).
Finally, this module also takes care of after sale incidents, extending the native CRM and thus preserving all the CRM power. Given a product serial number (prodlot), it's able to retrieve the Fleet and Partner and know if a product is still covered by a maintenance contract or not. It also deals with repair movements in a simple manner ; but this code will be removed from the module in the future and we plan to use lp:openerp-rma.
This module is also fully compliant with the native prodlot tracking of OpenERP to know where is a serial number, be it a finished product or only a part, and even after a replacement if movements are properly entered in the crm incident. For a better tracking experience, it's advised to use it along with the product_serial module and the fleet_serial module.