Appearance
Subscriber Activation
Overview
Subscriber Activation is the process of activating or renewing a subscriber's internet service by assigning a package, calculating fees, processing payment, and setting the service expiration date. This is one of the most important features in ZAL ULTRA as it handles the complete billing and service activation workflow.
WHAT IS ACTIVATION?
Activation means:
- New Activation: Giving internet access to a new subscriber for the first time
- Renewal: Extending internet service for an existing subscriber
- Package Change: Changing subscriber's package and extending service
All three scenarios use the same activation process!
📋 Table of Contents
- How Activation Works
- Activation Requirements
- Activation Process Step-by-Step
- Fee Calculation
- Payment Methods
- Balance Requirements
- Validation Rules & Restrictions
- Custom Expiry Date
- Grace Period
- Discount Rules
- What Happens During Activation
- Common Errors & Solutions
How Activation Works
The Complete Activation Flow
1. Select Subscriber → 2. Select Package → 3. System Calculates Fees →
4. Choose Payment Method → 5. Process Payment → 6. Activate Service →
7. Update Expiration → 8. Send NotificationsWhat Gets Created
When you activate a subscriber, the system automatically creates:
- ✅ Invoice - Billing record with all charges
- ✅ Payment Record - If payment is made
- ✅ Ledger Entries - For subscriber and salesperson
- ✅ Expiration Date - Service validity period
- ✅ Radius Records - For internet access control
- ✅ Activity Logs - Audit trail
- ✅ Notifications - SMS/Email to subscriber
Activation Requirements
Before You Can Activate
Subscriber Must Have:
- ✅ Active profile (not disabled or terminated)
- ✅ Assigned to a salesperson/reseller
- ✅ Document verified (if document verification is enabled in settings)
- ✅ Valid package assigned
Package Must Have:
- ✅ Billing type set (Prepaid or Postpaid)
- ✅ Price configured
- ✅ Assigned to salesperson/reseller
- ✅ Active status
Salesperson Must Have:
- ✅ Access to the package
- ✅ Sufficient balance (for postpaid packages)
- ✅ Active account
Activation Process Step-by-Step
Step 1: Access Activation Page
From Subscriber Profile:
- Go to subscriber profile
- Click "Activation" button
- Activation form opens
From Activation Menu:
- Go to Subscriber → Activation
- Search and select subscriber
- Activation form loads
Step 2: Select Package
Current Package:
- System shows subscriber's current package by default
- You can keep the same package (renewal)
Change Package:
- Select different package from dropdown
- Only packages assigned to salesperson appear
- System recalculates fees automatically
Step 3: Review Calculated Fees
System automatically calculates and displays:
Package Price:
- Base price of the package
- Shown in your currency
Extra Fees:
- VAT/Tax (if configured)
- Service charges (if configured)
- Any additional fees
Discount:
- Subscriber discount (if any)
- Applied to base price only
Net Total:
- Final amount to pay
- Formula:
(Package Price - Discount) + Extra Fees
Step 4: Choose Payment Method
Available Payment Methods:
- Cash - Physical cash payment
- Bank - Bank transfer/deposit
- Mobile Money - bKash, Nagad, Rocket, etc.
- Subscriber Balance - Deduct from subscriber's prepaid balance
- Online Gateway - Credit card, payment gateway
For Prepaid Packages:
- Payment is mandatory
- Must pay full amount
- Cannot activate without payment
For Postpaid Packages:
- Payment is optional
- Can activate now, pay later
- Creates due invoice
Step 5: Set Expiration Date
Default Expiration:
- System calculates based on package duration
- Adds to current expiration (if active)
- Or starts from today (if expired)
Custom Expiration:
- Enable "Custom Expiry Datetime"
- Select your preferred date and time
- Cannot be earlier than current expiration
Step 6: Complete Activation
- Review all details
- Click "Activate" button
- System processes activation
- Confirmation message appears
- Subscriber gets internet access
Fee Calculation
How Fees Are Calculated
1. Package Base Price
Example: Package price = 1000 BDT2. Extra Fees (VAT/Tax)
VAT 15% = 1000 × 15% = 150 BDT
Service Fee 2% = 1000 × 2% = 20 BDT
Total Extra Fees = 170 BDT3. Subscriber Discount
Discount 10% = 1000 × 10% = 100 BDT
(Discount applies to base price only, not extra fees)4. Net Total
Net Total = (Base Price - Discount) + Extra Fees
Net Total = (1000 - 100) + 170
Net Total = 1070 BDTImportant Fee Rules
- ✅ Discount applies to base price only
- ✅ Extra fees added after discount
- ✅ Cannot pay more than invoice amount
- ✅ Cannot pay less than invoice amount (for prepaid)
- ✅ Partial payment not allowed during activation
Payment Methods
1. Cash Payment
When to Use:
- Subscriber pays cash at office
- Field collection by staff
- Counter payment
How It Works:
- Select "Cash" as payment method
- Enter amount (must equal invoice total)
- Add payment note (optional)
- System records cash payment
2. Bank Payment
When to Use:
- Bank transfer
- Bank deposit
- Cheque payment
How It Works:
- Select "Bank" as payment method
- Enter amount
- Add bank details in payment note
- System records bank payment
3. Mobile Money
When to Use:
- bKash, Nagad, Rocket
- Mobile wallet payments
- Digital payments
How It Works:
- Select "Mobile Money"
- Enter transaction ID in payment note
- System records mobile payment
4. Subscriber Balance
When to Use:
- Subscriber has prepaid balance
- Auto-deduction from balance
- Prepaid account
How It Works:
- Select "Subscriber Balance"
- System checks available balance
- Deducts from subscriber's balance
- Updates balance automatically
Requirements:
- Subscriber must have sufficient balance
- Balance ≥ Activation fee
- Otherwise activation fails
5. Online Gateway
When to Use:
- Credit card payments
- Payment gateway (bKash, SSLCommerz, etc.)
- Online transactions
How It Works:
- Select "Online Gateway"
- Enter transaction reference
- System records online payment
Balance Requirements
For Prepaid Packages
Subscriber Balance Required:
- If paying with "Subscriber Balance"
- Must have: Balance ≥ Activation Fee
- Otherwise: "Insufficient Subscriber Balance" error
Example:
Activation Fee: 1000 BDT
Subscriber Balance: 800 BDT
Result: ❌ Cannot activate (need 200 BDT more)For Postpaid Packages
Salesperson/Reseller Balance Required:
- If salesperson is NOT admin
- Must have: Balance ≥ Salesperson Activation Fee
- Otherwise: "Insufficient Salesperson Balance" error
Example:
Salesperson Activation Fee: 900 BDT
Salesperson Balance: 500 BDT
Result: ❌ Cannot activate (need 400 BDT more)Admin Exception:
- Admin can activate without balance check
- Unlimited activation power
For Staff Users
Staff Balance Limit:
- If staff has balance deduction enabled
- Must have: Balance Limit ≥ Activation Fee
- Otherwise: "Insufficient Accounting Balance" error
How It Works:
- Admin sets balance limit for staff
- Each activation deducts from limit
- Staff cannot exceed limit
Validation Rules & Restrictions
1. Document Verification
Rule: If document verification is enabled in settings, subscriber must have verified documents.
Error: "Document Verification Pending"
Solution:
- Upload subscriber's identity document
- Admin verifies the document
- Then activation allowed
2. Profile Status Check
Rule: Subscriber profile must be Active (status 1 or 2).
Blocked Statuses:
- Status 3: Disabled
- Status 4: Terminated
- Status 5+: Other inactive states
Error: "Subscriber Profile Status Disabled or Terminated"
Solution: Reactivate subscriber profile first
3. Rate Limiting (Anti-Spam)
Rule: Cannot activate same subscriber twice within 2 minutes.
Error: "Too Frequent Activation! Please Wait 2 Minutes & Try Again"
Why: Prevents accidental double activation
Solution: Wait 2 minutes between activations
4. Permission Check
Rule: Resellers can only activate their own subscribers.
Who It Applies To:
- Resellers (profile type 3)
- Sub-resellers (profile type 6)
- Retailers (profile type 7, 8)
Error: "Oops! Insufficient Permission"
Solution: Only activate subscribers assigned to you
5. Package Access Check
Rule: Salesperson must have access to the package.
Error: "Salesperson Package Not Found"
Solution: Admin must assign package to salesperson first
6. Parent Package Check
Rule: For non-admin salespersons, their parent must also have package access.
Error: "Parent Package Not Found"
Solution: Admin must assign package to parent reseller
7. Billing Type Check
Rule: Package must have billing type set (Prepaid or Postpaid).
Error: "Package Billing Type Not Found"
Solution: Admin must set billing type in package settings
8. Prepaid Payment Check
Rule: Prepaid packages require payment during activation.
Error: "Billing Type Prepaid & No Payment Found"
Solution: Enable payment and select payment method
9. Payment Amount Validation
Rule: Payment amount must exactly match invoice amount.
Errors:
- "You Can't Pay More Than Invoice Fee"
- "You Can't Pay Less Than Invoice Fee"
Solution: Pay exact invoice amount
10. Custom Expiry Date Validation
Rule: Custom expiry date cannot be earlier than current expiration.
Error: "You cannot select a date earlier than the current subscriber expiration date"
Solution: Select date after current expiration
Custom Expiry Date
What Is Custom Expiry?
Normally, system calculates expiration based on package duration. Custom expiry lets you set any date you want.
When to Use
Use Cases:
- Special promotional periods
- Adjust for holidays
- Compensate for service issues
- Align with billing cycles
- Trial periods
How to Set Custom Expiry
- ✅ Enable "Custom Expiry Datetime" toggle
- ✅ Select date and time
- ✅ Date must be after current expiration
- ✅ System uses your date instead of calculated date
Example
Normal Expiration:
Current Expiration: Jan 1, 2025
Package Duration: 30 days
New Expiration: Jan 31, 2025 (automatic)Custom Expiration:
Current Expiration: Jan 1, 2025
Custom Date: Feb 15, 2025
New Expiration: Feb 15, 2025 (your choice)Restrictions
- ❌ Cannot set date before current expiration
- ❌ Cannot set date in the past
- ✅ Can set any future date
- ✅ Overrides package duration
Grace Period
What Is Grace Period?
Grace period is extra free days added after expiration before service is completely blocked.
How It Works
Example:
Package Expiration: Jan 31, 2025
Grace Period: 3 days
Service Blocks On: Feb 3, 2025Grace Period in Activation
Leftover Days:
- If subscriber renews during grace period
- Unused grace days are added to new expiration
- No grace days are wasted
Example:
Expired: Jan 31
Grace Period: 5 days
Renewed: Feb 2 (3 grace days used, 2 left)
New Package: 30 days
New Expiration: March 4 (30 + 2 leftover days)Configuration
Grace period is configured in:
- Settings → Subscriber Settings → Grace Period
- Can be enabled/disabled
- Duration can be set (days/hours)
Discount Rules
How Discounts Work
Discount Source:
- Set in subscriber profile
- Can be percentage or fixed amount
- Applied during activation
Discount Application:
- Applies to base package price only
- Does NOT apply to extra fees (VAT, tax)
- Calculated before adding extra fees
Discount Validation
Critical Rule: Discount cannot exceed salesperson's profit margin.
Error: "Insufficient Profit Margin For Subscriber Discount"
Example:
Package Price: 1000 BDT
Salesperson Cost: 900 BDT
Salesperson Profit: 100 BDT
Maximum Discount: 100 BDT
If Discount = 150 BDT → ❌ Error (exceeds profit)
If Discount = 80 BDT → ✅ OKWhy This Rule:
- Prevents negative profit
- Protects salesperson earnings
- Ensures business sustainability
Who Can Give Discount
- ✅ Admin - Up to full profit margin
- ✅ Reseller - Up to their profit margin
- ✅ Sub-reseller - Up to their profit margin
- ❌ No one can give discount more than profit
What Happens During Activation
Complete Activation Workflow
1. Validation Phase
- ✅ Check subscriber exists
- ✅ Check profile status
- ✅ Check document verification
- ✅ Check permissions
- ✅ Check rate limiting
- ✅ Check package access
- ✅ Check billing type
2. Calculation Phase
- ✅ Calculate package fees
- ✅ Calculate extra fees
- ✅ Calculate discounts
- ✅ Calculate net total
- ✅ Calculate expiration date
3. Balance Validation Phase
- ✅ Check subscriber balance (if needed)
- ✅ Check salesperson balance (if needed)
- ✅ Check staff balance limit (if needed)
- ✅ Validate discount vs profit
4. Invoice Generation
- ✅ Create invoice record
- ✅ Set invoice status
- ✅ Add package details
- ✅ Add extra fees
- ✅ Add discount
- ✅ Set expiration dates
5. Payment Processing (if payment made)
- ✅ Create payment record
- ✅ Update subscriber ledger
- ✅ Update salesperson ledger
- ✅ Deduct from balance (if applicable)
- ✅ Create cashflow entry
6. Profit Distribution
- ✅ Calculate salesperson profit
- ✅ Calculate parent profits (if reseller)
- ✅ Distribute profits up the chain
- ✅ Record profit entries
7. Radius Activation
- ✅ Update expiration in radius
- ✅ Set package speed limits
- ✅ Update quota (if applicable)
- ✅ Activate internet access
8. Subscriber Update
- ✅ Update subscriber package
- ✅ Update profile status (active)
- ✅ Update expiration date
- ✅ Update last activation date
9. Notifications
- ✅ Send SMS to subscriber (if enabled)
- ✅ Send email to subscriber (if enabled)
- ✅ Include invoice details
- ✅ Include expiration date
10. Activity Logging
- ✅ Log activation action
- ✅ Record who activated
- ✅ Record when activated
- ✅ Record all changes
Common Errors & Solutions
"Document Verification Pending"
Cause: Subscriber's identity document not verified
Solution:
- Go to subscriber profile
- Upload identity document
- Admin verifies document
- Try activation again
"Insufficient Subscriber Balance"
Cause: Subscriber doesn't have enough prepaid balance
Solution:
- Add balance to subscriber account
- Or choose different payment method (cash, bank)
- Or reduce discount
"Insufficient Salesperson Balance"
Cause: Salesperson/reseller doesn't have enough balance for postpaid activation
Solution:
- Admin adds balance to salesperson
- Or salesperson pays for package first
- Or use prepaid package instead
"Insufficient Accounting Balance"
Cause: Staff member exceeded their balance limit
Solution:
- Admin increases staff balance limit
- Or staff waits for limit reset
- Or admin activates instead
"Too Frequent Activation! Please Wait 2 Minutes"
Cause: Trying to activate same subscriber twice within 2 minutes
Solution:
- Wait 2 minutes
- Check if first activation succeeded
- Avoid double-clicking activation button
"Salesperson Package Not Found"
Cause: Package not assigned to salesperson
Solution:
- Admin goes to Package → Allocation
- Assign package to salesperson
- Set package price for salesperson
- Try activation again
"Billing Type Prepaid & No Payment Found"
Cause: Prepaid package requires payment but payment not enabled
Solution:
- Enable payment toggle
- Select payment method
- Enter payment amount
- Complete activation
"You Can't Pay More/Less Than Invoice Fee"
Cause: Payment amount doesn't match invoice total
Solution:
- Check invoice total amount
- Enter exact same amount in payment
- System auto-fills correct amount
"Insufficient Profit Margin For Subscriber Discount"
Cause: Discount exceeds salesperson's profit on package
Solution:
- Reduce subscriber discount
- Or admin increases package price
- Or use package with higher profit margin
"Subscriber Profile Status Disabled or Terminated"
Cause: Subscriber account is disabled or terminated
Solution:
- Go to subscriber profile
- Change status to "Active"
- Try activation again
Best Practices
For Admins
- ✅ Set Clear Package Prices - Avoid confusion
- ✅ Assign Packages to Resellers - Before they need them
- ✅ Monitor Reseller Balances - Prevent activation failures
- ✅ Enable Document Verification - For better KYC
- ✅ Configure Grace Period - Give subscribers breathing room
- ✅ Set Reasonable Discounts - Within profit margins
For Resellers
- ✅ Maintain Sufficient Balance - For postpaid activations
- ✅ Verify Subscriber Details - Before activation
- ✅ Use Correct Payment Method - Match actual payment
- ✅ Add Payment Notes - For reference
- ✅ Check Expiration Dates - Ensure correct calculation
- ✅ Monitor Profit Margins - Before giving discounts
For Staff
- ✅ Check Balance Limit - Before activation
- ✅ Verify Subscriber Identity - Prevent fraud
- ✅ Collect Payment First - Then activate
- ✅ Double-Check Package - Ensure correct selection
- ✅ Add Clear Notes - For audit trail
Summary
Activation is a 10-step process:
- ✅ Validation
- ✅ Calculation
- ✅ Balance Check
- ✅ Invoice Creation
- ✅ Payment Processing
- ✅ Profit Distribution
- ✅ Radius Activation
- ✅ Subscriber Update
- ✅ Notifications
- ✅ Activity Logging
Key Requirements:
- Valid subscriber with active profile
- Package assigned to salesperson
- Sufficient balance (if needed)
- Correct payment amount (if prepaid)
- Document verified (if enabled)
Common Restrictions:
- Cannot activate disabled subscribers
- Cannot exceed balance limits
- Cannot give discount more than profit
- Cannot activate twice within 2 minutes
- Cannot pay more or less than invoice
Payment Methods:
- Cash, Bank, Mobile Money, Subscriber Balance, Online Gateway
The activation system is designed to be foolproof with multiple validation checks to prevent errors and ensure accurate billing!

