[v7] Discussion: Project-wise billing removed with Timesheets

Did you try using ‘Customize Forms’, it is usually not recommended to make changes directly in the DocType.

About timesheet and payroll, if you intend to link both then probably what you are saying is correct. Are timesheet and payroll linked in your company? If they are linked, then you could possibly customize to pull the data for payroll based on some other criteria than what is delivered as part of V7.

Employees entering timesheet in draft mode daily and manager submitting weekly is the suggested way to operate in the new version.

Thank you for your feedback, it is very helpful in improving v7

Thanks for responding.

I do all modifications through the provided “Customize…” options, so as to leave trouble away from versioning/upgrading. The customizations previously shown are both done through that method. Since V7 I feel as if they are going to get me in trouble. The timelog>timesheet patch destroyed a lot of valuable information we had been keeping, but I think we’re just on the mend :slight_smile:

It looks like Calendar view calls for “project” field, but not limited to just the “Timesheet Detail” doctype (if I’m understanding the ambiguous error correctly). I have a “project” field in the timesheet parent doc, so I think that’s the error, but since there are records existing now, simply renaming the field doesn’t help. I would love to submit a PR for the call on project to be specific on the child table if I knew more

The error I have on report view could be caused by a record that was submitted when I was trying to script some information to be used as a title for legibility in list view. I accidentally used doc.name, which seems to be an internal function though it’s not listed as a field. Switched that to doc.title, but it’s still throwing the error in report build view

Timesheet and payroll are indeed linked in my company. It is usable by doing the daily operations fixed per whole timesheet, but that makes the improvement of timesheet tables redundant. Introducing another workflow for them such as saved, approved by payroll manager, then submitted would work, but is also creating more work for the administration side, and the two would have to work around one another, if not being able to double accounted (billing, payroll).

Therein lies the issue I’m seeing from a company that is entirely project based. I don’t think it’s realistic to be able to leave a timesheet in the employees hands for a week, for the amount of untraceable, or forgettable errors that could occur out of human nature in a weeks span. The timeline difference between payroll and project billing is always going to be inconsistent in my field as well, and the current workflow does not allow the two modules to see eye to eye.

I feel like I’m almost pleading for a reevalution on the system, but would be very glad to provide a case report if that would help anything.

  • Payroll can run off existing timesheets which are submitted & would be available for payroll processing once they are submitted by employees

  • Global setting to ‘Enable Timesheet adjustments’ feature.

  • The same submitted timesheets would serve as inputs for invoicing to the new proposed ‘Timesheet Billing Adjustments’ doc type

    * If project is selected, grid would show related project timesheets
    * 'Billable', 'Adjustment' columns to be editable
    * Once submitted 'Make Invoice' button to appear & 'Total Hrs' to be available for billing
    

This is based on discussions and feedback we have received so far @umair

@superlack,@spa ,@agerken kindly provide any feedback you have on the above proposed page

So this would serve as a broader view to be able to make adjustments? I really do miss the old workflow, where the only administrative tasks came in the form of approving or rejecting a time log, and if that’s worked in by the “enable timesheets feature” that would be so great. Kind of like each person continues to toss their pebbles into a counter, and they get labelled and sorted out into buckets, as opposed to each person being responsible for the sorting and counting of each pebble into individual buckets.

This granular idea makes using the info and sorting it a lot more flexible, considering the power and ease of the filters provided

This could be really handy tool in the new direction of timesheets, and it would compliment it very well. It’s more forgiving for the invoice creator to not have to get an employee to do minor corrections, but it looks like it would solve only the issue of changing numbers. As I see it, the problems can get corrected, but if an employee uses incorrect data in the project field of a timesheet, then it would still need some verification on each sheet to correct it. (Also, wouldn’t have the ability to do manual corrections for payroll. )

It’s hard to think about what criteria for “containment” I would use for timesheets master, as it’s currently the individual relationship with employee. I was thinking that “Project” the would help, so things don’t get double billed, but then with the submission being a pre-requisite for billing, and paying employees, at what point do you stop using the timesheet as a container and just use it as a daily stop (ala Time Logs), but without the option to batch.

I apologize if I come off as negative about the development. I’m very interested in this conversation, looking forward to what comes from it, and appreciate the involvement that the team gives. Thanks guys!

1 Like

@superlack,For relabelling the tasks, you could make the tasks editable on the new doc type if needed or hope for some discipline from employees so that they choose the correct tasks while entering time.

We have been talking about allowing adjustment hours @rohit_w on the payroll side

The criteria of containment is different for different business and we are trying to come up with something that works for all, it could be daily for some, weekly for some, project for some & so on.

After a few weeks of testing, reports seem to be the way to go for offering a breakdown of labour hours and notes from daily submitted timesheets to a client.

The billing timesheet workflow seems like it has removed a very important stepping stone though. Considering the idea of different billing/pay times, the only solution is to enter timesheets daily. What that leaves is a list of timesheets per project cycle (much like time logs), but leaves us without the ability to filter and either apply directly to an invoice, or batch them as one document, marking all contained timesheets as “Billed” and having a package of labor times, in case the information is ever re-requested (reports unfortunately don’t have the milestone ability, and would require filtering project, billing from-to dates)

Is a timesheet container completely out of the question? Not being able to batch from time entry list is putting us in a bad spot.

hi all,

fyi
sorry I hadnt much time to get my head around it.
hope to find some next week

A few days after using the system, and attempting to push out a detailed invoice with it using Timesheets as a daily entry fixture:

issue: Timesheets are not filterable while creating an invoice, but they are in the timesheet list. Repetetive clicking and missing details in the Sales Invoice table make this method difficult
Solution: Timesheet list view should copy the “Make Time Log Batch” function, and have a selection of Timesheets in list view be able to be attributed directly to a new sales invoice via “Make Sales Invoice” menu function

Issue: Sales Invoice does not fetch Note/Employee/Time fields
Solution: Fetching fields from timesheets when attributed to an invoice.

Issue: Sales Invoice Trends report does not show timesheets billed, since it’s not an item. Is it untraceable in reports?
Solution: Is it possible to have a global setting, or predefined as timesheets being considered one particular item? We were previously billing labour as an item, which worked with the previous line item entry (related time log batch on a line item)

@Pawan @rohit_w After exploring the workflow, and finding out what was removed in v7, does this seem like a realistic approach to reinstating the lost features? Currently, we (my company) have a dirty system because timesheets are difficult to enter to invoice. Times are showing unbilled, labor hours are copied, and the calculators and notepads are out again.

I think it’s reasonable, and fits the tune of the customizable environment to be able to have all details from the timesheets fetched by sales invoice, and have them default to unchecked in the print format. Ideally, it would be possible to print the standard invoice, but on choosing a different print format, have the breakdown of times for it. Much like the timelog batch, it would be very easy to pull up details pertaining to an invoice and re-print if ever needed; reports won’t provide the functionality.

Regarding the issue with “Sales Invoice Trends” and presumably other reports not showing what Timesheets have billed: I don’t know enough about the internal mechanics of how data gets passed from doc to doc, but I would assume billing amount would have to be handed directly to a line item like the Time Log Batch did.

If you can take a glance over my suggestions that would be very, very appreciated. I think this would be the simplest way to make the system much more usable with what’s already there. (and what I could contribute to help)

Thanks!

@superlack thanks for your feedback. Below are my thoughts:

  • I think the Sales invoice format is the same as it was in the previous version.

  • I agree that we don’t have a batch functionality to correct multiple timesheet in one go but I think list reports can have fields editable using report builder. We have added a ‘Billable Hrs’ field so that employees can just submit the timesheet and ‘Field level permissions’ can control access to the ‘Billable Hrs’ field. Managers can adjust this field via the list report.

We would have a relook at your feedback and let you know as we make further improvements.

When TLB was pushed to Sales Invoice (via the TLB “Make Sales Invoice” button), it showed as a line item. I don’t remember if it was mandatory to select an “item name” in that line or not, but it did allow for billed labour hours to be tracked under a Labour item. I guess that does mean that labour hours sold were untrackable under the Sales Invoice Trends report if they werent entered with an item… My bad. It seems weird

My last reply was a bit of a different approach to a workflow similar to the batching, but without a new doctype. It would involve being able to filter, select, and send a list of timesheets to invoice from list view. I’ve been testing the method of using reports, and the problems I see are:

  • There’s no way to save the information as it was processed at the time of billing. There is no way to re-print a report attributed to an invoice days, months, or years later without a lot of digging around in old documents. I don’t think that’s something the community should be content with, given the power of a database. (Even if there would be an alteration or addition of timesheet within the time between the invoice and report, it would be inaccurate instantaneously, but that scenario isn’t very likely)

  • It isn’t possible to mass select from list view, and push to billing. The child table in Sales Invoice is handy, but not for over 10 timesheets… Timelog>Timelog batch accomplished this quite well. Is it suggestible to have the same functionality, but skipping the batch process?

Thanks for your time on this thread.

Some thoughts on the subject:
We are a newly founded IT servicec company who provides buying, configuring and administrating IT for our customers. We have many small customers as oppesed to one or two big ones.
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 manager

  • link his work to customer (manditory)

  • link his work to project/task optional

  • add(not attach) notes to his work done

  • set 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 a table on sales invoice 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!

2 Likes