A local Python-based dashboard to audit paystubs, detect payroll anomalies, and track missed payments during government shutdowns. Coded with the assistance of AI, and not currently ready for any type of real-world use.
- Auditing: Flags if leave balance math isn't correct, if new deduction codes or tax rates shift unexpectedly.
- Visual Replica: Recreates the Employee Express paystub but highlights errors with explanatory tooltips.
- Government Shutdowns: Includes a "Missed payments Ledger" to project missed paychecks during a shutdown and reconcile them against the eventual "Lump Sum" payout.
- Graphs and Statistics: Visualizes various earnings and deductions over time.
You need Python installed. This project relies on the following libraries:
1. For the Server & Dashboard (Desktop)
pip install -r requirements-server.txt2. For the Mobile App
Modify DEFAULT_IP in mobile_app.py to match hostname -I output from your console
Test:
flet run mobile_app.py --web --port 8550Build the mobile app:
flet build apk --project "Audit FAA" --module-name mobile_appLook for app-release.apk located in /build/apk and transfer that to your phone, then install it
Ensure your project folder looks like this:
PayTracker/
├── PayStubs/ # <--- Drop your HTML files here
├── dashboard.py # The visualization app
├── mobile_app.py # Logic for the android app
├── payroll_audit.db # (Created automatically, database for desktop)
└── mobile_data.db # (Created automatically, database for mobile app)
- Log in to Employee Express.
- Open your Earnings and Leave Statement.
- View page source, save the raw HTML in the format YYYY-MM-DD.html in the PayStubs folder
Run the ingestion script to parse the HTML files and build the database.
python3 ingest.pyNote: You can also trigger this button from the "Ingestion" tab inside the dashboard.
Start the visual interface:
streamlit run dashboard.pyYour browser will open to http://localhost:8501.
- Shutdown Reconciliation: Tracks payments to ensure the gov. completely paid you back
- Deep Dive Audit: See past, current and future payperiods, enter schedules, OT, OJTI, etc.
- "Your Calculation" a paystub generated by hours you input yourself, to project what your paystub SHOULD be for any given pay period
- "Official Paystub" the paystub generated by Employee Express which you can use to compare against your projected paystub.
- Graph of various earnings and deductions
- Enter your schedule for the year, and it will also show you holidays (actual day vs your holiday based on your schedule)
- When you add a new paystub you can press "scan" here instead of manually running ingest.py