Importing customers is the fastest way to add or update customers in DecoNetwork. To import customers, you need to have all your customer information in a CSV file, which can be edited as a spreadsheet. You can create the CSV file by downloading the sample CSV file or you can export your existing data. Click here for instructions on how to export customers.
When you import, the column headers in the CSV file will be matched with the corresponding customer fields in DecoNetwork and the customer information will be added or updated accordingly. You can also import data for custom fields. Before importing, you must first add custom fields in your Fulfillment Center Admin. Click here for instructions on how to add custom customer fields.
In This Article
- Prerequisites
- Why use this feature?
- Create the Customers CSV File
- Import Customers
- Import Data for Custom Fields
- Best Practice Tips
- Troubleshooting
- FAQs
- Additional Resources
Prerequisites
- You must have Administrator and/or Sales Manager permission to use this feature.
Why use this feature?
Importing customers lets you add or update many customer records in a single pass instead of creating them one at a time in Business Hub. It is the fastest way to bring customers in from another system, refresh existing records in bulk, or link a large batch of customers to their Company records automatically.
- Add hundreds of customer records at once instead of one at a time
- Update existing customer details in bulk when a row's ID matches an existing record
- Attach customers to their Company records automatically, matched by company name
- Bring in data for any custom fields you have defined, alongside standard customer details
Create the Customers CSV File
- Log into your DecoNetwork website.
-
Browse to Business Hub > Customers.
The Customers menu item under Business Hub.
-
Click on Import Customer CSV.
The Import Customer CSV menu item.
The Import Customers popup is displayed.
The Import Customers popup.
-
Click on the Download Sample CSV File link.
Depending on your browser settings, the sample file, customers.csv, will be immediately downloaded to the default download location or you will be prompted to choose a download location.
The Customers CSV file will have all the required column headers required for a complete customer record.
The following information can be imported for each customer:
- id: the unique identification number for the customer account.
- login: the username for the customer account.
- email: the email address of the customer.
- salutation: the customer's title.
- firstname: the customer's first name.
- lastname: the customer's last name.
- date_added: the date on which the customer account was created.
- phone_number: the customer's phone number.
- address: the address where billing information will be sent to.
- city: the city where billing information will be sent to.
- state: the state where billing information will be sent to.
- country: the country where billing information will be sent to.
- zip: the post/zip code where billing information will be sent to.
- company: the company where the billing information will be sent to.
- use_separate_shipping: an indication of whether a separate shipping address will be used.
- shipping_saluation: the title of the recipient.
- shipping_firstname: the first name of the shipping recipient.
- shipping_lastname: the last name of the shipping recipient.
- shipping_phone_number: the phone number of the shipping recipient.
- shipping_address: the address where orders will be delivered.
- shipping_city: the city where orders will be delivered.
- shipping_state: the state where orders will be delivered.
- shipping_country: the country where orders will be delivered.
- shipping_zip: the post/zip code where orders will be delivered.
- shipping_company: the name of the company where orders will be delivered.
- discount: the percentage discount that is applied to each order the customer places.
- credit_allowance: the total amount of credit allocated to the customer for making website purchases.
- store_domain: the URL of the store the customer is registered under.
- newsletter: the opt-in status of the customer for receiving marketing newsletters. (a value of "true", "yes", or "1" indicates the user is ok with receiving marketing correspondence. A value of "false", "no" or "0" indicates the user does not want to be marketed to).
- tax_exempt: a true or false value indicating whether the customer is tax-exempt (true or false).
- is_account_holder: the account holder status of the customer (a value of "true", "yes", or "1" indicates an account holder. A value of "false", "no" or "0" indicates not an account holder).
- account_terms: the name of the account terms. If a value is specified matching a value defined under Admin > Settings > Customer Settings > Account terms, then the customer will be flagged as an account holder. A blank field signifies default terms if the is_account_holder value is true.
- max_outstanding_balance: the maximum outstanding balance customers can have when submitting web store orders.
- reset_credit: when set to "true", "yes", or "1", will reset the customer's store credit used to $0. This will bring the customer's remaining credit back to the total credit allowance amount specified for the customer. The customer must be an account holder in order for the reset to occur.
- [custom field]: any custom customer field that has been defined. These fields are set against the billing details. (E.g. If the custom field is "Preferred Store", the column header for the custom field against the billing details would be, "preferred_store").
- shipping_[custom field]: any custom customer field that has been defined, set against the shipping details. (E.g. If the custom field is "Preferred Store", the column header for the custom field against the shipping details would be, "shipping_preferred_store").
NOTE: The following fields are included in the customer export file but are read-only fields and cannot be changed via import:
- id
- store_id
- credit_balance
- order_count
- total_order_value
- outstanding
-
Enter your customer information into the Customers CSV file and save it.
Import Customers
-
Click on Import Customer CSV.
The Import Customer CSV menu item.
The Import Customers popup is displayed.
The Import Customers popup for non-EU residents.
If your Fulfillment Center is located in the EU, the popup will include an additional option to set GDPR consent for all imported customers.
The Import Customers popup for EU residents.
Refer to the article, GDPR Data Consent Options for information about the GDPR data consent feature for EU countries.
-
Tick or un-tick the checkbox options as required:
- Create website account creates an account allowing the customer to log in to your primary DecoNetwork store.
- Send welcome email sends a welcome email to the customer.
- Resend welcome email if user already exists re-sends a welcome email to the customer if the customer already exists in your DecoNetwork system.
- Grant GDPR data consent for customers (only available when the FC is in an EU country) sets the GDPR data consent flag to On of all imported customers.
- Add customers as Company contacts will add new customers and their orders to a company record if the company name specified for the customer matches an existing company in the system. If the customer already exists in the system, the customer's details will be updated and their quotes and orders added to the matching company. Customers added this way will be assigned as a company contact with the "Manager" role by default.
Note: Company matching for the Add customers as Company contacts option is based on company name, not email. A customer record can only belong to one Company at a time; see Add contacts to a company. If a customer's email is already associated with a different Company, check with your Business Hub team before importing to avoid unexpected results. - Click on the Browse... button.
- Locate your customers.csv file and click Open in the File Upload dialog.
-
Click Okay in the Import Customers popup.
An Import Progress popup will be displayed with a progress bar to show you the progress of the import. On completion of the import, a message will be displayed informing you of the success or failure of the import. If the import failed, a list of errors will be shown in the popup.
Import Data for Custom Fields
- Add custom customer fields from the Customer Settings section of your Fulfillment Center Admin. Click here for instructions.
- Export the Customers CSV file as per instructions above for creating the Customers CSV.
-
Enter the data for the custom fields into the Customers CSV.
Note: In order for custom fields to import successfully, make sure you have the custom fields set to "Visible" for Register in the Field Usage Definitions.
The rules for entering data into the Customers CSV listed above also apply to custom fields:
- For fields that can have multiple values (i.e., multi-select and checkbox field types), values in the CSV file should be separated by a comma.
- For fields that have options, the value in the CSV file should match the available options exactly.
- Make sure that you do not add spaces after values that are options. The unexpected space will cause the import to error.
- Import the Customers CSV as per the instructions above for importing the Customers CSV.
Best Practice Tips
- Export your current customer list before running a large import. This gives you a known-good copy to compare against, or restore from manually, if an import doesn't behave the way you expected.
- Include the customer's ID whenever you intend to update an existing record. Matching on email alone does not update an existing customer, whether or not the row has a login value. If you want an import to update records rather than create new ones, export first, keep the ID column, and edit that file rather than starting from a blank template.
- Check for existing duplicate emails yourself before importing rows with a blank login field. A blank-login row with a duplicate email always creates a new, separate customer record; the system will not catch this for you. Sort or filter your CSV against a fresh customer export before importing.
- Keep "Customers must use a unique email when registering" turned on unless you have a specific reason to turn it off. This setting also governs duplicate-email checks on your live storefront, so turning it off to push through an import with duplicate emails leaves that same gap open for self-registration until you turn it back on.
- Match Company names exactly. The Add customers as Company contacts option matches on the company name text, not on email or any other identifier. Confirm the company column in your CSV matches an existing Company name in Business Hub character-for-character before importing.
- Import a small test batch first. Before running a full customer list through the import, try five or ten representative rows, including any custom fields and Company names you're using, and confirm the results look right before importing the rest.
- Set custom fields to "Visible" for Register before importing custom field data. A custom field that isn't visible for Register in the Field Usage Definitions will not accept imported data for that field.
Troubleshooting
If an import does not produce the result you expected, these are the most common causes:
- A duplicate-email row created a second customer instead of updating the existing one. This is expected when the row's login field is blank; a duplicate email without a login always creates a new record rather than updating the matching one. See Create the Customers CSV File.
- A row was rejected with "Login must contain no spaces or special characters." The login value contains an invalid character, most commonly a hyphen. Remove spaces and special characters from the login column and re-import that row.
- A row was rejected with "Email: The provided email address is already in use." This happens when the row includes a login value, the email is a duplicate, and Customers must use a unique email when registering is enabled in Customer Options. Either use a unique email for that row or, if you intend to allow duplicate emails, turn that setting off. Turning it off also affects storefront self-registration.
- A customer was not added to the Company you expected. Company matching for Add customers as Company contacts is based on the company name spelled exactly as it appears in your Companies list, and a customer can only belong to one Company at a time. Confirm the company column matches an existing Company name exactly, and that the customer is not already linked elsewhere.
- The import completed but you are not sure which rows succeeded. Check the "Errors" list in the import completion popup; it names each rejected row and the specific reason. Rows that create duplicate customers (see above) are not listed as errors, since they are not treated as a failure.
FAQs
Q: If I import a row with an email that already exists, will it update that customer's details?
A: Only if the row's ID matches an existing customer. Matching on email alone does not update an existing customer, whether or not the row includes a login value. See Create the Customers CSV File.
Q: Can I use the import to link one person to more than one Company?
A: No. A customer record can only belong to one Company at a time. If a person needs to purchase on behalf of more than one Company, you will need a separate customer record per Company. See Add contacts to a company.
Q: Does turning off "Customers must use a unique email when registering" only affect imports?
A: No. That setting also controls duplicate-email checking for storefront self-registration. Turning it off to allow an import with duplicate emails removes that check for your live store as well.
Q: Is there a report I can use to confirm which rows became new customers, which were updated, and which failed?
A: The import completion popup shows total new and updated customer counts and a list of specific row-level errors, but there is no separate reconciliation report or log beyond that popup.
Additional Resources
Still have questions? Use the Search Tool at the top of the page to find more related guides. Need help? Click the icon to submit a support ticket – our Client Services team is ready to assist!
Comments
11 comments
I assume at this point that custom fields are not available for import?
The sample csv does not include them?
Also, curious - will multiple imports update client info or create duplicate records
-Tommy
Hi Tom,
Custom fields are not supported at this time.
Entering the correct ids into the id field will ensure customer records are updated and not duplicated.
So I've done some testing and see import does update with an edited export list, using the id as a key I assume.
I suggest adding a bit more to help page in regards to what happens without an email address - it has a blank Login that will populate once an email is entered into the account and saved.
Regarding updates, its confusing because in my testing, reusing the Sample CSV File did indicate some updates but for records with email it does not.
However, if you export the customers, edit the records and import that edited list - it works perfectly - only updating records - likely because the ID is present.
So this could be explained a bit more.
-Tommy
Is there a limit on how many records can be imported in a file? I have 19,000 customer records in csv.
I have tried splitting it up, and can get some imports run in batches of 500, but it still seems to give errors and only import a few sometimes.
Thanks,
David.
Hi David,
There is no limit on the number of records. The errors may be due faults in your CSV file. Can you please submit a support ticket so that one of our client services team members can help you troubleshoot.
Regards,
Lee
Hey, looks like custom fields import is now available - cool!
what about credit_allowance? looks like that field exports, but is not included on downloaded csv template for import.
I assume this will not import, even if I add the column to csv?
-Tommy
SUGGESTION: The only way I could get custom fields to import was by making them visible with Register.
Often, we only want fields for HUB use. Would be helpful if custom fields imported if only visible for Quotes/Orders
Hi Tom,
The credit_allowance field, although not included in the Sample CSV, will import if added to the CSV.
Thank you for your feedback. You are correct, custom fields currently will only import if configured as visible under Register in the Field Usage Definitions.
Regards,
Lee
Is there any API endpoint to create or import customers programmatically into DecoNetwork?
I reviewed the public API docs but could not find customer creation/import endpoints.
Our goal is to sync customers automatically from another system instead of doing manual CSV imports.
Hi Reisbel Machado,
Thanks for your question! DecoNetwork doesn't currently provide an API endpoint to create or import customers, so automatic syncing isn't currently supported. If this is something you'd like to see supported, feel free to submit it on our Feature Requests page so others can vote on it. New features are prioritized based on community votes.
Please sign in to leave a comment.