Bhaban Documentation
Apartment Building Rent, Service Fees & Accounting Management System
Version 1.0 Β· Laravel 12 Β· PHP 8.2+Introduction
Bhaban is a full-featured web application built with Laravel 12 for managing apartment buildings. It handles service charge billing, tenant rent collection, expense tracking, income recording, complaints management, notices, and real-time chat between tenants and management.
The system supports multiple roles β a super admin overseeing everything, cashiers handling billing and payments, flat owners managing their own tenants, and tenants submitting payments and complaints online.
Features
Multi-role System
Super Admin, Cashier, Flat Owner, and Tenant β each with a dedicated panel.
Monthly Billing
Auto-generate service charge bills for all flats with individual line items.
Online Payment Requests
Tenants upload payment vouchers; cashiers review and approve.
Rent Management
Owners set monthly rent per tenant; tenants submit rent payments online.
Accounting Reports
Income, expense, collection summary and monthly closing reports.
Real-time Chat
Tenantβmanagement messaging with online status indicator.
Notices Board
Publish notices with priority levels visible to all tenants.
Complaints Tracker
Tenants raise complaints; management replies and updates status.
Flat & Garage Management
Track occupancy, assign tenants, manage garage rentals.
Export to Excel & PDF
Export reports and bills to Excel and PDF formats.
Mobile Responsive
Bootstrap 5 β works on desktop, tablet, and mobile.
Role-based Permissions
Fine-grained access control via Spatie Laravel Permission.
Activity Log
All major actions are logged for audit purposes.
Web Installer
Browser-based 4-step installer β no terminal required.
Requirements
| Requirement | Minimum Version |
|---|---|
| PHP | 8.2 or higher |
| MySQL | 8.0 or higher |
| Composer | 2.x |
| Laravel | 12.x (included) |
| PHP Extensions | PDO, pdo_mysql, openssl, mbstring, tokenizer, xml, cURL, GD/Imagick, fileinfo |
| Minimum RAM | 512 MB |
Installation
Option A β Web Installer (Recommended)
- Upload all project files to your server's web root (e.g.
public_html/or/var/www/html/). - Create a MySQL database in cPanel / phpMyAdmin (e.g.
bhaban_db). - Open
https://yourdomain.com/installin your browser. - Follow the 4-step wizard: Requirements β Database β Admin Account β Install.
- The installer will run migrations, seed roles & settings, and create your admin account automatically.
- Log in at
https://yourdomain.com/login.
Option B β Command Line
# 1. Copy the environment file
cp .env.example .env
# 2. Edit .env with your database credentials
nano .env
# 3. Install PHP dependencies
composer install --no-dev --optimize-autoloader
# 4. Generate application key
php artisan key:generate
# 5. Run migrations and seed
php artisan migrate --force
php artisan db:seed --class=RolesAndPermissionsSeeder
php artisan db:seed --class=SettingsSeeder
php artisan db:seed --class=ExpenseCategorySeeder
php artisan db:seed --class=IncomeCategorySeeder
# 6. Create storage link
php artisan storage:link
# 7. Optimise (production)
php artisan config:cache
php artisan route:cache
php artisan view:cache
# 8. Mark as installed (important!)
echo "installed" > storage/installed
Environment Configuration
| Key | Description |
|---|---|
APP_NAME | Your building/app name shown in the UI |
APP_URL | Your full domain URL (e.g. https://yourdomain.com) |
DB_HOST / DB_DATABASE / DB_USERNAME / DB_PASSWORD | MySQL connection details |
MAIL_* | SMTP mail settings for email notifications |
TELEGRAM_BOT_TOKEN | Optional β Telegram bot token for notifications |
SESSION_LIFETIME | Session duration in minutes (default: 43200 = 30 days) |
User Roles
| Role | Description |
|---|---|
| system_admin | Manages buildings and subscriptions at the platform level. |
| building_admin | Full access to everything within a building β manage owners, cashiers, billing, expenses, reports, settings, month closing. |
| cashier | Can generate bills, record payments, manage expenses and incomes, manage notices, review payment requests. Cannot close months or manage settings. |
| flat_owner | Manages their own flats and tenants. Sets rent amounts, reviews tenant rent payments, creates complaints, views notices. |
| tenant | Views own bills, submits payment vouchers, pays house rent, raises and tracks own complaints. |
| guard | Manages entry logs for the building. |
Application Settings
Go to Admin β Settings to configure:
- Building name and address
- Monthly service charge and garbage bill amounts
- Eid bonus amount (added automatically at Eid)
- bKash and Nagad collection numbers
- Bank account details for transfers
- Contact phone and email
Admin Panel
Accessible by building_admin and cashier roles.
| Section | Description |
|---|---|
| Dashboard | Summary stats β total flats, collection, expenses, complaints, recent activity |
| Flat Owners | Add, edit, activate/deactivate owner accounts |
| Flats | Manage all flats β assign to owners, track occupancy |
| Garages | Manage garage rentals |
| Monthly Bills | Generate monthly service bills, edit line items, mark as paid |
| Payments | Record manual payments, print receipts |
| Payment Requests | Review tenant online payment vouchers β approve or reject |
| Expenses | Record building expenses by category, approve/reject |
| Incomes | Record non-rent income (garage rent, roof rent, etc.) |
| Reports | Collection summary, expense summary, ledger |
| Monthly Closing | Close month after reconciliation |
| Complaints | View and reply to all tenant complaints |
| Notices | Publish notices to all tenants |
| Settings | Configure building, billing, payment details |
Owner Panel
Accessible by flat_owner role only.
| Section | Description |
|---|---|
| Dashboard | Overview of own flats, tenants, and pending rent payments |
| My Flats | View and manage flats assigned to this owner |
| My Tenants | Add/edit tenants, set monthly rent, activate/deactivate |
| Rent Payments | Review tenant rent payment submissions β approve or reject |
| Expenses | Submit and track expenses for own flats |
| Complaints | View complaints from own tenants |
| Notices | View building notices |
| Chat | Message tenants directly |
Tenant Panel
Accessible by tenant role only.
| Section | Description |
|---|---|
| Dashboard | Current due, monthly rent, recent bills, recent complaints, notices |
| My Bills | View monthly service charge bills and payment status |
| Payment Requests | Submit bill payment vouchers for online approval |
| House Rent | View monthly rent, submit rent payments, track history |
| Complaints | Raise complaints, view replies, track status |
| Chat | Message building management directly |
Demo Accounts
| Role | Password | |
|---|---|---|
| building_admin | Your account from installer | Your password |
| cashier | cashier@demo.com | password |
| flat_owner | owner1@demo.com | password |
| flat_owner | owner2@demo.com | password |
| tenant | tenant1@demo.com | password |
| tenant | tenant2@demo.com | password |
FAQ
How do I add a new flat owner?
Go to Admin β Flat Owners β Create. Enter name, email, and password. The owner will receive login credentials and can immediately log in to the Owner Panel.
Can one owner manage multiple flats?
Yes. Each flat is assigned to one owner during flat creation. An owner can have any number of flats.
How does a tenant pay service charges online?
The tenant logs in β sees the bill β clicks "Pay Now" β uploads a payment screenshot and transaction ID. The cashier reviews and approves from the Admin β Payment Requests section.
How does house rent collection work?
The flat owner sets a monthly rent amount on each tenant's profile. The tenant then goes to House Rent β Pay, selects the month, enters the transaction ID, and uploads a voucher. The owner reviews and approves from their Rent Payments panel.
How do I upgrade?
Back up your database and files. Upload the new version files. Run php artisan migrate --force and clear caches with php artisan optimize.
Changelog
v1.0 β May 2026
- Initial release
- Multi-role authentication (Super Admin, Cashier, Flat Owner, Tenant)
- Monthly billing and service charge management
- Online payment request system with voucher upload
- House rent management (owner sets rent, tenant pays online)
- Expense and income tracking with monthly closing
- Complaint management with replies
- Real-time chat between tenants and management
- Notices board
- PDF and Excel export
- Web-based 4-step installer
- Demo data seeder
Support
For support, please use the Envato item comments section or contact us through the author profile.
When reporting a bug, please include: PHP version, MySQL version, browser, and steps to reproduce.
Bhaban v1.0 Β· Built with Laravel 12 Β· © All rights reserved.