This Expense Tracker is a Streamlit-based web application built using python that allows users to log expense, track debts, and settle payments. It uses Google Sheets as a database to store and manage financial records. The app also includes an announcement section that shames the person with the highest debt using a set of humorous messages.
Expense Log Users can log expenses by entering
- Their name
- The amount spent
- The name of the person who paid Debt Summary
- Displays a summary of who owes money and to whom.
- Ranks the person by highest debt. Administrator Mode
- Admins can log expenses and payments
- Requires an admin password to unlock
- Provides direct link to Google Sheets to view full records or manual modification.
- Open the website
- The Expense log displays all recorded expenses
- The Debt Summary shows who owes and to whom
- You can enter the admin password in the sidebar to activate admin mode
- Once authenticated, you can log expenses which asks for name, amount spent and who paid
- You can also log payments which asks for debtor's name, the amount they are paying
- After recording payments or logging expenses, the system will reduce the owed amount, remove fully paid debts, and update Google Sheets
- Clicking on 'View Full Sheet Here' in the sidebar or below the main page will open the Google Sheet containing all the records
- Frontend: Streamlit
- Database: Google Sheets via
gspread
- Authentication: Google Cloud Service Account
streamlit
gspread
google-auth
google-auth-oauthlib
google-auth-httplib2
oauth2client
pandas
plotly
- The app connects to Google Sheets via a service account and requires cloud credentials which is stored in streamlit's secrets.toml
- If expense is not logging then ensure you're in admin mode, refresh the app and try again and make sure to have stable internet connection.
- If payment is not updated then ensure debtor's name is spelled correctly and confirm that the amount is valid, refresh the app and try again and make sure to have stable internet connection.
- Any expense or payment logging requires authenticaation
- Only authorised users can modify records in the google sheet.