477ca0ee07
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
1.9 KiB
1.9 KiB
rental_income_tracker
Simple Flutter app to track US rental income and convert to SEK for Swedish tax reporting.
What it does
- Stores a default monthly rent amount in USD.
- Shows year-based monthly rows in a table (January to current month for current year, full year for past years).
- Marks each month as Paid on time, Paid late, Not paid, Pending, or Not occupied.
- Saves USD amount, SEK amount, and USD->SEK rate when a payment is logged.
- Schedules local rent check notifications with Yes/No actions.
- Retries one time on the next eligible day if not confirmed.
- Supports one-click backfill for last year using 1st-of-month EST rates.
- Exports local data as a data file.
Important business rules implemented
- On-time means payment is confirmed on or before the 1st at 23:59 EST.
- Notification cycle starts after EST midnight and respects local quiet hours (no reminders after local 23:00).
- If a notification would fall after local quiet hours, it is deferred to 09:00 local.
- If occupancy is turned off, notifications stop and current/future months are marked Not occupied.
- Updating rent amount applies to future payment logs.
Setup
- Create
.envin the project root with your FX API key:
EXCHANGE_RATE_API_KEY=REPLACE_WITH_YOUR_EXCHANGE_RATE_API_KEY
- Install dependencies:
flutter pub get
- Run:
flutter run
Usage
- Open Settings and set monthly rent in USD.
- Keep Unit occupied enabled while the property is rented.
- Use Backfill last year to import the previous year in one click.
- Use Create backup to export a JSON backup into Downloads or any directory you choose.
- Use Import backup file to restore from a JSON backup you pick with the file chooser.
- Use year arrows on the main screen to switch yearly views.
Notes
- Data is stored locally on-device using shared preferences.
- Notification action handling when the app is terminated may depend on OS behavior.