ExpenseTracker Canvas app

Functionalities
The Canvas app is composed of 7 different screens:

Home screen
The first screen of the app. Kind of a "read-only" screen it shows your expenses for the last 30 days, along with Previous and ongoing months expenses. Additionally, it contains a pie chart containing the percentage of these expenses based on Category.

Categories screen
Screen for creating Categories. A Category is a grouping of related costs, such as Housing and services, transportation, groceries, etc.


Items screen
This screen allows you to add Items to every Category you created in the previous screen along with its perceived importance. For instance, Apples would be an item for Groceries.

Expenses screen
Here is where your record all your expenses, indicating Category, Item, comments, quantities and prices.

Reporting Reporting screen
This screen allows you both to generate an expense report [Sent to your email] within a specific range or compare the expenses of 2 different months. It also contains a line chart describing your Expense trend.

Wishlist Screen
This screen allows you to record items you’d like to buy, mark them as purchased and keep track of your savings: I use a piggy bank and, every time I deposit money in it, I record it in this screen.

Settings screen
Here you can set a budget for monthly expenses, change your currency symbol and set your time zone: Dataverse records are saved as UTC, hence, to ensure an accurate report of your expenses, you need to set your time zone properly.
Download
First, download the necessary files from https://github.com/ederNguyen/ExpenseApp-PowerApps:
Import Solution
Once you download and import the solution, make sure to create and select the appropriate connections:

And the solution should install successfully:

Import default data
The next step should be to make sure and import the initial values for the SettingsExpenses table using the cr849_settingsexpenseses.csv you downloaded before along with the solution package:
This image has an empty alt attribute; its file name is image-15.png
This step should populate the table:
Create Custom role and share app

This app leverages the power of Dataverse 💪. As such, to ensure other users only see their data when sharing this app, you’ll need to create a Custom Security Role with User level access to all the Custom tables in the solution: ExpenseHistory, Items, Savings, SettingExpenses, Type Expense & Wishlist:

Once you create it, make sure to assign it to the users you are sharing the app with:

And any new users the app is shared with should follow the Import default data steps above as well.
System administrator/Global administrator role
A "small" observation when using the application with administrator roles that grant full privileges over Dataverse such as System and Global administrators: As an individual with any of these roles you should not have any issues as long as only you are using the app. However and if the app is shared with multiple users, as a Dataverse admin of any kind, you would be able to see records from others, as well, which would make difficult to track your own, here are the privileges for admin accounts:



You could workaround this issue by either creating your own custom System Admin Role or make sure to use the app with an account without any of these roles, unless only you are using it.

Licenses needed
As the app uses Dataverse as its data source, a Premium [Standalone] PowerApps license would be necessary to run it. Why in the name of God did I choose Dataverse you wonder? Well, not only it easily integrates with PowerApps, taking advantage of delegation and other features, but I would eventually like to [And once with enough records] conduct do some data analysis using Power BI as well, a template I might submit later in the future, if I ever get to it!

Enjoy! =)

Leave a comment