A small self-hosted Flask application for tracking monthly purchases.
The application allows adding purchases with prices, calculates monthly totals, and keeps a history of previous months.
This project is under active development.
New features are added incrementally based on real-world usage rather than implementing everything at once.
The current user interface is available only in Finnish.
The application was originally developed for personal use. Multi-language support may be added in the future if needed.
- Add purchases
- Monthly total calculation
- Monthly history
- Delete purchases
- Dark mode interface
- SQLite database
- Flask web interface
- systemd service support
- Edit existing purchases
- Categories (Food, Tools, Books, Parts, etc.)
- Store / seller field
- Monthly comparison graph
- Yearly overview
- Search purchases
- Notes field
- CSV export
- Automatic database backup
- Python
- Flask
- SQLite
- HTML
- CSS
- systemd
Create a virtual environment:
python3 -m venv venvActivate it:
source venv/bin/activateInstall dependencies:
pip install -r requirements.txtStart the application:
python3 app.pyOpen in your browser:
http://localhost:5002
Example service file:
[Unit]
Description=Shopping Tracker Flask App
After=network.target
[Service]
User=hmasi
WorkingDirectory=/home/hmasi/shopping-tracker
ExecStart=/home/hmasi/shopping-tracker/venv/bin/python /home/hmasi/shopping-tracker/app.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targetEnable the service:
sudo systemctl enable shopping-tracker.service
sudo systemctl start shopping-tracker.serviceThis project is intended to remain lightweight, self-hosted, and easy to maintain while gradually adding useful features as real-world needs arise.
The goal is to create a practical household purchase tracker rather than a full accounting system.