Renewing / Extending Contracts

I’ve been (lightly) using Dolibarr for a number of years now. I develop web sites and web applications and usually bill folks for one year at a time. I had been doing that historically just through invoices and using the “duration” fields to set the time limit. This works fine for letting the customer know how long a services has been purchased for, but I could find no way to query that field myself in reports.

So, I decided to try out the Contracts module today after I upgraded from version 8 to version 12. I set up contracts for all of my clients for the “yearly billable stuff”, like domain names, hosting, and various maintenance contracts. Dolibarr now informs me when contracts are expired / expiring, which is great. But I don’t see any easy way to extend contracts, except editing each one, and changing the end date of each line item one by one. Am I missing something?

Things I’ve tried:

  • I can clone the contract, and set end dates for the next year, but that is the same amount of work as editing each line item one by one.
  • I can create an invoice from the contract, but that just using the existing dates of the contract. I can update those dates on the invoice, but it doesn’t seem to bubble back to the contract.

How I would like it to work:

  • A single button called “Extend Contract” which would sit next to the Close All Contract Lines button. This would allow me to add in a number of years, months, days, etc… to extend all of the end dates of items in the contract.
  • There should also be an Extend button next to each item that does the same thing. Perhaps because individual contract items won’t be extended. Although, you can probably get around that by simply deactivating contract lines first, and the Extension button only acting on active contracts.

So this post is both a question, and feature request. But it is possible that I’m using it all wrong, so any advice anyone has would be helpful.

Thanks