Laundry Finance & Accounting Dashboard

A lightweight Flask + MySQL bookkeeping and operational dashboard for a laundry business. It supports user login, chart of accounts maintenance, opening balance entry, daily debit/credit transaction recording (double-entry style), automated journal and ledger views, Income Statement, Balance Sheet, and Statement of Changes in Equity generation. It also includes a laundry order form that calculates service totals, turnaround time tiers (regular to express), and produces a printable PDF invoice via wkhtmltopdf. Tailwind-styled Jinja templates and custom number formatting improve readability for Indonesian locale.

Technologies Used

PythonFlaskAccountingLaundryFinance

Key Features

  • User session & role placeholder handling
  • Chart of Accounts CRUD
  • Opening balance (Saldo Awal) input
  • Debit / credit transaction entry
  • General Journal (Jurnal Umum) view
  • Ledger (Buku Besar) aggregation
  • Income Statement (Laba Rugi) calculation
  • Balance Sheet (Neraca) composition
  • Equity Changes (Perubahan Modal) summary
  • Laundry order pricing & turnaround logic
  • PDF invoice generation (pdfkit + wkhtmltopdf)
  • Thousand separator (Indonesian style) filter
  • Tailwind-based responsive UI

Technical Stack

Python
Flask
Flask-Migrate
SQLAlchemy
MySQL (PyMySQL)
Jinja2
pdfkit / wkhtmltopdf
Tailwind CSS
pytz
dateutil