# Import clients from a file > Bring your client list in from a CSV file, how the columns are matched, what happens to duplicates and bad rows, and what to expect afterwards. Source: https://support.billingmart.com/clients/import-clients Updated: 2026-10-17 · Applies to: Web · Section: Clients You can bring your clients in from a spreadsheet instead of typing them one by one. Save the sheet as a CSV file, upload it under **Import**, check how its columns match, read what the import would do, and then run it. Nothing is written until you press the import button, and nothing is sent to anyone. Owners, admins and staff can import. ## Get the file ready - Use a CSV file. Excel and Google Sheets can save one. - The file can be up to 5 MB and 5,000 rows, with a header row on top. - Each row is one client. A client needs some name: a name, a first or last name, or a company. - A phone number that starts with + names its own country. For the rest you choose a country in step 3 below. - Use a two-letter country code, like US, if you include an address. An address also needs a first line. ## Import the file 1. Open **Import** in the menu. Under "What is in the file?", choose **Clients**. 2. Choose the file and select **Read the file**. 3. On **Match the columns**, check what each column of your file is. A plain CSV is guessed from its headings. A file that looks like a QuickBooks or FreshBooks client export has its columns matched for you. Check them anyway. Choose **Skip this column** for anything you do not need, and use each field once. 4. If you matched a phone column, choose which country numbers without a country code are from. 5. Select **Check the file**. This is the dry run. Nothing has been written. 6. Read the result, then select **Import** followed by the number of clients to add. **Suggest with AI** on the matching step proposes the columns for you. It sees only your headings and the shape of a few values, such as letters and digits, never the values themselves. You still confirm every column, and matching by hand always works. It also uses AI credits, so it can be refused when none are left. ## Read the dry run | Count | What it means | | --- | --- | | **Will be added** | New clients this file would create. | | **Already here** | A client in your workspace already holds this row's email or phone, or this same file was imported before. The row is skipped and the existing client is left unchanged. | | **Repeats in the file** | A row that repeats an earlier row. Rows with the same email repeat each other. Without an email, the same name and company repeat each other. The later row is skipped. | | **Cannot be imported** | Rows with a problem, listed with the line number and a reason. | **Worth a look** lists things that were adjusted without stopping a row. An email or phone that cannot be read is left out, and the client is still added. An address with no street or no two-letter country is left out. Problems you may see include a row with no name, a name that is too long, a row with a different number of values than the header, and a quoted value followed by more text. Fix the file, or select **Change the mapping**. ## Duplicates The import never merges and never changes a client you already have. It matches only on email and phone. A client with neither cannot be matched, so importing a different file can add a second copy of them. Use a merge afterwards if that happens. See [Add and manage clients](https://support.billingmart.com/clients/manage-clients.md). Running the same file again adds nothing twice. If the page is closed part way, open the import from **Recent imports** and select **Continue**. ## After the import The page reports how many were added, how many were already there, and how many could not be imported. Contacts usually arrive unverified. An address already confirmed on BillingMart shows verified within moments. See [Verified contacts and why a send is blocked](https://support.billingmart.com/clients/verified-contacts.md). The file is read on our servers and removed once the import finishes. An import you never ran is removed after seven days without activity.