cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
JB_Trying
Level: Powered On

Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

Hello, I've searched several times on this idea but never seem to find the solution to what I'm missing/doing wrong.

 

Basics: I need an app that allows contractors to enter their time each week.  It needs to show number of hours on a given project in a given week.  Does not need to show what days just the total for the week.  It needs to pull from a list of available contracts and allow for several contracts in a single week (one contractor may touch 10-15 different projects in a given week - though the typical is 2-3). My boss needs to be able to look into the list as well and assign the contractors invoices to the correct project at the end of each month.

 

I have created 3 lists:

Contractor: Contains name and ID number

Charge Codes: Contains the Project information (Client, Project ID, Project Title)

Contract Time: This is the list where the new rows are stored once the contractor creates enters a new week.

 

Currently I have a power app that does a look-up (drop-down list) for the contractor to select their name. Then they can use the calendar app to choose the last day of the week they are in. Then a second drop down to select the Project ID. Then they enter the number of hours and hit submit.

 

This works but they have to go through the process several times (one for each project they are working on that week).  

 

This leads to forgotten hours and too many hours etc.  What I would like to have is the ability to select multiple projects and enter a number of hours for each with a total number of hours at the bottom.  This would allow them to go into the app only once per week and enter all hours for the week.  It would also total their hours to ensure they are accounting for all hours (they are paid for 40, the onus is on me to track where they were working).

 

I've thought of trying to make a new list for each contractor and then having the rows be weeks and the columns be projects but I think I would need to have every project listed in the columns and that is a nightmare unto itself.

 

I keep thinking that maybe PowerApps is not the right solution.  I was trying to use Access originally but it does not play in our Office 365 SharePoint environment (as far as I can tell). I thought maybe StaffHub, but it appears more geared to scheduling staff for positions (more like retail or food service).

 

I need it to work with SharePoint 365.  Any suggestions of alternatives, or an answer as to how to create multiple rows in a power app with a total. 

 

Thank you!

13 REPLIES 13
Super User
Super User

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

Here is an idea:

 

  • create an empty collection in the OnVisible property of the screeen
  • Add a plus icon next to the Project ID and Hours that adds this information to the collection
  • Add a gallery to the screen that shows the collections
  • Change the Save formula to save each record in the table to the list instead of saving the form to the list.

 

The user would then fill out the timesheet and after selecting the project and hours would click on the plus icon which would add the project and hours to the collection. Then the user could select another project and hours and click the plus icon until all the hours for the week are list below in the gallery. Once all the hours have been added the user would click save and then the code would create a list item in SharePoint for each entry in the table.

 

You could even add a label that would show the total number of hours added that are being submitted as each project entry is being created.

CMHants
Level: Powered On

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

Hi JB

 

I need to do this too, it seems insanely difficult to get an effective solution

 

I have a workforce that works on multiple different projects and records either a full day or a halfday 

 

So far I've created a main list where its catergories are lookups from helper tables, im hoping that the PowerApps form will pick up the lookups in the sharepoint lists.

 

I've partly resolved the date issue by asking users to enter a start date and an end date then adding a calclated column into  the list to get the number of days. My plan is to use powerbi to convert that into hours.

 

If theres a powerapps admin out there can you help us build this as a feature in a future patch...its bloody painful trying to think through workarounds all the time 

Aaron_Kapala
Level: Powered On

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

Hi All,

 

I have created an App for something like this. I have a number of billable projects, renewal projects and then things like A/L, Sick etc. My team go in and log their hours again the code.

 

I then have an area where they can go in and view their own individual entries which i have allowed them to search for the code, client, project name etc and i am currently adding in a filter where they can filter for entries recorded 'today' and then all entries for that 'month'.

 

I am still developing additional features but my team are using and it works fine so far. 

 

Happy to help if you need any assistance or screenshots as to how the app works etc.

 

Cheers

 

Aaron

CMHants
Level: Powered On

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

Hi Aaron

 

It would be brilliant to see how you've set it up.

 

Im desperate to avoid capturing the information on a spreadsheet

 

Would you be happy to send me a few screenshots? or post here if not

 

all the best

 

chris

Rm_MasonBreese
Level: Power Up

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

Following intently as I have a very similar project at the moment
nirvana_moksh
Level: Powered On

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

From what  I learnt through my experince is to write down what all would you like on the solution.  I would list projects, names of users, etc. I would also do this in cnonjuction with Power BI which would give more aesthetic value and user friendliness to the entire solutions.

 

I created an App which my team currentlly is using and this App sits on a Power BI Report 

 

Power App Creation - 

 

Creating the Power App should be very straight forward. First step would be to set up a SharePoint list with the fields you want liek - Projects, Hours and Date .

After your list is created just  click on the PowerApps pill that you see on the top of the list and choose Create an App and that is it, it will create 80 % of the App for you. Rest of the work comes in to change the projects to a drop down menu, change hours to a selection etc.

 

Power BI

 

 

For visuals I have a bar chart showing hours for each project , a calendar visual to show the same (this adds more user friendliness) and lastly a data table with dates and users and finally next to the visuals is the Power App for logging in time.

For filters I have the following:

 

  1. Name (Team Names - Create a Calc. Column which takes distinct of the usernames and this will auto populate as and when you share the report and App)
  2. Working Period - To allow slicing of data by managers or users in general if needed
  3. A slicer for the projects

Hope this helps and gets you going Smiley Happy

 

Bets of luck 

Sunil_Shah
Level: Powered On

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

Hello Aaron. I’d be grateful if you can share screenshots ? Thank you. Sunil
ppmp
Level: Power Up

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

This would be perfect, I really need to do this.

CMHants
Level: Powered On

Re: Creating a Time Tracking (Timesheet) PowerApp using SharePoint lists

Hi PowerApps community,

 

After a long period of agony I have finally cracked a crappy timesheet app.

 

It does what i want which is a massive relief, im happy to share how it was made with anyone that is interested.

 

I have one last problem Im hoping someone could help with.

 

I'm collecting information from users and patching that to a sharepoint list, this is the formula

 

ForAll(Timesheet,Patch('Practice Operations Tool',Defaults('Practice Operations Tool'),{DateSmiley Very Happyate,FullorHalf:FullorHalf,Hours:Hours,JobTitle:JobTitle,LineManager:LineManager,ProjectSmiley Tongueroject,UserName:UserName}))

 

Now im probably being dumb but where in there should I put my clear collect, I cant get it to work at all !!