How can I import client data into the Neoserra database?
Using the Neoserra RESTful API you can create a plugin bring content from third-party applications into Neoserra. The API allows you to import all data records as discussed in more detail here. However, the API requires custom programming and may be overkill when it comes to one-time importing clients from a spreadsheet.
As an alternative to setting up an automated process, administrators, in administrator-mode, can import client data into the Neoserra database from the View|Clients import menu. Additionally, non-admin users who have been given permission can import pre-client data as part of the attendee import process on the training event record. In this FAQ we will discuss how to use the client import function:
- Getting ready - minimum data requirements!
- How to import client data?
- How to filter for imported records?
- What records will not be imported?
- Special field considerations and importing pick lists
- Pre-client vs. client records
Getting Ready - minimum data requirements!
The data to be imported has to be available in an Excel or comma delimited format and, because a client in Neoserra consists of both company information as well as contact details, your import file must also include information for both record types. In fact, you must designate a column in the import file that aligns with:
- The Company Name
- Date Company Established
- Contact First Name
- Contact Last Name
- Contact Email Address
All five of these columns must be identified in the import file in order to create client records (the absence of company data means that the data can still be imported as contact records). If your file consists of only pre-venture clients or a mixture of pre-venture and in-business clients, then the Company Name column and the Date Company Established column can include blank data, but the column must exist in the file.
If the company name column is blank, then Neoserra will map the contact's first and last name into the Company Name field. If the Date Company Esblished is blank then the record is assumed to be a pre-venture record. If you don't know the date that the companies being imported were established, then you can pick a random date (such as today, or the start of the calendar year or fiscal year), but a date (any date) has to be in the file for the import to accept the record as an in-business client.
The contact first and last name must be in separate columns in the import file otherwise Neoserra cannot process the file. If your file includes the first and last names together in one column then, in order to import the file, we recommend that you split the names into separate columns. Unfortunately, the Excel data splitting option does not do well with middle initials. If your file includes middle initials or, the Excel option does not work for you, then you can use the built-in Neoserra name splitting option. However, keep in mind that Neoserra cannot correctly interpret every first name-last name combination especially with middle initials, middle name, multiple last names, etc. A best effort will be made to split the names, but errors are unavoidable when programmatically converting data from a single field to two fields. If you select to use the Neoserra's name splitting tool, then you will need to select the "Name (First Last)" import option:
Lastly, it is vitally important that each column in the file being imported into Neoserra conforms to the data type in each corresponding Neoserra field. In other words, if you are importing the business start date, then the column in your file must be a valid date with a month, day and year specified. For example, "Jan 1989" is not a valid date format. You will need to convert the data to 1/1/1989. Furthermore, if you are importing annual gross sales, for example, then the field in your import file must be a valid numeric currency. Neoserra will not be able to import something like: "More than $100,000" or something like "Between $100,000-$250,000". Bottom line, the imported data must conform to Neoserra's format for a particular field.
All imported records will have the following default values:
- Client Start Date will be set to the date of the import
- The center will always default to the center under which the administrator is initiating the import process.
- All defaults configured under the Administration Pick List panel will be applied to the coded fields that are not part of the import file.
How to import a client file?
As an administrator, in administrator-mode, you can go to View|Clients and click the More|Import menu option. In the interface provided you will need to specify a file name from which you wish to import your data:
Alternatively, with the appropriate permission a non-administrator user can import an attendee file from within a training event, and create contact and clients records:
To import pre-client records within the training event interface, please select View|Training Events and go to the event for which you have an attendee list. Scroll to the attendee list for the event and select Import|From a File:
Regardless of whether you are importing a client file from the Client interface or from the Training Event interface, Neoserra will bring in the data and present you with a field selection interface where you can specify what each data column in the import file represents:
Based upon the header line in the import file, and based upon the type of data in the columns, Neoserra will make an attempt to identify the data represented in the columns in the file, as shown above. In the green box above, you see the field names as they were brought in from the import file. In orange, you see Neoserra "guessing" as to how this data may align with the Neoserra fields. In many cases, Neoserra will "guess" correctly, however. when we scroll to the right, the image below shows that Neoserra was not able to identify some of the other fields in the import file, and it will "skip" the data unless you choose how you want the data mapped. In the example below, Neoserra came across two fields that both contained zip code information, but since Neoserra does not split out the +4 zip code details in a separate field, the +4 data will be skipped. Editing the drop down takes a little patience as Neoserra processes under the hood.
Next, in the same example, Neoserra encountered a number of telephone number fields. You will need to specify how you want each telephone number mapped. The "Work Phone Number" will be mapped both to the contact record as well as the client record. All other phone numbers will only be mapped to the contact record. You will need to scroll through all the fields in the import file and map them as appropriate.
You will notice that text fields; numeric fields; and date fields are imported directly into Neoserra. Pick list fields can only be imported if they are listed below and conform to the abbreviations that Neoserra understands. Lastly, the in-business/pre-venture Business Status field can be mapped if your import file includes the "Date Business Established" for the business. The absence of a date will imply that the record is a pre-venture client, if your import file does include a date established then the company will be set to in-business, as appropriate.
As noted below, Neoserra can additionally import data into user-defined fields assuming they are of a currency, date, text or yes/no format. Any additional data of a different format or data that does not align to an existing Neoserra user-defined field can be mapped into the "Notes" field. There are two notes fields, one for the contact record and one for the client record. You should choose the field best suited for your data. You can map multiple columns into the Notes field that will be concatenated together.
When you have mapped all fields, scroll to the bottom and click "Continue" to specify a counselor and funding source to be applied to all imported records (as shown in green):
Notice the star next to Client/Pre-Client Type! This is to alert you to the fact that, by default, records will always be imported as pre-clients, however, you may choose to import the new records as clients. This choice, should again, be made with extreme caution. There is no way for Neoserra to verify that the imported records conform to your internal client record requirements. Importing clients from outside sources may create non-compliant records in your database. It is generally speaking recommended to import the records as pre-clients and then make them into clients if/when the records have been verified.
In orange, we see that two contacts in our import file match existing contacts already in the database. Neoserra will try to match contacts based upon name, phone number and/or email address. In the example shown above, the match is simply based upon the name of the contact. You can hover over the match to see if they are, in fact, the same person. If they are not, then you can toggle away from the match and choose "(new)" instead, in which case Neoserra will create a new contact with the same name.
In blue, we see an imported contact/company that matches a client already in the Neoserra database. If an exact match is found, then Neoserra will not allow you to create another record with the same name, email address and phone number.
When you have reviewed all records, click "Continue" and you will see all newly imported records. Consider that you can still abandon the process before clicking "Continue"! Once you click Continue, the records will be imported into your database and, once imported, you will need to delete them manually if they prove to have been imported in error. Please note that the import process is not fast, it will take considerable time to import the records - do not click the "Continue" button more than once. Allow the process to finish and once completed you will see a listing of all imported records.
How to filter for imported records?
All records imported via the Client import module will, by default, show the following text in the Notes field:
You can create a filter to find all newly imported records using the text: "*Client Import module on MM/DD/YYYY*" with a wildcard (asterisk) before and after the phrase:
Additionally, all newly created records will be logged in the Audit panel:
What clients will not be imported?
There are a number of instances when no new records will be created during the import process. If Neoserra determines that the imported data creates a duplicate record in the database, then it will not create a new entry. As noted previously, if Neoserra determines that the client already exists in Neoserra then no option to create a "(new)" record will be offered:
Neoserra makes this determination when it sees an email address that already exits in the Neoserra database, which is why the email address is absolutely essential and required during the import process. Similarly, if two contacts are being imported with the same email address it will omit the second record it encounters during the import process:
If, however, your import file contains duplicate contacts with different email addresses then Neoserra will allow the import of both contacts. In other words, during the import process itself, Neoserra will not eliminate two contacts who have the same name but different email addresses.
If the email address is missing for a particular entry, then the record cannot be imported into Neoserra. Notice below in green, that the checkbox in front of the two records with missing email addresses has been unchecked.
These records will not be imported. Nor will the invalid email address highlighted in orange. You can manually check the checkboxes in the front of each record again, but ultimately Neoserra will not import these records and will tell you accordingly:
Similarly, if a record in your import file is missing a last name then the record will also be rejected:
While the records are included in the initial review, when Neoserra completes the process, it will let you know that X number of records could not be processed due to missing last name:
Special field considerations and importing pick lists
As noted early, Neoserra will not be able to process a file unless one column is specified as the contact's first name; one column is specified as the contact's last name; one column is specified as the email address; and one column is specified as the company name. These columns must always be present in the import file. Additionally, the last name and email address fields must include data. In other words, you cannot specify a blank column as the last name column or have a blank cell. Incomplete data will result in the entire row being omitted.
In addition to the mandatory data elements, there are also certain fields with specific behavior as outlined below:
Field name | Special Considerations |
Business Status | The Business Status of the imported client record will be set to "in-business" only if there is a company date established provided in the import file. In the absence of a date established, the imported record will be marked as pre-venture. |
Notes | There are two Notes fields for you to specify from, one of the client record, and one for the contact record. Unlike all other fields, you can choose the Notes fields for multiple columns of imported data. Data to be imported into the Notes field will be concatenated in the order they came in the import file. |
Work Phone Number | When the work phone number is specified in the import file, then this phone number will be used as both the company phone number as well as the contact's work phone number. And speaking of phone numbers, all phone numbers should have a standard formatting (###-###-####). Neoserra will not be able to interpret special formatting. |
Generally speaking text and numeric/currency fields are relatively easy to import, because they map directly from the import file to the field in Neoserra. However, the same cannot be said for pick lists. Neoserra can import some pick list options, but certainly not all. Since import files may have different values or different abbreviations from the choices supported within Neoserra, only some common terminology can be mapped over during the import process. Fields listed below with an asterisk are coded fields and the value in the import file must match one of the possible choices that Neoserra "understands" as shown in the table below:
- First Name (column mandatory)
- Last Name (column mandatory)
- Email Address (column mandatory)
- Secondary Email Address
- Work Phone Number
- Phone Number
- Cell Phone Number
- Address, City, State, Zip and Country (same information will be used for company details)
- Preferred Language*
- Business Owner*
- Gender*
- Race*
- Hispanic Origin*
- Veteran Status*
- Military Branch*
- LGBTQ*
- Date of Birth
- Disabled/Handicapped*
- Presence*
- Notes
* All fields designated with an asterisk are coded pick list fields and the import value must line up with the value in Neoserra. Neoserra can "translate" some choices as shown below in the table for contact fields:
Neoserra Pick List | Starts with... | Imported As... |
Presence | Starts with:
| Online |
No match | In Person | |
Gender | Starts with:
| Female |
Starts with:
| Male | |
Starts with:
| Non-Binary | |
Starts with:
| Intersex | |
Veteran | Starts with:
| Veteran |
Starts with:
| Service-Disabled Veteran | No match | Non-Veteran |
Military Branch | Starts with:
| Air Force |
Starts with:
| Army | |
Starts with:
| Coast Guard | |
Starts with:
| Marine Corps | |
Starts with:
| Navy | |
Starts with:
| Space Force | |
No match | (Undefined) | |
Race | Starts with:
| Alaska Native |
Starts with:
| Asian | |
Starts with:
| Black/African American | |
Starts with:
| Middle Eastern | |
Starts with:
| Native American | |
Starts with:
| Native Hawaiian/Pacific Islander | |
Starts with:
| North African | |
Starts with:
| White/Caucasian | |
Hispanic Origin | Starts with:
| Hispanic, Latino or Spanish Origin |
No match | Not of Hispanic, Latino or Spanish Origin | |
LGBTQ+ | Starts with:
| Yes |
No match | No | |
Disabled/Handicapped | Starts with:
| Yes |
No match | No | |
Business Owner? | Starts with:
| Checked Yes |
No match | Checked No | |
Preferred Language | Starts with:
| Spanish |
Starts with:
| English |
Additionally, the following company details can be imported in the client system-defined fields:
- Company name (mandatory column but can be left blank in which case contact name will be used if blank)
- Agreement on file?
- Business Online?
- CAGE Code
- Date Company Established (mandatory column to determine if company is in-business or pre-venture. If left blank then client is assumed to be pre-venture.)
- DUNS Number
- Fax Number
- Federal ID
- Full-time/Part-time Employees
- Gross Revenues
- Home-based?
- Ownership Gender*
- Company Veteran Status*
- Business Size*
- Disadvantaged Status*
- Business Type*
- Organization Type*
- Primary NAICS
- Product/Service Description
- Profit/Losses
- Referral From Description
- UEI Number
- Website
- Notes
* Again, while text and numeric/currency fields are relatively easy to import, because they map directly from the import file to the field in Neoserra, the same cannot be said for pick lists. Neoserra can import some pick list options, but certainly not all. Since import files may have different values or different abbreviations from the choices supported within Neoserra, only some common terminology can be mapped over during the import process.
Below you will see the chart for each client pick list field and the value that will map to a choice on the client record in Neoserra. The data in the field in the import file must start with a specific string of characters in order for the data to be mapped as shown:
Neoserra Pick List | Starts with... | Imported As... |
Ownership Gender | Starts with:
| EDWOSB |
Starts with:
| WBE | |
Starts with:
| Woman-Owned | |
Starts with:
| Woman-owned WOSB Certified | |
Starts with:
| Male-Owned | |
Blank or other value | Choose not to respond | |
Company Veteran Status | Starts with:
| Veteran |
Starts with:
| Service-Disabled Veteran | |
Starts with:
| VOSB Certified | |
Starts with:
| SDVOSB Certified | |
Starts with:
| Non-veteran | No match | Non-Veteran |
Business Size | Starts with:
| Micro | Starts with:
| Small | Starts with:
| Medium | Starts with:
| Large | No match | Undefined |
Disadvantaged Status | Starts with:
| DBE Certified | Starts with:
| MBE Certified | Starts with:
| SBA 8(a) Certified | Starts with:
| Self-certified Disadvantaged/Minority Owned | No match | Undefined |
Business Type | contains:
| Accommodation and Food Services | contains:
| Administrative and Support | contains:
| Agriculture, Forestry, Fishing and Hunting | contains:
| Arts, Entertainment & Recreation | contains:
| Construction | contains:
| Educational Services | contains:
| Finance and Insurance | contains:
| Health Care and Social Assistance | contains:
| Information | contains:
| Management of Companies and Enterprises | contains:
| Manufacturer | contains:
| Mining | contains:
| Professional, Scientific, and Technical Services | starts:
| Public Administration | contains:
| Real Estate, Rental and Leasing | contains:
| Research and Development | contains:
| Retail Trade | contains:
| Service Establishment | contains:
| Transportation and Warehousing | contains:
| Utilities | contains:
| Waste Management and Remediation Services | contains:
| Wholesale Trade |
Company Organization Type | Starts with:
| Corporation | Starts with:
| Limited Liability Co. |
Starts with:
| Non-profit Organization | |
Starts with:
| Partnership | |
Starts with:
| Sole Proprietorship | Starts with:
| Sub S Corporation |
In addition to the above listed system-defined fields, Neoserra can also import data into some user-defined fields. You can import additional data if your file includes information that corresponds to an existing Neoserra user-defined field that has one of the following data types:
- Currency format
- Date format
- Text format
- Yes/No format
Alternatively, you can import any extra data from your import file into the Neoserra "Notes" field. For example, user-defined information that does not have a corresponding user-defined field in Neoserra could be mapped to the Notes field so as to retain the information.
Pre-client vs. client records
The import process will facilitate the importing of data, but ultimately it is the Neoserra user's responsibility to determine whether the imported record meets the client definition as defined by your program. And while Neoserra allows you to import client records, it is our recommendation, nonetheless, that only PRE-clients be imported into the system. Since the imported records are undoubtedly missing critical details, we recommend that you review the newly imported data carefully and manually convert those records to client status if they meet your internal data requirements. Of course, pre-clients are not considered in the data exports, nor are they considered in scorecard calculations, which is why it is tempting to import the records directly as client records, however, keep in mind that this may affect the integrity of your data.
Want more? Browse our extensive list of Neoserra FAQs.