The margin per site day, with Dolibarr alone

The Projects module, the average hourly rate and the time spent are enough to know what a day on site has earned. Method replayed in 23.0.4 and 24.

Versions concerned
Dolibarr 23.0.4 and 24
What was checked
Full scenario run on a version 24 test instance, then replayed identically in 23.0.4. Both results are given below.

The question comes up often: how do you see what a day on site really earns? Many people look for a module. Dolibarr can already do it, provided you know where to look.

What you need

  • The Projects module, enabled. It is what carries the job.
  • An average hourly rate filled in on the users who work on it. This is the cost of the hour, not its selling price.
  • The time spent entered on the tasks of the project. This is the only discipline to keep up, and it is where things break down in most companies.

With these three elements, the project’s Overview screen gives the turnover, the labour cost valued at the hourly rate, and the profit. Divided by the number of days, that is your margin per day.

The figures obtained

The scenario was run on a test instance: one project, one 11-hour task, an hourly rate of €45, one quote.

  • Dolibarr 24: profit €205, i.e. a 22.8% margin.
  • Dolibarr 23.0.4, same scenario replayed: profit €200.05, i.e. 22.2%.

The difference between the two versions comes from the details of the calculation, not from an error. This is precisely why you replay the case in the version concerned rather than answering from memory.

The “Margins” block trap

A detail that wastes time: on an instance where the Services module is not enabled, the “Margins” block does not show the services line — and therefore not your labour. You think the calculation is wrong, when it is only showing part of it. Once Services is enabled, the three lines appear: “Margin / Products”, “Margin / Services”, “Total Margin”.

Where the method stops

The above answers the question “how much did this job earn”. It assumes that the time has been entered, and therefore that the job is done.

It does not answer “how much will this one earn, before I sign it”. For that, you need the figure on the quote, at the moment of the decision. That is the purpose of the Margin per day module, which divides the quote’s margin by a number of planned days that you enter.

Dolibarrmarginprojectsiteaverage hourly rateprofitability