No announcement yet.

time tracking

  • Filter
  • Time
  • Show
Clear All
new posts

  • time tracking

    Hey community,
    Has anyone of you created a "time recording" in a reasonable way?

    I thought it would be relatively easy to create a new entity and just add a start and end time as a field.
    In the "Meeting" area there is a "Doration" field.
    Unfortunately I can't select this in my new entity.
    How did you solve it?​

    Best regard,

  • #2
    Emillod have something..


    • #3
      I've found that too. =)
      but that is very "powerful".
      I'm not so sure if my 2 "older" employees can handle it.
      I don't even know if I need these functions at all.
      It would be a shame if I spent $300 on this and ended up doing very little with it.​


      • #4
        Your new entity has to be from type "event", there you have duration, that out of the box calculates between start and end time.
        From this entity you will have single events, that you can relate to contacts (your employees)
        Then create another entity, where you can sum up all recorded events from each person. I did not test that to the extent, but it should be possible.


        • #5
          yes it is possible! that's great!

          Is there a way I can add up this "duration" (somewhere)?

          In any case, I already have a list where all entries are recorded one below the other. Here I can then also filter by period / and - or / employees.
          However, I would have to export them again first so that I can add up the hours.​


          • #6
            Try with another entity and create a relationship. I did not think exactly how, but should be possible.


            • #7
              I'll try that
              but unfortunately I don't get the dependencies to each other...

              I actually found a great guide at

              If I create 3 fields here (total, number1 and number2), then I can add them up with the very simple formula (total = number1 + number2.

              But I have no idea how the relationships are supposed to work.​

              I think it would be a little more helpful if I knew, for example, a formula for calculating the "Doration".


              • #8
                Without knowing exactly, what you are doing, where and in which manner, it is quite difficult to go deeper in a solution for you. Relationships are essential for databases and so for espoCRM. Relationship means, that you can connect two ore more entities to exchange data. This makes a database very versatile, because the same data you have only to input and save once. Then you can use the data wherever you want.
                In your case you might have the time tracking data, e.g. the time one user needed on a specific day in entity1 and there you sum up for the day. From this entity you could go to another entity, where you do your summing up for all days, all employees and alike. There you can pull the data sum for the mentioned day already as a sum, that you could process further. This would be one rough scenario, others would be possible, too.
                But as said, it is not possible to explain in more detail, because from here nobody sees, how you realized that so far. An the task you want to achieve is not so easy and could get a bit complicated.


                • #9
                  For Formula you probably want to consult and these out these one here:

                  I think datetimediff might work for you.

                  Next you would need to learn how to create a "Start Button" and an "End Button", which is visible throughout the system so the oldies can click on it.

                  If you learn how to code and be fancy, you can probably add a Timer on the button (I don't think there is any example of this being done yet); and a "Pause" button as well, just in case they going toilet or something.

                  All these are in theory, there is no practical guide yet, there is a "how-to" create button here though:

                  Alternatively you can use a 3rd party program and just somehow send an "API" to EspoCRM with the final result.

                  --- Furthermore you want to create a "Many to One" (not sure exact relationship here) call "Time" or "Timesheet" or "Time Record".

                  Then link relationship to "User", because people who are using this is the User of the system right?
                  Each time they click "Start" button, the button should (

                  (Record 1)
                  Parent: User: Mr Thien
                  Start Time: 01/01/2022 6:02AM

                  Click Stop button: 01/01/2022 9:00am

                  Click Start Button again (Record 2)
                  Parent: User: Mr Thien
                  Start Time: 01/01/2022 9:17AM
                  Click Stop button: 01/01/2022 9:50am

                  Then use the formula (hopefully this will calculate duration): fieldpay = datetimediff(datetime\diff(starttime, endtime 'minutes')

                  Then you need to learn how to use this formula:


                  Which will "find all Mr Thien record in Timesheet" and do, "sumrelated" fieldpay

                  I been meaning to try to learn how to use the 'sumrelated' formula but been lazy recently.
                  Last edited by espcrm; 10-14-2022, 07:13 AM.


                  • #10
                    First of all, a big thank you for both of your replies!

                    I would be happy to go into more detail on that. I think once I get the hang of the formulas and dependencies it should be relatively easy....

                    I was very happy at the time that I discovered EspoCRM for myself. It runs absolutely stable here on the HomeServer and my two (main) clients can access it wonderfully.
                    (BTW: I work in kitchen assembly and use EspoCRM for order, customer and complaint management.
                    Every kitchen studio I work for is a "company".
                    My employees are "users" and the customers, where I assemble a kitchen for example, are "contacts".)

                    So far I have printed out slips of paper for my employees on which they have entered their activities. I then usually digitized this weekly in an Excel spreadsheet and handed out a time sheet at the end of the month. In the year 2022/2023 this no longer has to be the case
                    Since IT is my biggest hobby (after my job), I think it's wonderful to tackle such things myself instead of having to resort to other share programs.

                    For example, I still use Google Calendar for my orders, where every employee has their own workspace account.
                    I even managed to synchronize my appointments from EspoCRM to google via the API and NodeRed.

                    So, and now I would like to have a time sheet for my employees.
                    The idea of ​​having a start and stop button is also very interesting. I'll definitely have a look at that too!

                    What have I done so far?
                    I created a new entity "Timesheet". (type = event)
                    Apart from the fact that I've done a little bit on the layout, it's actually still very untouched.

                    The only thing I've added is a "checkbox" that can be clicked when an employee isn't there.
                    Then a new query opens for sick, vacation or free.

                    And I've adjusted the "Relates to" field. Here "ONLY" the respective customer can be "linked".
                    I'll still see if it really stays with the customer, or if maybe "meeting" or something similar is better here?!

                    Meetings are the appointments in my calendar where I am with the customer and carry out an order.
                    Cases are solely complaints that occur in the course of assembly.​


                    • #11
                      Hello MrThiemann
                      If you want, you can simply check demo of our extension Credentials are available on product page
                      You can also check short video
                      Counting time require only to click on button