Sign inSign up

whahn1983/pycashflow

By whahn1983

โ€ขUpdated about 2 months ago

Python Flask application for future cash flow calculation and management.

Image
Content management system
0

10K+

whahn1983/pycashflow repository overview

โ PyCashFlow

PyCashFlow is a self-hosted Python Flask application for cash flow forecasting, transaction scheduling, balance tracking, AI-powered insights, and mobile-ready API access.

It helps individuals, families, and small businesses manage upcoming income and expenses with 12-month projections, interactive charts, recurring transaction schedules, scenario modeling, automated balance updates, and optional AI analysis.

โ Key Features

  • ๐Ÿ“ˆ 12-month cash flow forecasting with interactive charts
  • ๐Ÿ’ฐ 90-day transaction preview and minimum balance warnings
  • ๐Ÿ”„ Recurring and one-time transaction scheduling
  • ๐Ÿงช What-if scenario modeling
  • ๐Ÿฆ Manual balance updates, email balance imports, and optional Plaid balance sync
  • ๐Ÿ‘ฅ Multi-user support with admin, owner, and guest roles
  • ๐Ÿค– AI-powered cash flow insights using OpenAI or DigitalOcean GenAI
  • โš ๏ธ Built-in Cash Risk Score (no AI key required)
  • ๐Ÿ“ฑ REST API for mobile and external integrations
  • ๐Ÿ” Two-factor authentication (2FA) and optional passkey support
  • ๐ŸŒ Progressive Web App (PWA) with offline support
  • ๐Ÿ—„๏ธ SQLite or PostgreSQL database support
  • ๐Ÿณ Simple Docker deployment

โ Quick Start

Pull the latest image:

docker pull whahn1983/pycashflow:latest

Run the container:

docker run -d \
  -p 127.0.0.1:5000:5000 \
  -v /mnt/data:/app/app/data \
  -v /mnt/migrations:/app/migrations \
  -e TZ=America/New_York \
  -e ENABLE_CRON=true \
  -v /mnt/.env:/app/app/.env \
  --restart always \
  --pull always \
  --name pycashflow \
  whahn1983/pycashflow:latest

Access the application:

http://localhost:5000

โ Required Configuration

Mount a .env file to:

/app/app/.env

Example:

APP_SECRET=your_generated_app_secret
SECRET_KEY=your_generated_flask_secret
DATABASE_URL=sqlite:///data/db.sqlite
TZ=America/New_York
ENABLE_CRON=true
PAYMENTS_ENABLED=false

For platforms such as DigitalOcean App Platform that run scheduled jobs separately:

ENABLE_CRON=false

โ REST API

PyCashFlow includes a read-only REST API under:

/api/v1/

Available endpoints include:

  • Dashboard summary
  • Current balance
  • Schedules
  • Upcoming transactions
  • Cash flow projections
  • Scenarios
  • Holds and skips
  • Risk score details

Authentication uses Bearer tokens.

โ Security

  • Secure password hashing
  • Encrypted API keys and credentials
  • Encrypted Plaid access tokens
  • Encrypted 2FA secrets
  • Account-level data isolation
  • Optional passkey authentication

โ Support

Professional installation, customization, and support are available through H3 Consulting Partners LLC.

โ License

  • Backend / Flask server: GPLv3
  • iOS application: Separately licensed under /ios-app/LICENSE

PyCashFlow โ€” Professional cash flow forecasting and financial planning for individuals, families, and small businesses.

Tag summary

Content type

Image

Digest

sha256:b08b264ebโ€ฆ

Size

122.8 MB

Last updated

about 2 months ago

docker pull whahn1983/pycashflow