# বিল সাবমিশন সিস্টেম (Bill Submission System)

## 📋 বিবরণ
এই সিস্টেমটি `student_fees.php` পেজের মতো একটি বিল সাবমিশন পেজ তৈরি করেছে যেখানে বিল সাবমিট করার সাথে সাথে শিক্ষার্থী এবং অভিভাবকদের SMS পাঠানো হয়।

## 🚀 নতুন ফিচার

### 1. বিল সাবমিশন পেজ
- **ফাইল**: `fees/bill_submission.php`
- **বৈশিষ্ট্য**:
  - শিক্ষার্থী খুঁজে বের করা (ক্লাস, সেশন, গ্রুপ অনুযায়ী)
  - বিলের ধরন নির্বাচন (মাসিক ফি, পরীক্ষার ফি, লাইব্রেরি ফি ইত্যাদি)
  - বিলের পরিমাণ এবং বিবরণ
  - শেষ তারিখ নির্ধারণ
  - SMS পাঠানোর অপশন

### 2. SMS মেসেজিং সিস্টেম
- **SMS সেটিংস**: `admin/sms_settings.php`
- **SMS হেল্পার**: `includes/sms_helper.php`
- **টেস্ট মোড**: SMS গুলো `backups/sms.log` ফাইলে লগ হয়
- **লাইভ মোড**: SMS গেটওয়ে কনফিগার করার পর সত্যিকারের SMS পাঠানো হয়

### 3. SMS টেমপ্লেট
- **বিল সাবমিশন টেমপ্লেট**: 
  ```
  প্রিয় {name}, নতুন বিল সাবমিট হয়েছে। ধরন: {bill_type}, পরিমাণ: ৳{bill_amount}, শেষ তারিখ: {due_date}। {description}। প্রয়োজন হলে অফিসে যোগাযোগ করুন।
  ```

## 🛠️ ইনস্টলেশন

### 1. ডেটাবেস সেটআপ
```bash
php setup_sms_bill_system.php
```

### 2. ফিস টেবিল আপডেট
```bash
php fix_fees_table.php
```

### 3. সিস্টেম টেস্ট
```bash
php test_bill_submission.php
```

## 📱 SMS কনফিগারেশন

### 1. টেস্ট মোড (ডিফল্ট)
- SMS গুলো শুধু লগ ফাইলে সংরক্ষিত হয়
- `backups/sms.log` ফাইলে দেখতে পাবেন

### 2. লাইভ মোড
1. `admin/sms_settings.php` এ যান
2. SMS গেটওয়ের তথ্য দিন:
   - API URL
   - API Key
   - Username/Password
   - Sender ID
3. "Enabled" চেকবক্স চেক করুন
4. "Test Mode" আনচেক করুন

## 🎯 ব্যবহারের নিয়ম

### 1. বিল সাবমিট করা
1. `fees/bill_submission.php` এ যান
2. শিক্ষার্থী খুঁজুন (ক্লাস/সেশন/গ্রুপ দিয়ে)
3. শিক্ষার্থী নির্বাচন করুন
4. বিলের তথ্য পূরণ করুন:
   - বিলের ধরন
   - পরিমাণ
   - বিবরণ
   - শেষ তারিখ
5. SMS পাঠানোর চেকবক্স চেক করুন
6. "বিল সাবমিট করুন" বাটন ক্লিক করুন

### 2. SMS সেটিংস ম্যানেজ করা
1. `admin/sms_settings.php` এ যান
2. SMS গেটওয়ের তথ্য কনফিগার করুন
3. টেমপ্লেট কাস্টমাইজ করুন
4. সেটিংস সংরক্ষণ করুন

## 📊 ডেটাবেস স্ট্রাকচার

### Fees টেবিল (আপডেটেড)
```sql
ALTER TABLE fees ADD COLUMN description TEXT AFTER due_date;
```

### Settings টেবিল
```sql
CREATE TABLE IF NOT EXISTS settings (
    id INT PRIMARY KEY AUTO_INCREMENT,
    setting_key VARCHAR(100) UNIQUE,
    setting_value TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
```

## 🔧 ট্রাবলশুটিং

### 1. SMS পাঠানো হচ্ছে না
- `admin/sms_settings.php` এ যান
- SMS গেটওয়ে সঠিকভাবে কনফিগার করা আছে কিনা দেখুন
- Test Mode বন্ধ করা আছে কিনা দেখুন

### 2. বিল সাবমিট হচ্ছে না
- ডেটাবেস কানেকশন চেক করুন
- `fees` টেবিলে `description` কলাম আছে কিনা দেখুন

### 3. টেস্ট চালান
```bash
php test_bill_submission.php
```

## 📁 ফাইল তালিকা

### নতুন ফাইল
- `fees/bill_submission.php` - বিল সাবমিশন পেজ
- `setup_sms_bill_system.php` - সেটআপ স্ক্রিপ্ট
- `test_bill_submission.php` - টেস্ট স্ক্রিপ্ট
- `fix_fees_table.php` - ডেটাবেস ফিক্স স্ক্রিপ্ট
- `BILL_SUBMISSION_SYSTEM.md` - এই ডকুমেন্টেশন

### আপডেটেড ফাইল
- `config/sms.php` - SMS টেমপ্লেট যোগ করা হয়েছে
- `admin/sms_settings.php` - বিল সাবমিশন টেমপ্লেট যোগ করা হয়েছে
- `includes/sms_helper.php` - বিল সাবমিশন টেমপ্লেট সাপোর্ট যোগ করা হয়েছে

## 🎉 সম্পন্ন!

সিস্টেমটি সম্পূর্ণভাবে সেটআপ করা হয়েছে। এখন আপনি:
1. `fees/bill_submission.php` এ গিয়ে বিল সাবমিট করতে পারেন
2. SMS পাঠাতে পারেন (টেস্ট বা লাইভ মোডে)
3. `admin/sms_settings.php` থেকে SMS সেটিংস ম্যানেজ করতে পারেন

সব কিছু ঠিকমতো কাজ করছে কিনা দেখতে `php test_bill_submission.php` চালান।
