Getting Started

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.

4 min read
Published October 25, 2026
Last checked October 25, 2026
import
csv
migration
customers
panel

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.

Start free trial