How to import customers from a CSV file
Bring customers and their subscriptions over from a spreadsheet. See how panel line IDs are checked and how to link the lines that were not linked.
The CSV import adds your existing customers and their subscriptions to your store from a spreadsheet. It never creates, changes or extends a line on your panel. It only records the customers you already have.
The CSV Import tab is there when your store has the CSV Import module.
1Step 1 of 7Prepare your file
Go to Customers → Import customers and open the CSV Import tab. Under CSV Template & Column Reference, click Download Template (.csv) and fill in one row per subscription.
- name and status (ACTIVE, EXPIRED or SUSPENDED) are needed on every row. email is optional: a customer without one is added as a manual customer.
- An active subscription also needs product_name and expiry_date (YYYY-MM-DD).
- username (the line's login on your panel) is what lets us find the line on your panel. Fill it in wherever you have it.
- panel_user_id is optional: the line's ID on your panel. Leave it empty if the numbers come from your old system (1, 2, 3 …) and are not the line IDs your panel shows.
A row that is not active, has no product or has already expired imports the customer's profile only: no subscription and no invoice.
2Step 2 of 7Upload the file
Drop the file on the upload box or click Choose File. The preview shows how many rows were read and any errors to fix.
Customers with an email address are added to your customer list as soon as the file is read. They are not added twice when you import.
3Step 3 of 7Read the warnings
Read Before you import above the errors. It tells you, for example, how many rows have a panel line ID but no username, and how many rows will be a profile only. If your panel line IDs run 1, 2, 3 … almost without gaps, the preview warns that they look like row numbers from your old system. If that is the case, fix the column, or empty it and fill in usernames instead, then upload again.
4Step 4 of 7Map your products and choose the panel
Click Continue to Mapping. Pick the shop, and under Panel Integration (Optional) pick the panel your lines are on, or No panel. Under Map Products, choose one of your products for each product name in the file, or Skip to leave those rows out.
Leave Import as manual subscriptions ticked if you collect payment yourself. Auto-renew is then off for the imported subscriptions.
5Step 5 of 7Run the import
Click Review & Import, check the summary, then click Start Import.
6Step 6 of 7Check the results
When a row has a panel line ID and you chose a panel, the line is checked on that panel before it is linked. It is linked only when your panel shows exactly one line with the row's username, and no other subscription is linked to that line. Then the panel's own line ID is used, even when your file said another number. Panel line check shows what happened to those rows:
- linked: renewals will extend that line.
- not found on panel: no line with that username is on your panel.
- ambiguous: more than one line has that username, or two rows of your file point to the same line.
- no username – not linked: the row had a line ID but no username, so it could not be checked.
- not checked: the panel could not be asked in time, or it cannot look lines up.
Rows that were not linked are still imported, without a panel link.
How the check works depends on the panel. A panel with an API that lists your lines (XUI with an API key) checks every row in one read. NXT and V12 / MaxOTT panels are asked one line at a time, for as long as the import allows. A panel we sign in to through the browser is checked for up to 20 lines per import. Other panel types are not checked.
7Step 7 of 7Link the lines that were not linked
Every subscription that was not linked is listed under Subscriptions → Needs manual set-up. To link one, find the customer under Customers → All customers and click the subscription. Open the Panel Sync tab, enter the line's Panel line ID as your panel shows it in its line list, and click Save. Renewals then extend that line.
Ready to try it yourself?
Spin up your own IPTVbp store and connect a panel. It's free until you have 25 paying customers, no card needed.
Related Articles
How to manage customers and their subscriptions
Find a customer, add a subscription, extend it, resend the login, fix the end date or cancel it, all from the customer's page in your portal.
How to fix orders that are stuck on the panel
A customer paid but has no working line yet? See where waiting and failed orders are listed, why they failed, and how to retry them in a few clicks.
How renewals work without auto-renew (and how to renew by hand)
Customers get reminder emails with a Renew link and their line extends when they pay. You can also extend any customer yourself.