Skip to content

Add Package

Overview

Add Package is the most critical configuration in Zal Ultra ISP CRM. Packages define complete service plans including speed, data limits, pricing, duration, quotas, policies, and automation. Every subscriber must be assigned to a package - it controls their entire service experience, billing, and Radius authentication.

WHAT IS A PACKAGE?

A Package is a complete internet service plan that includes:

  • Basic Info - Name, description, service type
  • Billing - Prepaid/Postpaid, duration, pricing structure
  • Bandwidth - Speed limits (display reference)
  • Quotas - Data and session limits with FUP
  • Policies - Radius policies for actual speed control
  • Automation - Auto-renewal, auto-invoice generation
  • Expiration - Fixed expiry day/time, custom expiry logic
  • Actions - Behavior when expired/disabled
  • Reseller - Can resellers offer this package?
  • Captive Portal - Enable/disable captive portal

Packages are the foundation of your ISP business - configure carefully!


📋 Table of Contents

  1. Why Packages Are Critical
  2. Package Components Overview
  3. Step-by-Step Guide
  4. All Fields Explained
  5. Best Practices
  6. Common Package Examples
  7. Troubleshooting

Why Packages Are Critical

The Foundation of Your ISP

Packages Control Everything:

Service Delivery

  • Subscriber internet speed (via policies)
  • Data and session quotas
  • FUP (Fair Usage Policy) enforcement
  • Connection behavior (PPPoE/Hotspot)

Billing & Revenue

  • Package pricing for each reseller level
  • Prepaid vs Postpaid billing
  • Auto-invoice generation
  • Profit margins (Admin → Reseller → Sub-reseller → Retailer)

Automation

  • Auto-renewal on expiration
  • Auto-invoice generation on specific day
  • Automatic policy changes when expired/disabled
  • Quota reset on renewal

Reseller Management

  • Which packages resellers can offer
  • Pricing hierarchy (Admin < Reseller < Sub-reseller < Retailer)
  • Profit distribution across levels

One Mistake Can Cause

Incorrect billing - Wrong pricing or duration ❌ Wrong speeds - Incorrect policy assignment ❌ Broken auto-renewal - Misconfigured automation ❌ Reseller profit issues - Wrong pricing hierarchy ❌ Quota errors - Incorrect FUP or quota settings ❌ Service disruption - Wrong expiration behavior

That's why this documentation is comprehensive - read carefully!


Package Components Overview

1. Basic Information (4 fields)

  • Name - Unique package identifier (required, max 36 chars)
  • Description - Internal notes (required)
  • Invoice Description - Shown on invoices (optional)
  • Service Type - Category (Broadband, Corporate, etc.)

2. Status Toggles (7 toggles)

  • Status - Enable/Disable package
  • Reseller Status - Can resellers offer this?
  • Expiration Status - Does package expire?
  • Invoice Status - Generate invoices?
  • Auto Invoice Generate - Auto-generate on specific day?
  • Auto Renew - Auto-renew on expiration?
  • Allow Captive Portal - Enable captive portal?

3. Billing Configuration (3 fields)

  • Billing Type - Prepaid (1) or Postpaid (2)
  • Duration - Package validity period (number)
  • Duration Type - Days (1), Months (2), Years (3)

4. Bandwidth (2 fields)

  • Bandwidth - Speed value (e.g., 10)
  • Bandwidth Type - Kbps (1), Mbps (2), Gbps (3)
  • Note: Display only - actual speed controlled by Policy

5. Data Quota & FUP (3 fields)

  • Data Quota Volume - Total data in MB (e.g., 102400 = 100 GB)
  • Data Quota Over Type - Disconnect (1), FUP (2), Nothing (0)
  • Data FUP Bandwidth Limit - Speed after quota (Kbps)

6. Session Quota & FUP (3 fields)

  • Session Quota Time - Total time in minutes
  • Session Quota Over Type - Disconnect (1), FUP (2), Nothing (0)
  • Session FUP Bandwidth Limit - Speed after quota (Kbps)

7. Groups & Policies (3 fields)

  • Policy Group - Radius policy (controls actual speed)
  • Allocation Group - Bandwidth allocation rules
  • Extra Fee Group - Additional charges

8. Expiration Settings (7 fields)

  • Fixed Expiry Day Status - Expire on specific day?
  • Fixed Expiry Day - Day of month (1-31)
  • Fixed Expiry Day Accounting Status - Pro-rate charges?
  • Fixed Expiry Day Accounting Type - Pro-rated (1) or Full (2)
  • Fixed Expiry Time Status - Expire at specific time?
  • Fixed Expiry Time - Time (HH:MM:SS)
  • Custom Expiry Type - Standard (1), Custom (2), Never (3)

9. Action Settings (4 fields)

  • Next Expired Action Type - Disconnect (1), Change Policy (2), Nothing (0)
  • Next Expired Policy - Policy when expired
  • Next Disable Action Type - Disconnect (1), Change Policy (2), Nothing (0)
  • Next Disable Policy - Policy when disabled

10. Auto Invoice (1 field)

  • Auto Invoice Date - Day of month (1-31) to generate invoice

Total: 40+ Configuration Fields


Step-by-Step Guide

Step 1: Access Add Package

Navigate to Packages:

  1. Go to Packages menu
  2. Click "Add Package" button
  3. Package creation form opens

Permission Required:

  • ✅ Admin can create packages
  • ✅ Staff can create packages (if permission granted)
  • ❌ Resellers CANNOT create packages (only assigned by Admin)

Step 2: Fill Basic Information

1. Package Name (Required)

Rules:

  • Must be unique within ISP/Branch
  • Maximum 36 characters
  • Use clear, descriptive names

Good Examples:

✅ "10 Mbps Home - Monthly"
✅ "Corporate 50 Mbps Unlimited"
✅ "Fiber 100 Mbps - 30 Days"

Bad Examples:

❌ "Package1" (not descriptive)
❌ "Test" (not professional)
❌ "ABC" (unclear)

2. Description (Required)

Purpose: Internal notes for admin/staff reference

Example:

"Standard residential broadband package for home users.
Includes 100GB data quota with 2 Mbps FUP speed.
Auto-renews monthly. Suitable for 2-4 users."

3. Invoice Description (Optional)

Purpose: Appears on subscriber invoices

Example:

"10 Mbps Home Broadband - Monthly Subscription"

Best Practice: Keep it professional and customer-friendly

4. Service Type (Required)

Options:

  • Broadband
  • Corporate
  • Home
  • Business
  • Fiber
  • Wireless
  • Other

Use: For categorization and reporting


Step 3: Configure Status Toggles

1. Status (Toggle)

  • ON = Package active, can be assigned to subscribers
  • OFF = Package disabled, cannot assign to new subscribers

Use Case:

Disable old packages without deleting them
Existing subscribers keep the package

2. Reseller Status (Toggle)

  • ON = Resellers can offer this package (if assigned in Package Accounting)
  • OFF = Only Admin/Staff can assign

Important:

Even if ON, resellers must have package in Package Accounting
This toggle + Package Accounting = Reseller can offer

3. Expiration Status (Toggle)

  • ON = Package has expiration date (based on duration)
  • OFF = Package never expires (lifetime)

Use Cases:

ON: Monthly/Yearly packages
OFF: Lifetime corporate packages

4. Invoice Status (Toggle)

  • ON = Generate invoices for this package
  • OFF = No invoices (free package or manual billing)

5. Auto Invoice Generate Status (Toggle)

  • ON = Auto-generate invoice on specific day of month
  • OFF = Manual invoice generation

Requires: Auto Invoice Date (1-31)

Use Case:

Postpaid packages: Auto-generate on 1st of every month
Prepaid packages: Usually OFF (invoice on activation)

6. Auto Renew Status (Toggle)

  • ON = Auto-renew package when it expires
  • OFF = Package expires and stops

Requirements for Auto-Renewal:

✅ Expiration Status = ON
✅ Prepaid: Subscriber has sufficient balance
✅ Postpaid: Invoice generated successfully

7. Allow Captive Portal (Toggle)

  • ON = Enable captive portal for this package
  • OFF = No captive portal

Use Cases:

ON: Hotspot packages (require login page)
OFF: Home packages (auto-connect)

Step 4: Set Billing Configuration

1. Billing Type (Required)

Prepaid (1):

  • Subscriber pays BEFORE service
  • Requires balance in account
  • Service stops if balance insufficient
  • Use for: Residential, new customers, pay-as-you-go

Postpaid (2):

  • Subscriber pays AFTER service
  • Invoice generated at end of period
  • Service continues even if unpaid (until manually disabled)
  • Use for: Corporate, trusted customers, contracts

2. Duration (Required)

Value: Number (e.g., 1, 7, 30, 90, 365)

Examples:

30 = 30 units (days/months/years)
1 = 1 unit
7 = 7 units

3. Duration Type (Required)

Options:

  • 1 = Days
  • 2 = Months
  • 3 = Years

Examples:

Duration: 30, Type: Days = 30-day package
Duration: 1, Type: Months = 1-month package
Duration: 1, Type: Years = 1-year package
Duration: 7, Type: Days = Weekly package

Important:

Months = Calendar months (not 30-day periods)
Example: Activated Jan 31 → Expires Feb 28/29

Step 5: Configure Bandwidth (Display Only)

1. Bandwidth (Optional)

Value: Speed number (e.g., 10, 50, 100)

2. Bandwidth Type (Optional)

Options:

  • 1 = Kbps
  • 2 = Mbps
  • 3 = Gbps

Examples:

Bandwidth: 10, Type: Mbps = "10 Mbps package"
Bandwidth: 512, Type: Kbps = "512 Kbps package"
Bandwidth: 1, Type: Gbps = "1 Gbps package"

⚠️ CRITICAL:

This is DISPLAY ONLY - for reference/marketing
Actual speed control is done via:
  - Policy Group (Radius policies)
  - Allocation Group (bandwidth allocation)

You MUST configure Policy to control actual speed!

Step 6: Set Data Quota & FUP

1. Data Quota Volume (Optional)

Value: Total data allowance in MB

Conversion:

1 GB = 1024 MB
10 GB = 10240 MB
50 GB = 51200 MB
100 GB = 102400 MB
500 GB = 512000 MB
1 TB = 1048576 MB
Unlimited = Leave empty or 0

2. Data Quota Over Type (Optional)

What happens when data quota exceeded:

Disconnect (1):

  • Subscriber disconnected immediately
  • Cannot reconnect until quota reset or renewal

FUP Speed (2):

  • Subscriber continues at reduced speed
  • Speed = Data FUP Bandwidth Limit

Do Nothing (0 or empty):

  • Subscriber continues at full speed
  • Quota tracked but not enforced

3. Data FUP Bandwidth Limit (Optional)

Value: Speed after quota exceeded (in Kbps)

Only applies if: Data Quota Over Type = 2 (FUP)

Examples:

1024 Kbps = 1 Mbps FUP speed
2048 Kbps = 2 Mbps FUP speed
512 Kbps = 512 Kbps FUP speed

Complete Example:

Data Quota: 102400 MB (100 GB)
Over Type: 2 (FUP)
FUP Bandwidth: 2048 Kbps (2 Mbps)

Result: After 100 GB used, speed drops to 2 Mbps

Step 7: Set Session Quota & FUP

1. Session Quota Time (Optional)

Value: Total session time in minutes

Conversion:

1 hour = 60 minutes
1 day = 1440 minutes
7 days = 10080 minutes
30 days = 43200 minutes
Unlimited = Leave empty or 0

2. Session Quota Over Type (Optional)

What happens when session quota exceeded:

Disconnect (1):

  • Subscriber disconnected immediately
  • Cannot reconnect until quota reset

FUP Speed (2):

  • Subscriber continues at reduced speed
  • Speed = Session FUP Bandwidth Limit

Do Nothing (0 or empty):

  • Subscriber continues at full speed
  • Quota tracked but not enforced

3. Session FUP Bandwidth Limit (Optional)

Value: Speed after session quota exceeded (in Kbps)

Only applies if: Session Quota Over Type = 2 (FUP)

Complete Example:

Session Quota: 43200 minutes (30 days)
Over Type: 2 (FUP)
FUP Bandwidth: 1024 Kbps (1 Mbps)

Result: After 30 days online time, speed drops to 1 Mbps

Use Cases:

Cafes/Hotspots: 120 minutes per day
Residential: Unlimited (leave empty)
Shared connections: 480 minutes (8 hours) per day

Step 8: Assign Groups

What It Is:

  • Radius policy for traffic control
  • Controls actual bandwidth, QoS, traffic shaping
  • Must be created in Policy section first

What Policies Do:

✅ Set upload/download speed limits (ACTUAL SPEED)
✅ Configure burst rates
✅ Set priority for different traffic
✅ Block/Allow specific ports
✅ Configure QoS rules

Example:

Policy: "10Mbps-Home"
  - Download: 10 Mbps
  - Upload: 2 Mbps
  - Burst: 15 Mbps for 10 seconds

⚠️ CRITICAL:

Policy Group controls ACTUAL speed
Bandwidth field is just for display
Always assign a Policy Group for speed control!

2. Allocation Group (Optional)

What It Is:

  • Bandwidth allocation rules
  • Shared bandwidth pools
  • Must be created in Allocation section first

What Allocations Do:

✅ Share bandwidth among subscribers
✅ Set minimum guaranteed bandwidth
✅ Set maximum burst bandwidth
✅ Configure bandwidth pools

Example:

Allocation: "Residential-Pool"
  - Total Pool: 100 Mbps
  - Min Per User: 1 Mbps
  - Max Per User: 10 Mbps

3. Extra Fee Group (Optional)

What It Is:

  • Additional charges for package
  • Installation, equipment rental, taxes
  • Must be created in Tax/Extra Fee section first

What Extra Fees Do:

✅ Add installation charges (one-time)
✅ Add equipment rental (recurring)
✅ Add taxes (percentage or flat)
✅ Add other charges

Example:

Extra Fee: "Installation-Package"
  - Installation: 500 BDT (one-time)
  - Router Rental: 100 BDT (monthly)
  - VAT: 15% (monthly)

Step 9: Configure Expiration Settings

1. Fixed Expiry Day Status (Toggle)

  • ON = Package expires on specific day of month
  • OFF = Package expires after duration from activation

2. Fixed Expiry Day (1-31)

Day of month to expire

Only applies if: Fixed Expiry Day Status = ON

Examples:

Fixed Expiry Day: 1
Activated: Jan 15 → Expires: Feb 1

Fixed Expiry Day: 15
Activated: Jan 5 → Expires: Jan 15 (same month)
Activated: Jan 20 → Expires: Feb 15 (next month)

3. Fixed Expiry Day Accounting Status (Toggle)

  • ON = Calculate pro-rated charges for partial month
  • OFF = Charge full month regardless of activation date

4. Fixed Expiry Day Accounting Type

Pro-rated (1):

  • Charge based on days used
  • Example: Activated on 15th (50% of month) = Charge 50%

Full Month (2):

  • Charge full monthly fee regardless
  • Example: Activated on 29th = Still charge 100%

5. Fixed Expiry Time Status (Toggle)

  • ON = Package expires at specific time
  • OFF = Package expires at end of day (23:59:59)

6. Fixed Expiry Time (HH:MM:SS)

Time of day to expire

Examples:

23:59:59 = Expire at end of day
12:00:00 = Expire at noon
00:00:00 = Expire at midnight

7. Custom Expiry Type

Options:

  • 1 = Standard expiry (use duration)
  • 2 = Custom expiry logic
  • 3 = Never expire (lifetime)

Use Cases:

Fixed Expiry Day: Monthly billing on 1st of month
Fixed Expiry Time: Expire at midnight
Custom Expiry: Special corporate contracts

Step 10: Set Action Settings

1. Next Expired Action Type

What happens when package expires:

Disconnect (1):

  • Disconnect subscriber from Radius
  • Subscriber cannot connect
  • Use: Force renewal

Change Policy (2):

  • Keep subscriber connected
  • Apply different Radius policy
  • Use Next Expired Policy
  • Use: Grace period with limited speed

Do Nothing (0):

  • Subscriber continues with same policy
  • No automatic action
  • Use: Manual handling

2. Next Expired Policy (Optional)

Radius policy to apply when expired

Only applies if: Next Expired Action Type = 2

Example:

Next Expired Action: 2 (Change Policy)
Next Expired Policy: "Expired-1Mbps"

Result: When expired, subscriber continues at 1 Mbps

3. Next Disable Action Type

What happens when subscriber manually disabled:

Disconnect (1):

  • Disconnect from Radius
  • Use: Non-payment, suspension

Change Policy (2):

  • Apply different policy
  • Use Next Disable Policy
  • Use: Show payment page

Do Nothing (0):

  • No automatic action

4. Next Disable Policy (Optional)

Radius policy to apply when disabled

Only applies if: Next Disable Action Type = 2

Use Cases:

Expired: Disconnect (force renewal)
Expired: 1 Mbps policy (grace period)
Disabled: Disconnect (non-payment)
Disabled: Blocked policy (redirect to payment page)

Step 11: Set Auto Invoice Date

Auto Invoice Date (1-31)

Day of month to auto-generate invoice

Only applies if: Auto Invoice Generate Status = ON

Range: 1-31

Examples:

1 = Generate invoice on 1st of every month
15 = Generate invoice on 15th of every month
28 = Generate invoice on 28th of every month

Use Case:

Postpaid packages with monthly billing cycle
Generate invoice on 1st, payment due by 10th

Step 12: Save Package

Final Checklist:

✅ Package name is unique and descriptive
✅ Billing type is correct (Prepaid/Postpaid)
✅ Duration and duration type are set
✅ Policy Group assigned (for actual speed control)
✅ Quotas and FUP configured correctly
✅ Expiration settings match business model
✅ Action settings configured (expired/disabled behavior)
✅ Auto-renewal settings correct
✅ Reseller status set appropriately

Click: "Save" or "Submit" button

Success:

Successfully Added.
Package created and ready to assign

Next Steps:

  1. Assign package to resellers (Package Accounting)
  2. Set pricing for each reseller level
  3. Test package with test subscriber
  4. Verify Radius policies working
  5. Check quota tracking
  6. Test auto-renewal (if enabled)

All Fields Explained

Basic Information

1. Name (Required, Max 36 chars)

  • Unique package identifier
  • Must be unique within ISP/Branch
  • Use descriptive names with speed and duration
  • Example: "10 Mbps Home - Monthly"

2. Description (Required)

  • Internal notes for admin/staff
  • Not shown to subscribers
  • Include all important details
  • Example: "Standard residential package with 100GB quota and 2 Mbps FUP"

3. Invoice Description (Optional)

  • Shown on subscriber invoices
  • Professional, customer-friendly
  • Example: "10 Mbps Broadband - Monthly Subscription"

4. Service Type (Required)

  • Category: Broadband, Corporate, Home, Business, Fiber, Wireless
  • For reporting and categorization

Status Toggles

5. Status (Toggle, Default: OFF)

  • ON: Package active, can assign
  • OFF: Package disabled, cannot assign to new subscribers
  • Existing subscribers unaffected

6. Reseller Status (Toggle, Default: OFF)

  • ON: Resellers can offer (if in Package Accounting)
  • OFF: Only Admin/Staff can assign
  • Requires Package Accounting assignment

7. Expiration Status (Toggle, Default: OFF)

  • ON: Package expires after duration
  • OFF: Lifetime package (never expires)

8. Invoice Status (Toggle, Default: OFF)

  • ON: Generate invoices
  • OFF: No invoices (free or manual billing)

9. Auto Invoice Generate Status (Toggle, Default: OFF)

  • ON: Auto-generate invoice on specific day
  • OFF: Manual invoice generation
  • Requires Auto Invoice Date

10. Auto Renew Status (Toggle, Default: OFF)

  • ON: Auto-renew on expiration
  • OFF: Package expires and stops
  • Requires: Expiration Status = ON, sufficient balance/invoice

11. Allow Captive Portal (Toggle, Default: OFF)

  • ON: Enable captive portal
  • OFF: No captive portal

Billing Configuration

12. Billing Type (Required)

  • 1 (Prepaid): Pay before service, requires balance
  • 2 (Postpaid): Pay after service, invoice generated

13. Duration (Required)

  • Package validity period (number)
  • Example: 30, 1, 7, 365

14. Duration Type (Required)

  • 1: Days
  • 2: Months (calendar months)
  • 3: Years

Bandwidth (Display Only)

15. Bandwidth (Optional)

  • Speed value for display
  • Example: 10, 50, 100

16. Bandwidth Type (Optional)

  • 1: Kbps
  • 2: Mbps
  • 3: Gbps
  • Note: Display only, actual speed via Policy

Data Quota & FUP

17. Data Quota Volume (Optional)

  • Total data in MB
  • Example: 102400 MB = 100 GB
  • Empty/0 = Unlimited

18. Data Quota Over Type (Optional)

  • 0: Do nothing (track only)
  • 1: Disconnect
  • 2: FUP (reduce speed)

19. Data FUP Bandwidth Limit (Optional)

  • Speed after quota (Kbps)
  • Only if Data Quota Over Type = 2
  • Example: 2048 Kbps = 2 Mbps

Session Quota & FUP

20. Session Quota Time (Optional)

  • Total session time in minutes
  • Example: 43200 minutes = 30 days
  • Empty/0 = Unlimited

21. Session Quota Over Type (Optional)

  • 0: Do nothing (track only)
  • 1: Disconnect
  • 2: FUP (reduce speed)

22. Session FUP Bandwidth Limit (Optional)

  • Speed after session quota (Kbps)
  • Only if Session Quota Over Type = 2
  • Example: 1024 Kbps = 1 Mbps

Groups & Policies

23. Policy Group (Optional but Recommended)

  • Radius policy for actual speed control
  • Must be created in Policy section first
  • Critical: Controls actual bandwidth

24. Allocation Group (Optional)

  • Bandwidth allocation rules
  • Shared bandwidth pools
  • Must be created in Allocation section first

25. Extra Fee Group (Optional)

  • Additional charges (installation, rental, taxes)
  • Must be created in Tax/Extra Fee section first

Expiration Settings

26. Fixed Expiry Day Status (Toggle, Default: OFF)

  • ON: Expire on specific day of month
  • OFF: Expire after duration from activation

27. Fixed Expiry Day (1-31)

  • Day of month to expire
  • Only if Fixed Expiry Day Status = ON

28. Fixed Expiry Day Accounting Status (Toggle, Default: OFF)

  • ON: Pro-rate charges for partial month
  • OFF: Charge full month

29. Fixed Expiry Day Accounting Type

  • 1: Pro-rated (charge based on days used)
  • 2: Full month (charge 100% regardless)

30. Fixed Expiry Time Status (Toggle, Default: OFF)

  • ON: Expire at specific time
  • OFF: Expire at end of day (23:59:59)

31. Fixed Expiry Time (HH:MM:SS)

  • Time of day to expire
  • Example: 23:59:59, 12:00:00

32. Custom Expiry Type

  • 1: Standard (use duration)
  • 2: Custom logic
  • 3: Never expire (lifetime)

Action Settings

33. Next Expired Action Type

  • 0: Do nothing
  • 1: Disconnect
  • 2: Change policy (use Next Expired Policy)

34. Next Expired Policy (Optional)

  • Policy to apply when expired
  • Only if Next Expired Action Type = 2

35. Next Disable Action Type

  • 0: Do nothing
  • 1: Disconnect
  • 2: Change policy (use Next Disable Policy)

36. Next Disable Policy (Optional)

  • Policy to apply when disabled
  • Only if Next Disable Action Type = 2

Auto Invoice

37. Auto Invoice Date (1-31)

  • Day of month to generate invoice
  • Only if Auto Invoice Generate Status = ON
  • Example: 1 = 1st of month

Best Practices

Before Creating Package

1. Plan Package Structure

✅ Define clear package tiers (Basic, Standard, Premium)
✅ Determine pricing strategy
✅ Plan quota and FUP policies
✅ Decide on billing type (Prepaid/Postpaid)

2. Create Prerequisites

✅ Create Radius Policies first (for speed control)
✅ Create Allocation Groups (if using shared bandwidth)
✅ Create Extra Fee Groups (if adding charges)
✅ Plan reseller pricing hierarchy

3. Understand Your Business Model

✅ Monthly vs Yearly packages?
✅ Fixed expiry day (all expire on 1st) or rolling (30 days from activation)?
✅ Auto-renewal or manual renewal?
✅ Grace period with limited speed or immediate disconnect?

During Package Creation

1. Naming Convention

✅ Use consistent naming: "[Speed] [Type] - [Duration]"
✅ Example: "10 Mbps Home - Monthly"
✅ Example: "Corporate 50 Mbps Unlimited"
✅ Avoid: "Package1", "Test", "ABC"

2. Critical Fields

✅ Always assign Policy Group (controls actual speed)
✅ Set correct Billing Type (Prepaid/Postpaid)
✅ Configure Duration and Duration Type correctly
✅ Set appropriate quotas and FUP
✅ Configure expiration behavior (disconnect or grace period)

3. Quota Configuration

✅ Data Quota: Use realistic values (10GB, 50GB, 100GB, Unlimited)
✅ FUP Speed: Set reasonable speed (1-2 Mbps for residential)
✅ Session Quota: Usually unlimited for home, limited for hotspots
✅ Test quota tracking before deploying

4. Automation Settings

✅ Auto-Renewal: Enable for monthly subscriptions
✅ Auto-Invoice: Enable for postpaid with specific day (usually 1st)
✅ Test auto-renewal with test subscriber first
✅ Verify balance requirements for prepaid auto-renewal

After Package Creation

1. Assign to Resellers

✅ Go to Package Accounting
✅ Assign package to each reseller level
✅ Set pricing hierarchy (Admin < Reseller < Sub-reseller < Retailer)
✅ Verify profit margins are correct

2. Test Package

✅ Create test subscriber with package
✅ Verify speed (via Policy Group)
✅ Test quota tracking
✅ Test FUP behavior
✅ Test auto-renewal (if enabled)
✅ Test expiration behavior

3. Monitor and Adjust

✅ Monitor subscriber feedback
✅ Check quota usage patterns
✅ Adjust FUP speeds if needed
✅ Review pricing periodically
✅ Update policies as needed

Common Mistakes to Avoid

❌ Mistake 1: Not Assigning Policy Group

Problem: Bandwidth field is just for display
Solution: Always assign Policy Group for actual speed control

❌ Mistake 2: Wrong Billing Type

Problem: Postpaid package for residential customers
Solution: Use Prepaid for residential, Postpaid for corporate

❌ Mistake 3: Incorrect Quota Conversion

Problem: Entering 100 instead of 102400 for 100 GB
Solution: 1 GB = 1024 MB, so 100 GB = 102400 MB

❌ Mistake 4: No Expiration Behavior

Problem: Package expires but no action configured
Solution: Set Next Expired Action (Disconnect or Change Policy)

❌ Mistake 5: Wrong Reseller Pricing

Problem: Reseller price lower than admin price
Solution: Admin < Reseller < Sub-reseller < Retailer

❌ Mistake 6: Auto-Renewal Without Balance

Problem: Prepaid auto-renewal fails due to insufficient balance
Solution: Educate subscribers to maintain balance

Common Package Examples

Example 1: Basic Home Package (Prepaid, Monthly)

Configuration:

Name: "10 Mbps Home - Monthly"
Description: "Standard residential package with 100GB quota"
Invoice Description: "10 Mbps Home Broadband - Monthly"
Service Type: Home

Status: ON
Reseller Status: ON
Expiration Status: ON
Invoice Status: ON
Auto Invoice Generate: OFF
Auto Renew: ON
Allow Captive Portal: OFF

Billing Type: Prepaid (1)
Duration: 1
Duration Type: Months (2)

Bandwidth: 10
Bandwidth Type: Mbps (2)

Policy Group: "10Mbps-Home" (actual speed control)
Allocation Group: (empty)
Extra Fee Group: "Standard-Fees"

Data Quota: 102400 MB (100 GB)
Data Quota Over Type: FUP (2)
Data FUP Bandwidth: 2048 Kbps (2 Mbps)

Session Quota: (empty - unlimited)
Session Quota Over Type: (empty)
Session FUP Bandwidth: (empty)

Fixed Expiry Day Status: OFF
Next Expired Action: Disconnect (1)
Next Disable Action: Disconnect (1)

Result:

  • Prepaid monthly package
  • 10 Mbps speed (via Policy)
  • 100 GB data quota
  • After 100 GB: Speed drops to 2 Mbps
  • Auto-renews if balance available
  • Disconnects when expired

Example 2: Corporate Package (Postpaid, Unlimited)

Configuration:

Name: "Corporate 50 Mbps Unlimited"
Description: "Corporate package with unlimited data"
Invoice Description: "50 Mbps Corporate Broadband"
Service Type: Corporate

Status: ON
Reseller Status: OFF (Admin only)
Expiration Status: ON
Invoice Status: ON
Auto Invoice Generate: ON
Auto Invoice Date: 1
Auto Renew: ON
Allow Captive Portal: OFF

Billing Type: Postpaid (2)
Duration: 1
Duration Type: Months (2)

Bandwidth: 50
Bandwidth Type: Mbps (2)

Policy Group: "50Mbps-Corporate"
Allocation Group: (empty)
Extra Fee Group: "Corporate-Fees"

Data Quota: (empty - unlimited)
Data Quota Over Type: (empty)
Data FUP Bandwidth: (empty)

Session Quota: (empty - unlimited)
Session Quota Over Type: (empty)
Session FUP Bandwidth: (empty)

Fixed Expiry Day Status: ON
Fixed Expiry Day: 1 (expire on 1st of month)
Fixed Expiry Day Accounting: ON
Fixed Expiry Day Accounting Type: Pro-rated (1)

Next Expired Action: Change Policy (2)
Next Expired Policy: "Expired-5Mbps" (grace period)
Next Disable Action: Disconnect (1)

Result:

  • Postpaid monthly package
  • 50 Mbps speed (via Policy)
  • Unlimited data and session
  • Auto-generates invoice on 1st of month
  • Pro-rated charges for partial month
  • Grace period with 5 Mbps when expired
  • Auto-renews when invoice paid

Example 3: Hotspot Package (Prepaid, Daily)

Configuration:

Name: "Hotspot 5 Mbps - Daily"
Description: "Daily hotspot package for cafes"
Invoice Description: "5 Mbps Hotspot - Daily Pass"
Service Type: Wireless

Status: ON
Reseller Status: ON
Expiration Status: ON
Invoice Status: ON
Auto Invoice Generate: OFF
Auto Renew: OFF (no auto-renewal for daily)
Allow Captive Portal: ON

Billing Type: Prepaid (1)
Duration: 1
Duration Type: Days (1)

Bandwidth: 5
Bandwidth Type: Mbps (2)

Policy Group: "5Mbps-Hotspot"
Allocation Group: "Hotspot-Pool"
Extra Fee Group: (empty)

Data Quota: 5120 MB (5 GB)
Data Quota Over Type: Disconnect (1)
Data FUP Bandwidth: (empty)

Session Quota: 480 minutes (8 hours)
Session Quota Over Type: Disconnect (1)
Session FUP Bandwidth: (empty)

Fixed Expiry Day Status: OFF
Fixed Expiry Time Status: ON
Fixed Expiry Time: 23:59:59

Next Expired Action: Disconnect (1)
Next Disable Action: Disconnect (1)

Result:

  • Prepaid daily package
  • 5 Mbps speed (via Policy)
  • 5 GB data quota (disconnect after)
  • 8 hours session time (disconnect after)
  • Expires at 23:59:59 same day
  • Captive portal enabled (login page)
  • No auto-renewal (buy new daily pass)

Example 4: Yearly Package (Prepaid, Fixed Expiry)

Configuration:

Name: "20 Mbps Home - Yearly"
Description: "Annual residential package"
Invoice Description: "20 Mbps Home Broadband - Annual"
Service Type: Home

Status: ON
Reseller Status: ON
Expiration Status: ON
Invoice Status: ON
Auto Invoice Generate: OFF
Auto Renew: OFF (manual renewal for yearly)
Allow Captive Portal: OFF

Billing Type: Prepaid (1)
Duration: 1
Duration Type: Years (3)

Bandwidth: 20
Bandwidth Type: Mbps (2)

Policy Group: "20Mbps-Home"
Allocation Group: (empty)
Extra Fee Group: "Installation-Package"

Data Quota: (empty - unlimited)
Data Quota Over Type: (empty)
Data FUP Bandwidth: (empty)

Session Quota: (empty - unlimited)
Session Quota Over Type: (empty)
Session FUP Bandwidth: (empty)

Fixed Expiry Day Status: ON
Fixed Expiry Day: 31 (expire on 31st Dec)
Fixed Expiry Day Accounting: ON
Fixed Expiry Day Accounting Type: Pro-rated (1)

Next Expired Action: Change Policy (2)
Next Expired Policy: "Expired-2Mbps"
Next Disable Action: Disconnect (1)

Result:

  • Prepaid yearly package
  • 20 Mbps speed (via Policy)
  • Unlimited data and session
  • All packages expire on Dec 31st
  • Pro-rated charges if activated mid-year
  • Grace period with 2 Mbps when expired
  • Manual renewal required

Troubleshooting

Issue 1: Subscriber Not Getting Correct Speed

Problem:

Package says 10 Mbps but subscriber getting different speed

Cause:

Bandwidth field is display only
Policy Group not assigned or wrong policy

Solution:

1. Check if Policy Group is assigned
2. Verify Policy Group has correct speed limits
3. Go to Policy section and check policy attributes
4. Assign correct Policy Group to package
5. Update package and apply to subscribers

Issue 2: Auto-Renewal Not Working

Problem:

Package not auto-renewing even though Auto Renew = ON

Causes & Solutions:

Cause 1: Expiration Status = OFF

Solution: Set Expiration Status = ON

Cause 2: Insufficient Balance (Prepaid)

Solution: Subscriber must have sufficient balance
Check subscriber balance before expiration

Cause 3: Invoice Not Generated (Postpaid)

Solution: Ensure Invoice Status = ON
Check if invoice was generated successfully

Cause 4: Package Expired Before Auto-Renewal Ran

Solution: Auto-renewal runs at specific time
Check system cron jobs are running

Issue 3: Quota Not Tracking

Problem:

Data quota set but not tracking usage

Causes & Solutions:

Cause 1: Quota Value Empty or 0

Solution: Set Data Quota Volume (in MB)
Example: 102400 for 100 GB

Cause 2: Radius Not Configured for Accounting

Solution: Check Radius accounting is enabled
Verify NAS is sending accounting packets

Cause 3: Quota Over Type Not Set

Solution: Set Data Quota Over Type (1 or 2)
1 = Disconnect, 2 = FUP

Issue 4: Wrong Pricing for Resellers

Problem:

Reseller price lower than admin price
Or profit margins incorrect

Solution:

1. Go to Package Accounting
2. Check pricing hierarchy:
   Admin Price < Reseller Price < Sub-reseller Price < Retailer Price
3. Update prices to maintain hierarchy
4. Verify profit margins:
   Reseller Profit = Reseller Price - Admin Price
   Sub-reseller Profit = Sub-reseller Price - Reseller Price

Issue 5: Package Not Available for Resellers

Problem:

Reseller cannot see package to assign

Causes & Solutions:

Cause 1: Reseller Status = OFF

Solution: Set Reseller Status = ON in package

Cause 2: Package Not in Package Accounting

Solution: Go to Package Accounting
Assign package to reseller with pricing

Cause 3: Package Status = OFF

Solution: Set Status = ON in package

Issue 6: FUP Not Working

Problem:

Quota exceeded but speed not reduced

Causes & Solutions:

Cause 1: Quota Over Type Not Set to FUP (2)

Solution: Set Data Quota Over Type = 2 (FUP)

Cause 2: FUP Bandwidth Limit Not Set

Solution: Set Data FUP Bandwidth Limit (in Kbps)
Example: 2048 for 2 Mbps

Cause 3: Radius Not Applying FUP Policy

Solution: Check Radius is configured for FUP
Verify Radius is receiving quota updates

Summary

Add Package is the foundation of your ISP business. Configure carefully!

✅ Key Takeaways:

  1. Policy Group controls actual speed - Bandwidth field is display only
  2. Billing Type matters - Prepaid for residential, Postpaid for corporate
  3. Quotas in MB - 1 GB = 1024 MB, 100 GB = 102400 MB
  4. Auto-Renewal requires - Expiration Status ON + Balance/Invoice
  5. Reseller access requires - Reseller Status ON + Package Accounting
  6. FUP provides grace - Reduce speed instead of disconnect
  7. Fixed Expiry Day - All packages expire on same day (e.g., 1st of month)
  8. Test before deploying - Create test subscriber and verify all features

✅ Configuration Checklist:

✅ Unique, descriptive name
✅ Correct billing type (Prepaid/Postpaid)
✅ Duration and duration type set
✅ Policy Group assigned (CRITICAL for speed)
✅ Quotas configured correctly (MB conversion)
✅ FUP settings if using quotas
✅ Expiration behavior configured
✅ Auto-renewal settings correct
✅ Reseller status and Package Accounting
✅ Test with test subscriber

✅ Next Steps After Creating Package:

  1. Assign to resellers in Package Accounting
  2. Set pricing hierarchy (Admin < Reseller < Sub-reseller < Retailer)
  3. Create test subscriber
  4. Verify speed via Policy Group
  5. Test quota tracking and FUP
  6. Test auto-renewal
  7. Monitor and adjust based on feedback

Perfect for ISPs wanting comprehensive, error-free package configuration! 🚀

www.onezeroart.com