Importing customers
If you’re moving to ISPMan from another system or from a router you managed by hand, you don’t have to type customers in one by one. Each service has an import that takes a CSV or Excel file, and the Assistant can build that file for you from a messy spreadsheet or straight from your router.
| Service | Where to import | File |
|---|---|---|
| PPPoE | Services → PPPoEs → Import | CSV or Excel (.xlsx), or pasted CSV |
| Static | Statics → Customers → Import | CSV or Excel (.xlsx), or pasted CSV, with a preview |
| Hotspot | Import CSV in the Hotspot section | CSV. See Hotspot. |
Import PPPoE customers
Section titled “Import PPPoE customers”- Go to Services → PPPoEs and click Import. The Import PPPoE Customers dialog opens.
- Upload your file under Upload customer file (CSV or Excel), or paste CSV text into Or paste CSV content. The first row must be the header. If you do both, the file wins.
- Optionally set values for rows that leave them out: Paid Until for All Customers, Device for All Customers and Package for All Customers.
- Click Submit. A message tells you how many customers were created, updated, skipped or failed.
Supported columns:
| Column | Notes |
|---|---|
name |
Customer name. |
username, password |
The PPPoE login, exactly as on the router. A blank password is generated. |
email, phone_number |
If the username is a valid phone number and there’s no phone, the username is used as the phone. |
account_number |
Your own reference. |
package_id or package_name |
The package. |
device_id |
The router. |
paid_until |
Expiry date, YYYY-MM-DD. |
assigned_ip_address |
A static IP. |
is_active |
true or false. |
negotiated_price |
A special price, or free for a free customer. |
is_free |
true or false. |
branch or branch_id |
When branches are on. |
Customers who already exist (same username, or same account number) are not recreated. Their Paid Until is updated from the row, and a missing name, phone or account number is filled in. Nothing else about them changes. If the row has no expiry date, they are skipped.
Example:
name,username,password,phone_number,package_name,paid_untilJohn Doe,jdoe,secret123,0712345678,Home 10Mbps,2026-12-31Import static customers
Section titled “Import static customers”See Static customers for the columns. The static import shows a Preview of every row before saving, and Download template CSV gives you a ready-made header row.
Start from what’s on the router
Section titled “Start from what’s on the router”If your static clients are already set up on a MikroTik:
- Set the router’s static network in Statics → Settings and click Save only (not Apply). See Network setup.
- Open the router in Devices and use Download Static Customers. You get a CSV of the static clients the router knows about (from its ARP table, DHCP leases and simple queues), one row per IP in the static network, in the static import layout.
- Fill in names, packages and expiry dates. The file includes each client’s current queue and speed to help you pick a package.
- Import it from Statics → Customers → Import.
Let the Assistant prepare the file
Section titled “Let the Assistant prepare the file”The Assistant (/dashboard/assistant) can prepare a PPPoE or hotspot import file for you.
This helps when your spreadsheet has its own column names, dates in odd formats, or package
names that don’t match yours, or when the customers are only on your MikroTik.
You can give it:
- A spreadsheet: attach your CSV or Excel file to the chat.
- A router: name the MikroTik. It reads the PPPoE secrets and profiles, or hotspot users, straight from the router.
- Both: the router’s customers, filled in from your spreadsheet. The router provides the username, password, package, IP, MAC and active state; the spreadsheet adds name, phone, account number, price and expiry, matched on username.
The Assistant then:
- Maps your columns to ISPMan’s fields and asks you about anything unclear.
- Matches package names ignoring case, spaces and punctuation (so “20 Mbps” matches “20MBPS”). Tell it if one of your names should point at a different ISPMan package. It can suggest packages to create when none match.
- Checks every row. Each is ready, an update (already a customer), or needs attention, with the reason (no username or MAC, a repeat, no package, no expiry date).
- Shows a preview and a download button.
Download the file and upload it in Services → PPPoEs → Import (PPPoE) or the hotspot Import CSV. The Assistant never imports anything itself, and passwords are only included in the downloaded file.
- Import a small test file of 5 to 10 customers first, then check them in ISPMan and on the router.
- Keep usernames and passwords exactly as they are on the router, or customers’ routers will stop logging in.
- Re-running an import with updated
paid_untildates is a safe way to fix expiry dates in bulk: existing customers only get their dates updated.