Right now we have a caveman style expense reporting system. We all fill out a spreadsheet and send it by email to our Controller. She then compiles all the disaparate reports into her own file and adds her own metadata.
Yes, it's a huge waste of her time and I want to create something that will put all our transactions into a single database for her to review and modify as needed.
Two requirements are that (1) there needs to be an approval workflow from employee to supervisor and (2) records should only be viewable by the appropriate person.
From what I know of PowerApps, this does not seem like a good fit (at least not right now) but I want to make sure I'm not making a poor assesment.
Can you explain this in more detail. As a new powerApps uer I am unsure how to do this exactly.
Maybe a step by step for the specific part of only allowing users to see thier own submissions.
Hello @ChrisParker,
I have been attracted to PowerApps because there is a lot you can do with it, it is fun, and it seems to be evolving quite rapidly. I have also toyed with the idea of re-learning programming, but with PowerApps I can concentrate more on the business logic rather than getting the nuts and bolts to work properly. The result, even today, is good enough for non-critical applications.
The only real show-stopper for certain applications is permissions, but since this is obvious I am sure it will be addressed soon. As I mentioned in a prevoius post, I look forward to seeing how this will work with the Microsoft Common Data Model.
In regards to approvals, PowerApps has nothing OOB (mainly because you are meant to use Flow) but I think there are at least three possible approaches:
1) Microsoft Flow. This is the recommended option but I think you need email on Office 365 Outlook to keep it simple. As I said, I have not yet experimented with Flow
2) You can try to implement in PowerApps only, keeping tab of the approval process in a dedicated table/SP list
3) Use the approval capabilities of the database/SP without referring back to PowerApps
Thank you, @Steelman70. This is extremely similar to what I imagined doing. I'd be interested to hear your thoughts also on my other recent post.
hi @hintbw-ab
Thanks for your comments. Sounds like using a typical DB backend (vs a SharePoint list or something) would be ideal. How would the approval process work? Would that be facilitated through Flow or does PowerApps have something built in?
And, in a much broader sense, if I were interested in (re)learning programming (which I've done on and off for the past 15 years but not seriously), via ASP.NET MVC, should I forget about PowerApps and try to accomplish this that way?
My main motivator for PowerApps is my lack of time: PowerApps is meant to make it possible for non-programmers to make apps.
Please feel free to share your opinion.
I would agree with your assessment that it would be mostly a poor fit for PowerApps, but it is certainly possible. I have implemented a solution where supervisors can only view employees information (while admins can view everyone's information). Employees have only limited information/rights to do anything.
If you are working from a database (like Azure SQL DB for example), users would not have to be given access to the database with their user accounts, but rather would use a connection string that is shared (but that they wouldn't be able to see or edit)
Please see below. Happy to answer any questions.
Screenshots would be excellent. Thank you!
I'm in the same boat as far as company size and such.
Hi Chris, I have actually implemented a solution for time off reporting in our company so happy to share screenshots etc. if you think it might help you.
I believe that currently yes, you need to give read/write permissions to the datasource, hence my comment about a malevolent/intrepid employee being able to read all records. Our company is small and everyone knows how much time off people take so it is not an issue for us for an intrepid employee to be able to see the info if they really want. By default however, they are not able to do so in the Power App.
I read with much interest the blog on the Microsoft Common Data Model that is due to preview in August, as I am hoping that CDM will allow for granular permissions, although it is not clear from the post. If it will then I will migrate most data sources to the CDM.
Hi @Steelman70,
Thanks for your comments and suggestion. I'm looking to build it myself because I don't have a time constraint working against me and a homegrown system would be more widely accepted here (due to our business culture.)
I also have another way I could apply the same app to the business: time off reporting.
To clarify on who can read what, is it correct that the user needs read/write access to the datasource? This is my understanding and why I thought PowerApps might not be the right fit: an intrepid person might find the datasource and browse the full contents.
Hi, before considering building your own solution you could explore what is out there already that does all that you require. We use Xpenditure and are quite satisifed.
Having said that, if you still want to develop your own solution, I am a big fan of PowerApps so would give it a try for anything.
Cannot comment on approval workflows since I have not experimented with Microsoft Flow in association with Power Apps, but it should be able to do the trick.
In regards to records being viewable only by the appropriate person, I have sucessfully solved it with the User() function. When records are saved, I add the user email in a CurrentUser column with User().Email. I then display data in the Power App filtered again using User().Email. If the user is an administrator then you do not filter the data. This solution would not stop a malevolent employee from using the data connection to read all data, but they would have to try. It may be appropriate for such an application.
WarrenBelz
146,743
Most Valuable Professional
RandyHayes
76,287
Super User 2024 Season 1
Pstork1
66,083
Most Valuable Professional