My accountCartFree DemoRequest a quote
Back to blog
Guide5 min read

Maintenance contracts and service calls: organize your after-sales support with Dolibarr

A contract spreadsheet always ends up missing a renewal date or an unbilled service call. Here is how to structure contracts, intervention sheets and invoicing in Dolibarr.

Maintenance workshop with tools, a service logbook and a wall calendar laid out on a workbench

Why the spreadsheet ends up costing you money

A contract spreadsheet works as long as one person keeps it up to date. Once two technicians and a salesperson are editing it, problems start. A renewal date passes and nobody notices. A technician goes to a customer whose contract has expired, or does not cover the equipment concerned. A job is done, noted in a notebook, and never invoiced. The problem is not the data entry tool. It is the missing link between three objects: the contract, the intervention and the invoice. In a spreadsheet, this information lives in separate files. In Dolibarr, it is attached to the same third party and followed from the same customer record. The aim of this guide is simple: no renewal date should depend on someone's memory, and no intervention should be left without an invoicing follow-up.

Set up the contract on the customer record

Start by listing your contract types before entering anything. A preventive maintenance contract, a support contract with included hours and an annual flat fee do not follow the same rules. In Dolibarr, the Contracts module lets you create a contract attached to a third party, with service lines. Each line is a covered service, with its start date and planned end date. Use service-type products to describe these services: the wording stays identical from one contract to the next and your reports remain readable. If the contract comes from an accepted quote, create it from the commercial proposal to keep the link. Attach the signed document to the contract record. State in the description what is covered, what is not, and which equipment is in scope. A technician opening the record should understand within thirty seconds whether they can intervene.

Track renewal dates without hunting for them

A renewal date is only useful if it reaches you before it is too late. Dolibarr shows expired or soon-to-renew contract services on the dashboard. Make it a fixed weekly checkpoint, not just a screen someone looks at by chance. Add calendar events linked to the contract, so the salesperson gets a reminder before the end date. The right habit is to treat a renewal as a deal in its own right: one month before the end, you prepare the renewal proposal. A few points to check regularly:

  • Filter the contract list by status to isolate those whose services are about to end.
  • Assign each renewal to a named person, not to the team in general.
  • Check that the end date entered matches the one on the signed document.
  • Close contracts that are not renewed, so your list stays clean.

Record the intervention as soon as it happens

The intervention sheet is the link most often missing. Dolibarr offers an Interventions module, attached to a third party and, depending on your organization, to a project. A sheet records the date, the duration, the technician and the work done, line by line. Set a rule: no intervention without a sheet, created the same day or the next. A technician back at the end of the day can enter three sheets in ten minutes, from a phone if access is properly configured. If you wait until month end, you rebuild from memory, and hours vanish. Name the relevant contract in the description, so the administrative manager knows whether the intervention is included or billable on top. Validate the sheet once the customer has been informed: it then becomes the record that justifies the invoice line.

Invoice what is due, without re-entering data

There are two cases. The first is the flat fee: the customer pays a periodic amount, whatever the number of visits. A recurring template invoice is enough, and you can go further on this point in our article on recurring invoicing for subscriptions. The second is interventions outside the flat fee, or time spent beyond what is included. Here, the validated intervention sheet is the basis: you use it to create the invoice, carrying over the relevant service lines. Once a week, review the validated sheets that have no linked invoice. This simple checklist is enough to catch omissions before they become habits. If you also track time by project, the link with profitability is direct: comparing hours with invoiced amounts quickly shows which contracts are priced too low.

First step: one real contract, one full cycle

Do not migrate the whole spreadsheet at once. Pick a customer with a current contract and run the full cycle in Dolibarr: create the contract, enter one intervention as a sheet, then issue the matching invoice. Note what gets in the way, adjust your service wording and entry rules, then move the other contracts over in batches. If the breakdown involves returned or replacement equipment, the RMA and after-sales workflow is a useful complement to this setup. To frame the configuration or train your technicians, the Dolicraft team can help: describe your situation through the contact page and we will look together at your standard contracts and your invoicing process.

Need help with Dolibarr?

Our team of Dolibarr experts is available to support you in your projects: implementation, migration, custom module development and training.