Skip to content

Feature - Import Contacts Without Updating Customers

Release Date: 3/18/2024
Version: 8.5 and Above

Background

This article is an update to the main article on eContact Imports. We will succinctly summarize the main article in this section, as well as the new feature that replaces the older system.

Elliott has a utility that allows users to import customers and contacts via CSV file into Elliott. The utility can be accessed by going to Accounts Receivable > Utility > Customer/eContact Import. This utility is particularly useful if you try to add customers and eContacts at the same time.



This utility was developed in 2005 and was our first attempt to develop features to import customers or contact records at the same time. However, the complexity of importing customers and contacts at the same time can make the utility confusing.  Since 2005, we have developed a separate utility to import or update customers through CSV files. If you don't intend to import or update contacts, we recommend that you use that utility. See the KB articles below:

On the other hand, you can use the "Customer/eContact" utility to import or update eContacts.  But in order not to update the customer with this utility, you need to mark the first column in CSV with Xs to indicate that you do not want to update the customer. An example is shown below. 

            X 100, ABC Company, 123 Main St,, Smallville, CA, 91789, Alice Kim
            X       , ABC Company, 123 Main St,, Smallville, CA, 91789, Bobby Smith

This can be confusing because if a user does not provide the "X" in the first column, then this utility will import the eContact and update customer records at the same time. The frequent issue is that the customer file's contact field gets updated as the eContacts are imported.  This is confusing. Hence, starting with this new feature, the "Customer/eContact" utility by default will not update the customer.  On the other hand, you still could use it to import customers and eContacts at the same time. For more information about this legacy feature, please check out this link. While the eContact import will generally remain the same, the system of Xs will now be phased out in favor of a new feature, which is detailed below.

Feature


This system of Xs will now be phased out as a legacy system, and will be replaced with a simpler feature that does not require adding Xs to a CSV import file. Rather than typing Xs in an import file, Customer/eContact Import contains a new flag called "Update Customer?" that accepts two inputs: "Y" or "N." Default is "N." To access see this new feature, go to Accounts Receivable > Utility > Customer/eContact Import > customer/econtact Import > Econtact import.

Editing Your Import File Spreadsheet


You can edit your spreadsheet in Excel but it must be saved as a CSV. For more details on how to format the CSV file, check out the main article on the eContact Import feature.

Import File Spreadsheet Columns


The structure of the import file has not changed with this new feature.
  • Column A: Customer Number (6 alphanumeric characters max)
  • Column B: Company Name
  • Column C: Address 1
  • Column D: Address 2
  • Column E: City
  • Column F: State
  • Column G: Postal Code
  • Column H: Country
  • Column I: Telephone Number
  • Column J: Phone Extension
  • Column K: Fax Number
  • Column L: Mobile Phone Number
  • Column M: Contact Name
  • Column N: Position
  • Column O: E-mail Address
These spreadsheet columns are fixed and your CSV file must match this format. Not every column is required. For example, a customer number is not necessary if "Update Customer?" is "Y." In fact, it is completely possible to import a new customer without any columns except, say, Column I, Telephone Number (though this will produce an error while adding an eContact). However, as you might expect, certain functionalities outside of the import may not work as anticipated if you import a bare bones skeleton file, so the user's discretion is advised.

In general, you want to have at least these three columns in any given row of your import file:
  • Column A: Customer Number
  • Column M: Contact Name
  • Column O: Email Address
At a COBOL programming level, these three columns are keys that are used to search for your record. Without these, our programs would not be able to find your customer file or eContact. Although in certain cases one or more of these columns are not necessary in the import file (as we will see below), including these three will ensure the smooth functioning of your import.

Now consider the following scenarios where you might use the "Update Customer?" flag.

Scenario 1: Import Contacts Without Updating the Customer File


The following is an example of a two-line import file. We assume that Customer 100 already exists as a customer file in Elliott, otherwise this process would throw an error. Also note that in this example, Customer 105 does not yet exist.

100000, ABC Company, 123 Main St,, Smallville, CA, 91789, USA,,,,, Alice Kim, Developer, alice.kim@abc.com
100000, ABC Company, 123 Main St,, Smallville, CA, 91789, USA,,,,, John Waters, Developer, john.waters@abc.com
100001, DNE Company, 555 Main St,, Smallville, CA, 91789, USA,,,,, Maria Hernandez, Developer, maria.hernandez@dne.com  

Create your import file as listed above. Add a new batch ID in Customer/eContact Import > customer/econtact Import > Econtact import and when you reach "5. Update Customer?", select "N" for no. This will ensure that whatever contacts you add, you will not simultaneously update any fields in the customer file. You may proceed to use the Pre-Interface to preview your import or use the Interface feature to import the file directly.

Results of the import:
  • Customer 100000 will add two eContacts to the customer file without updating it: Alice Kim and John Waters.
  • Customer 100001 will throw an error, because "5. Update Customer?" is set to "N" and you cannot add a contact to a customer that does not exist.

Scenario 2: Import Contacts and Simultaneously Update the Already Existing Customer File/Add a New Customer File


The following is an example of a two-line import file. Note that in the second line, the address is 124 Main St (bolded for emphasis) as opposed to 123 Main St.

100000, ABC Company, 123 Main St,, Smallville, CA, 91789, USA,,,,, Nathan Pearson, Developer, nathan.pearson@abc.com
100000, ABC Company, 124 Main St,, Smallville, CA, 91789, USA,,,,, Shariq Azim, Developer, shariq.azim@abc.com
100001, DNE Company, 555 Main St,, Smallville, CA, 91789, USA,,,,, Maria Hernandez, Developer, maria.hernandez@dne.com

This is very similar to Scenario 1, but this time you set "5. Update Customer?" to "Y." Create your import file as listed above. Add a new batch ID in Customer/eContact Import > customer/econtact Import > Econtact import and when you reach "5. Update Customer?", select "Y" for yes. You may proceed to use the Pre-Interface to preview your import or use the Interface feature to import the file directly.  Along with adding contacts, you will simultaneously update the customer file.

Something very important to note about this is that unless you have a blank column, your customer file will update according to the bottom-most row of your import file. In the example above, the program will first overwrite Nathan Pearson as the contact for the company while adding him as a contact. It will then proceed to overwrite Shariq Azim as the contact for the company AND overwrite 124 Main St as the address for customer 100000. The customer file updates according to the bottom-most row.

Results of the import:
  • Customer 100000 will add two eContacts to the customer file while updating it: Nathan Pearson and Shariq Azim.
  • Because Customer 100001 does not exist and "5. Update Customer?" is set to "Y," eContact Import will create a new customer file 100001 and add Maria Hernandez as a customer. 

Scenario 3: Add New Customers & Contacts (No Customer Number)


The following is an example of a two-line import file. These do not have customer numbers associated with them.  

, XYZ Company, 789 Main St,, Smallville, CA, 91789, USA,,,,, Alexander Chen, Developer, alexander.chen@xyz.com
, XYZ Company, 789 Main St,, Smallville, CA, 91789, USA,,,,, Janet Maldonado, Developer, janet.maldonado@xyz.com

There are two cases here: one in which "5. Update Customer?" is "N," and the other where it is "Y."

If "5. Update Customer?" is "N," then this example import file will not import and throw an error. The program will interpret that you are trying to add contacts to a blank customer number, which is not possible.

If "5. Update Customer?" is "Y," then this example import file will import. The program will auto-assign a customer number to both files and create new customer files for both. The catch here is that these customer numbers will be distinct. This is fine if you are only importing one contact from one company, but if you have more than one contact from the same company in a batch, you will end up with a duplicate customer file if you omit their customer numbers. In the example above, XYZ Company will have two customer files assigned to it, such as Customer 100006 and Customer 100007. Alexander Chen will be added as a contact to the former, and Janet Maldonado the latter. This may be undesirable. The solution to this is if you are adding a new customer and multiple contacts from that customer, create the customer file first or designate a customer number in your import file.

Extra Scenario: Ship-to Numbers


You can use ship-to numbers to import contacts to already pre-existing ship-to numbers. If you want to import contacts without updating the customer file and you would like to move them to their respective ship-to number, you could set "5. Update Customer?" to "N" and create the following import file:

1000001000, ABC Company: Store #1, 111 Washington Way,, Townsville, GA, 30008, USA,,,,, Terrence Baird, Manager, t.baird@abc.com
1000002000, ABC Company: Store #2, 222 Jefferson St,, Farmsville, FL, 32082, USA,,,,, Jordan Montero, Manager, j.montero@abc.com

If "5. Update Customer?" is "Y," you cannot use ship-to numbers and an error will be thrown.




Programs Modified: ARECILST.CBL, ARECIMNT.CBL, ARECIPIP.CBL, ARECIIMP.PL

AWK






Feedback and Knowledge Base