Work Hours
8:00 am - 6:00 pm UTC+3

Daria Kireeva

Stephanie Fubara

Time-tracking for each deal stage in order to calculate KPI and efficiency

INTERVOLGA is always delighted to work on unique and complicated tasks. This article is about such a task.

Our client, CEDIS (a large state-owned energy company from Montenegro) contacted us for refinement of their Bitrix24 boxed solution.

CEDIS processes a large flow of subscriber applications for various purposes - connection, document filing etc. It was difficult for them to work with tasks in the CRM as tasks provide no sequential stage tracking. As a result, the tool they opted for is “Deals”.

In order to account for labour costs, KPI of employees and ultimately increase work efficiency, it became essential to develop a method of calculating how much time is spent on different stages of deals.

We took on the task with utmost enthusiasm and immediately highlighted several points which we’ll be sharing. 

  1. A stage can be repeated several times 

Firstly, it was necessary to take into account the fact that a deal can be at a certain stage more than once.

For instance:

  1. deal in stage X (1 day)

  2. the deal goes to stage Y

  3. returns to stage X (2 h)

This immediately raises several questions:

  1. What would be more suitable: to calculate the total time that a deal spends at a certain stage or should the time be split in the table?

  2. What then will be the total duration of the deal in stage X?  1 day and 2 hours or 26 hours?

Our client requested to be able to view the whole deal history in stages.

However, to calculate labour costs, as well as time spent on a deal stage, it is necessary to sum all the time spent.

2. Time tracking for ongoing deals

Secondly, it was important to have in mind that while a deal is ongoing, time is being spent on it. This must also be taken into account in order to exclude suspended deals.

Our client tried to implement the time calculation themselves, using a business process with many custom fields and a “datediff” function.

Their implementation could only calculate the time spent on a deal after the deal had moved on to the next stage. As such, it was impossible to know how much time had already been spent on a current deal stage.

INTERVOLGA specialists implemented a module with a Time Counter that keeps the “Transition OUT” field empty while counting how much time has been spent on the deal . This way, you can know what deals are still on-going and for how long.

The module also adds an agent in the settings to automatically update time spent on open deals every hour. Like a doctor making ward rounds, the script goes through open deals and updates the time spent on stages.

User/Custom fields and number of deal stages

We proposed and implemented an option to store data about the duration of a deal in a particular stage, in the user fields.

For every stage of a deal , we added 2 custom fields (duration in stage, time in stage).

The client had about 20 deal pipelines, each of which had a different number of stages (about 15 max), so we needed to create ~ 200 user/custom fields.

Custom fields are not bound to pipelines, i.e. Each deal can have its own set of fields.

We immediately realized the drawbacks of this method and solved it

1. The module checks all pipelines;

2. for each pipeline, the module counts the existing stages and obtains the maximum;

3. the module then creates user/Custom Fields until the number of user/Custom Fields matches the maximum number of Stages;

4. with each update(which happens every hour), the module checks if more fields are required. If they are, the module creates new fields and then performs the update.

Stages can be changed and deleted easily. This can lead to data loss in user fields. For example, the administrator or the person responsible for the deal may delete a field by mistake.

To avoid data loss, the module only adds but does not delete the fields.

What we implemented:

1. automatic creation of a custom field when the module is installed (for each pipeline);
2. the module automatically checks new stages and tracks the information in them;
3. the ability to update the time spent on a deal;

4. The ability to update the time spent on several deals by their pipeline.

5. The ability to recalculate the time spent on all deals.


We implemented a new deal mechanism.

Deals  have now become more informative.
You can keep track of employee  time and analyze their KPI in order to plan the company's schedule and detect bottlenecks.

INTERVOLGA is always ready to help you solve critical business problems. We not only program well, but we also understand the essence of business, and as such, are always willing to go the extra mile to find the most suitable solution for every task.

Are you having difficulties adapting Bitrix24 to your business or Do you have a unique customization request? Write to us, we will help you modify and build mechanisms for competent analytics using the Bitrix24 CRM system based on your business requirements!

  • 31.12.2019