Bulk Upload
Import multiple subscribers at once using a CSV file.
When to Use Bulk Upload
Use bulk upload when migrating from another billing system or when you have a spreadsheet of subscribers to onboard at once. It is significantly faster than adding subscribers individually.
CSV Format
The CSV file must have a header row with these exact column names:
name,phone,email,username,password,plan_name,site_name,start_date,notes
| Column | Required | Example |
|---|---|---|
| name | Yes | John Mwangi |
| phone | Yes | +254712345678 |
| No | john@example.com | |
| username | PPPoE only | john.mwangi |
| password | PPPoE only | SecurePass123 |
| plan_name | Yes | 10 Mbps Monthly |
| site_name | Yes | Nairobi CBD |
| start_date | No | 2024-12-01 (leave blank for today) |
| notes | No | Building 5, Floor 2 |
Downloading the Template
Go to Customers → Bulk Upload and click Download Template. This gives you a pre-formatted CSV with the correct headers and example rows.
Uploading the File
- Prepare your CSV file with subscriber data.
- Go to Customers → Bulk Upload.
- Click Choose File and select your CSV.
- Click Preview. Qserve validates the data and shows a preview table with any errors highlighted.
- Fix any errors in your CSV, re-upload, and preview again.
- When the preview shows no errors, click Import.
Validation Rules
Qserve validates each row before importing:
- Phone numbers must be in E.164 format (
+254XXXXXXXXX) or local format (07XXXXXXXX). - The
plan_namemust exactly match an existing plan name (case-insensitive). - The
site_namemust exactly match an existing site name. - PPPoE usernames must be unique — duplicates are flagged as errors.
- Email addresses must be valid format if provided.
After Import
Subscribers imported with a plan are activated immediately. Their PPPoE credentials are pushed to the
MikroTik router. If you specified a future start_date, the account is created but not yet
activated on the router — activation happens automatically on the start date.
Maximum 1,000 rows per CSV file. For larger imports, split into multiple files and upload them in sequence.