I’d like to reopen the discussion on timesheets. We as an it services company are testing erpnext as a possible system to use. We are very fond of the open source idea and the document driven design of erpnext. The first time I found erpnext it still had the time log/time log batch system. I think is was removed with version 7. As we had gotten erpnext to run on our service we where going to check out the time sheet system and where surprised to see the change. This was very disappointing as this was one of the key features we are looking for.
So here is my idea of what we are looking for in timesheet/-logs:
One of the main reasons what made ERPNext really interesting was the
possibility to bill timesheets toward our customers. Our employees work
on several different projects/customers daily and also do internal work
for our company. Idealy they would be able to work on something and be
able to document this in an everlasting timesheet. In this timesheet,
they could select a customer, select starting/end time, select a project
if needed and add some notes on the work he has done. Many times all
they need to do is answer a quick call in which they have to use the
classic phrase “have you tried turning it off and back on again”. This
case needen’t to be a new project every time handles. In the next step
the employee would be able to submit his timesheet to his manager.
Managers should be able to check for mistakes and then be able to bill
timesheets towards customers.
Our customers either have a SLA
(service level agreement) to which the time would be booked (time going
beyond the SLA would not be billed, but tracked) or they would just get
an invoice on which be bill by our and minute. Also so some invoicing is
done with hardware (eg new computer) and some without.
For clarity I will split up the needs of each person involved in the process:

IT support personal need to be able to

  • track and submit his work for billing toward his managerlink his work to customer (manditory)

  • link his work to project/task optionala

  • link his work to project/task optionaladd(not attach) notes to his work doneset start and end time

Manager needs to be able to

  • signal employee that work was submitted or is under review

  • take employee submitted time and bill it toward an SLA (overtime should not matter)

  • take employee submitted time and bill it toward a customer in sales invoice as a table somewhat like this: |date|project/employee|notes|number of hours|cost per hour|

  • analyse timesheets: time spent on customer per month, time spent on SLA (more or less work done for future reference)

If further information is needed, please get back to me. I’m happy to help any time!


Unfortunately there is no respone on this topic so far, which leads to me thinking, that this matter is not really an issue for most. Still I have taken the time to work out a system on how given timesheets work for me. I will try and elaborate as accurate but short as possible:

We use iTop as CMDB and helpdesk. When an issue is tracked in iTop a unique number is generated. In ERPNext we then use this number as the title for a task, which is connected to a project. We have split customer projects in two. There are single projects, which are mostly connected to a prior quotation or request. And there a “monthly” projects which represent a SLA which we have with the customer. Time spent is booked into the respective project and its task.
When an employee or subcontractor do work on a project, they use the iTop incident number to identify or create a task inside the according project. When tracking time in timesheet, the employee needs to book his time spent providing information of customer, project, task and service. We have chosen the following steps to do this:

  1. Identify or create task with ticket number (iTop issue)
    1.1 Provide information in “Details” (for customer reference)
  2. Go to running time sheet (we create on per month, per employee)
    2.1 create and open column in time sheet and provide: service, time start, hours, project (unique or monthly SLA) and task and tick “billable” if billable.
  3. Book timesheet at the end of the month
    At this point the employee is finished with his time tracking and the timesheet will be processed.
    In further steps the SLA projects are marked as finished when timesheets have been compared to projects so they can been filtered in the list. A new SLA project is creating for the following month.

I’d now like to elaborate on a few issues connected to my way of time tracking:
Booking time towards timesheets is very tiring as a lot of steps are required to do so. I can’t check on how much time has been spent on a certain customer. Also creating an invoice towards the customer still has to be done manually as the customer needs the reference added toward the single tasks. This all making time tracking fairly easy, the process time-to-invoice though still being time intensive.

I recently watched a ERPNext video in which I saw, that timesheet is used a little different, as per job done a single timesheet is used. I notices this would maybe solve my issue with connecting the customer reference in a useful way. Questionable for me though, why a timesheet wouldn’t be displayed as one.

I will have one employee track his time on separate timesheets to check the example from the video - I will keep you posted. Thank you!

@wojosc I use itop for my SLA and helpdesk system as well. I do have a plan to build a module in erpnext that will be based of how Itop operates. The biggest Task will be building the CMDB and SLA manager. If you have any suggestions or maybe some requirements let me know and hopefully we will be able to add them into the system.

1 Like

Hi @woakes070048 thank you for you interest in taking up the challenge of combining the two systems. At the moment we are still trying to understand the two systems separately and then combined with our actual day-to-day work flow to combine the two in a sensible way.
I am very happy to help with questions coming up, will for now though stick to posting my experience on the forums helping myself and others to further understand the usage of ERPNext. I am sure it is possible to slowly bringing the two (ERPNext and iTop) closer together to then be able to finde a really good way to integrate.
Very much looking forward to the future!


So I decided to redo lasts months time sheets, the reasons are the following:

  • there is no reason for an employee to see their work on one sheet as they also can generate a *.csv
  • we are more “mobile” by having each job on a single sheet (if work is billed toward the customer a month beyond it is easier to move)
  • billing time sheets toward a customer is now possible without having the work of one customer accidentally being on the bill toward another

We still represent a SLA toward a customer as a project which we give the name customerYYMM. It would be great if there was an option to sub-bill toward a customer being able to bill a certain time period, maybe even with the option of being able to connect the SLA with an amount of hours for certain activities which are automatically calculated towards.

We still create a TASK for each incident worked on in iTop. The reason we do this is to be able to keep time records inside ERPNext. It also helps on checking on the work which is billed toward a customer.

1 Like

@wojosc sorry did not track this before.

If you have specific suggestions, using mockups, screenshots are the best way to explain :slight_smile:

Thank you @rmehta I will sit down and narrow down the issue providing screenshots in the near future. I guess it makes sense to divide the subject into Timesheets/Timetracking and SLA. I’ll be sure to get that done (of not already existent).

1 Like

Thanks @wojosc for your time and billing use case explanation here.

To learn more of course there is also your talk in Frankfurt Wolfram Schmidt - ERPNext for Incident based Project and Billing - YouTube

and also this

@Umair’s excellent Nov 21, 2016 q&a webinar session ERPNext for Services Business - YouTube


For now I’d like to stick to the subject of timesheets/timetracking. SLA is a complete different story for me right now.
Here is some information on how we track time right now:

  1. We have stoped using iTop for our issue-tracking. We now do all that which ERPNexts built in Support-modul and it’s Issues.
  2. We added Issue as a custom field to our timescheet detail as the smaller version of Task. The top down order for us is now Project, Task and Issue. As Issue* is also displayed in the DASHBOARD of Projects when referenced in the contact-section in the Issue I recommend taking this into the core-version as it is very interesting to see how much time is spent on solving Issues. Especially for companies providing billable services on call.
  3. We added a "kilometer driven** custom field in our timesheet detail for reference. This we still need to solve in a better way (maybe as kind of Stock Entry (not that important right now)).
  4. We use the field ‘Note’ in Timesheet for customer reference text on the work we have done for them. This we would like to have linked to Sales Invoice. (This I have adressed in antoher topic though)

For now we create invoices toward our customers in ERPNext only in theory. A collegue then makes a manual invoice via LibreOffice and copies the invoice-no and items.

It is still a little unclear to me when to use several rows in the timesheet. For now we just do one per timesheet.

As a little reminder for people who are new to ERPNext: All timesheets with the “Bill-Box” ticked will be drawn to an invoice when referencing the according project.


Hallo Wolfram,
very good work - this also is very interesting for me, because sometimes we have an issue, which need to bill. But actually i dont have the solution, how to bind each other.
In another threat i startet this question - to find out, how to make an invoice out of a issue.

Your idea is a little different than our plan, because we have basic project>task >timesheet>invoice.
Here our Case should be issue>timesheet>invoice.

At least i am flexible in the way we work inside erpnext, but in our case an issue comes from a customer in this moment, we dont have a project with this customer.
Means, if i have an active project and there is somethingextra to do, i can setup a new task. …?
The issue is in our case, that a customer (with no active project) has a problem - we have to work on it. And not always an issue gets an invoice, sometimes we have to do things, we cannot get extra money.
Because of this, the issue-functionality is very good - only we need to make an invoice out of an issue, if needed.

But this is the right direction.
I would be happy, to partizipate in the near future. What can i help or do?

Thanks a lot