New in Xtream AI 2.5.0.
You are moving from another panel, or a reseller brings you a list of customers. Creating them one by one would take days. Mass Import creates many clients (lines) at once from a file or a pasted list. Before it creates anything, it shows you which lines will be imported, which will not, and how much it costs. Then it runs in the background, even if you close the page.
To add a single client, see Create a Client.
Before you start
- Your group needs the Mass Import Clients permission. It is on by default for administrators and resellers. See Member Groups.
- A file with one client per line:
.csv,.txtor Excel.xlsx. Username and password are required. Expiration date, max connections and a note are optional. - Most exports from XUI, Xtream Codes, 1-Stream and WHMCS work as they are. Lines like
username:passwordand player links (get.php?username=...&password=...) also work. - An Excel
.xlsxfile is read as it is (first sheet). An old.xlsfile must be saved as.xlsxor CSV first. - Resellers need at least one package and enough credits or free slots.
A simple CSV looks like this:
username,password,exp_date,max_connections,notes
maria.lopez,Kp7rTq92,2026-12-31,1,Living room TV
john.smith,Wd4mZx18,2027-01-15,2,
Step 1: Upload the list
- In the menu, open Clients > Mass Import. You can also click Mass Import at the top of Clients > Overview.
- Drag your file to Drop your file here, click Choose file, or open Or paste the lines and paste the text. The file is read in your browser. Nothing is created yet. Fully empty rows are skipped.
- In Check the columns, check what the panel detected for each column: Username, Password, Expiration date, Max connections or Notes. To fix a column, change the list above it, or choose Ignore column.
- If your dates look like
03/10/2026, choose day / month / year or month / day / year. An empty date, or0000-00-00, means no expiration. - Click Continue to review.
What should my file look like? shows an example you can copy. Recent imports lists your previous imports.
Resellers can start up to 5 imports per day. The counter Imports today shows how many you used. Each list you send to review counts as one import.
Step 2: Review and settings
At the top you see In your file, Will be imported, Won't be imported (duplicates, expired lines or lines to fix) and the cost:
- Resellers with credits see Credits needed and, if the balance is not enough, how many are Missing. How is this calculated? shows the details.
- Resellers with slots see Active-user slots needed. Expired lines do not use a slot.
- Administrators import for free, unless they charge a reseller (see Owner).
On the left, Settings for all lines applies to every line:
- Owner: who owns the clients. A reseller picks themselves or one of their sub-resellers. An administrator can Search a reseller. The panel then asks Charge … for this import?: choose Yes, charge them (the reseller pays as if they sold the lines) or No, it is free. You must answer before you can import.
- Package: resellers must choose one of their packages. It is optional for administrators.
- Bouquets: resellers only see the bouquets of the chosen package.
- Categories to hide: uncheck the categories these clients should not see.
- Expiration: Keep the date from the file (best when you migrate: nobody loses days), Package duration from today, or Same date for everyone. For lines that already expired, choose Skip them (default), Import them as expired (free, you can renew them later) or Renew them with the package (charged).
- Max connections: from the package, from the file, or a fixed number (administrators only).
- Usernames that already exist: Skip them, or Update them to replace the password, bouquets and expiration with the ones in the file. A reseller can only update their own clients and the clients of their sub-resellers.
- Note on each client: an optional note for all lines.
On the right is the list of lines, with the filters All, Ready, Duplicates, Expired and Needs fix, a search box, Show duplicates in All and Show passwords. If some lines need a fix, a box above the list explains why, grouped by reason. Click Fix or Edit on a line to change the username, the password (Generate creates one), the expiration or the note, or to leave the line out.
How the cost is calculated
When a reseller pays, each line costs the package price for each package period between today and its expiration date, rounded up. Example: with a 1 month package at 1 credit, a line that expires in 2 months and 10 days costs 3 credits. When you update an existing client, only the added time is charged.
If the balance is not enough, Check only what I can afford keeps only the lines you can pay for, in the order of the file.
Step 3: Import
- Click Import. If the button is disabled, it tells you why.
- In Start the import?, check the package, bouquets and expiration, check I checked the package, bouquets and expiration. and click Start import.
- The progress bar shows the counters Created, Updated, Failed and Credits spent (or Slots used), with a log for each line. You can Pause and Resume, or Stop here (what was imported stays).
You can close the page. The import keeps running on the server. To see it again, open Clients > Mass Import and click it in Recent imports.
What happens next
- See imported clients lists the clients created by this import.
- Download report downloads a CSV with every line and what happened to it.
- If you stopped the import, Import the remaining imports the lines that were left.
- Administrators only: Undo this import deletes the clients it created, restores the clients it updated and returns what was charged. It is available for 24 hours. It also removes any change made by hand to those clients after the import.
Resellers cannot undo an import. Check the summary well before you click Start import.
Common problems
- "Paused: out of credits" or "Paused: no free slots": the balance or the slots ran out during the import. What was imported stays. Add credits or free some slots and click Resume.
- "Paused: server busy": another import was writing at the same time. Click Resume after a few seconds. Nothing is lost.
- "Interrupted": the process stopped, for example after a server restart. Click Resume. It continues where it stopped, with no duplicate clients or charges.
- "The passwords in your file will not be kept." (reseller): your group does not have Reseller can modify user pass, so each client gets a new password. Ask your administrator to turn it on before you import.
- Passwords shorter than the minimum (reseller): the import cannot start. Fix the passwords in the file, or ask your administrator to lower Minimum client password length in Settings > Resellers.
- "Daily import limit reached" (reseller): you used your 5 imports of the day. The message says when the next one is available.
- Many lines in Needs fix: empty username or password, characters that players do not support (
% & ? # / \ +), a date the panel does not understand, or the same username twice in the file. - "Username in use by another account": that username belongs to another account of the panel. Rename it with Fix to import it as a new client.