eCat Product File Overview #
Product information is imported in a file named 'products.csv'. Please refer to the file template and field list below.
Product information is sent to eCat in a text file named 'products.csv'. In addition to standard fields, as many custom fields can be added to the product file as needed. Custom fields can be used for filtering and sorting the eCat catalog, and to publish as much additional information about products as needed.
View the product file template and instructions
All of your company's current products and product information should be included in the product file each time it is uploaded. If items are omitted from the file, they will be removed from the eCat database. Any new items in the file will be added to eCat. Information that is changed in the file will be changed in eCat.
Product File Fields #
| Code | Name | Description |
| S | String | Any string |
| B | Boolean | Valid values for 'True' include 'T', 't', '1'. Valid values for 'False' include 'F','f'','0',<empty field>. |
| M | Monetary | Numbers with two decimals |
| F | Floating Point | Numbers with or without decimals |
| I | Integer | Numbers with no decimals |
| Field Name | Type |
Req? | Length | Validation/Comments | |
| BaseItemCode | S | Y | 20 | The product number. May include numbers, text, '-' (dash), or '_' (underscore). The baseitemcode value in products.csv must match the value used in inventory.csv and stories.csv in order for the information in these files to be correctly related to products. | |
| LongDesc | S | Y | 50 | Stay within allotted field length to avoid truncation. Longer fields generate a warning during file import. | |
| MediumDesc | S | N | 25 | Stay within allotted field length to avoid truncation. Longer fields generate a warning during file import. | |
| ShortDesc | S | N | 15 | Stay within allotted field length to avoid truncation. Longer fields generate a warning during file import. | |
| Materials | S | N | 50 | Description of item materials or other characteristics. Stay within allotted field length to avoid truncation. Longer fields generate a warning during file import. |
|
| Features | S | N | 50 | Description of item special features or other characteristics. Stay within allotted field length to avoid truncation. Longer fields generate a warning during file import. | |
| ImageFileName | S | Y | 255 | Can contain up to six valid image file name(s) in JPEG format, SRGB color space, separated by commas. List the primary image first. Use a lower case '.jpg' file extension. Numbers, text, dashes or underscores are allowable in file names, but not spaces or other punctuation. Field values must exactly match the file names of uploaded product images. |
|
| Dimensions | S | Y | 50 | Stay within allotted field length to avoid truncation. Longer fields generate a warning during file import. | |
| ShipWeight | F | N | 8 | Packed shipping weight of one unit of the item. Used for calculating order shipping weight. Must be a valid floating point number. |
|
| PackedVolume | F | Y | 8 | The packed shipping volume (cube) of one unit of the item. Used for cubing orders for container shipments. Must be a valid floating point number. | |
| PackQuantity | I | Y | 5 | The quantity of the item packed per shipping carton. Must be a valid integer > 0. Set value to '1' if you do not wish to enforce order multiples (to avoid breaking case packs). |
|
| MinimumQuantity | I | Y | 5 | The minimum quantity of an item that can be ordered. Must be a valid integer > 0. Set value to '1' if you do not wish to enforce minimum order quantities. | |
| TradeNameCode | S | Y | 5 | Code for top level product marketing/branding classification. An item can be assigned to only a single Tradename. | |
| CollectionCodes | S | Y | 5* |
Code for product's marketing collection(s), typically used for grouping items of the same 'design' or 'style'. May contain multiple collection codes if codes are defined in admin portal (not generated automatically during import). Only the first collection code listed for an item is supported in SmartList queries. * Each code should be kept within 5 characters. If multiple comma-separated codes are used, you can exceed 5 characters for the length of the field in the CSV. Also note that if you are using "auto-create," the field can be longer than 5 characters. For more information on "auto-create" please see below. |
|
| CategoryCodes | S | Y | 5* | Code for product's functional category(s). May contain multiple category codes if codes are defined in admin portal (not generated automatically during import). Only the first category code listed for an item is supported in SmartList queries. * Each code should be kept within 5 characters. If multiple comma-separated codes are used, you can exceed 5 characters for the length of the field in the CSV. Also note that if you are using "auto-create," the field can be longer than 5 characters. For more information on "auto-create" please see below. |
|
| NewItem | B | Y | 1 | Set value to 'Y' to identify an item as 'new'. This is used primarily for filtering. | |
| NetPrice | M | Y | 8 | The base price from which other percentage based prices are calculated. | |
| PromotionPrice | M | Y | 8 | Special promo price, automatically overrides selected price level. | |
| Price_<pricecode> | M |
N | 8 |
Use 'price_(pricecode)' columns to export price list(s) that are not arithmetically related to any of your other price lists. Create and populate as many custom price columns as needed. These must be defined in the admin portal under Products > Price Levels before they can be imported. | |
| StartsAt_<pricecode> | M | N | 8 | Use 'StartsAt_(pricecode) to display a "lowest price" at the give pricecode. This is useful for some organizations with complex pricing and configured products, and it must be activated in Company Settings. The associated price codes must be defined in the admin portal under Products > Price Levels before they can be imported. |
|
| StartsAt | M | N | 8 | Use 'StartsAt to display a "lowest price" for price levels based on the NetPrice. This is useful for some organizations with complex pricing and configured products, and it must be activated in Company Settings. | |
| DiscountPriceLevelCode | S | N | 30 |
The price level code for the Discount price Level. See Special Promotion Pricing | Knowledge Base for more information. | |
| OptionSet# | S | N | 20 | Replace '#' with a number from 1-20, starting with '1'. Used for implementing eCat option selection feature. | |
| OptionSet#Required | B | N | 1 | Replace '#' with a number from 1-20. Indicates whether users must select an option from the option set of the same number. | |
| OptionSet#Matrixed | B | N | 1 | Replace '#' with a number from 1-20. Indicates whether eCat should obtain price from matrix file when users select an option from the option set of the same number. | |
| UPCValue | I | N | 12 | Should be populated with either 11 (without check digit) or 12 (with check digit) character UPC-A values. If the check digit is not included, it will be added during file import. If the check digit is included, it will be validated during import. The upcvalue must be unique to a single item or an import error will result during validation. | |
| ScanValue | S | N | 255 | Provide a value that can be used as a Barcode Source. For more information see Defining PDF Presentations. |
|
| ScanGroupCodes | S | N | 255 | A comma-delimited list of codes that define scan groups. For more information see Group Scanning. |
|
| ProductType | S | N | 5 | Set value to 'suite' if the product record is for a non-orderable item like an option image, showroom photo, or room shot. Otherwise leave blank or set value to the string 'product'. | |
| SuiteGroup | S | N | 5 | If the value of producttype is 'suite' enter a valid group code for the room photo. Product records with undefined group codes in SuiteGroup will be rejected during import. | |
| RelatedItems | S | N | 255 | Comma separated list of valid baseitemcodes to show as related to the item. Baseitemcodes in this field must be for items present in the product file. | |
| Hideable | B | N | 1 | Set value to 'Y' to identify an item as 'hideable'. This is used for filtering. | |
| MarketCode | S | N | This column is required to utilize the Market Commitments feature. Enter a short code on all line items that are eligible for commitments at market. That code must also be entered in company settings as the active 'market code'. | ||
| <custom fields> | S | N | 255 |
Custom fields can be added to the product file as needed and used for informational display, for defining SmartLists, for creating product filters, for sorting the catalog and for linking to external content like videos and documents when populated with URLs. Custom fields must be defined in the admin portal before they can be imported. |
|
| Keywords | S | N | 255 | Used to specify alternate product search terms. Contents of this field are included in eCat product searches along with the product number and long description. NOTE: A custom product file field named 'keywords' must be set up before importing a file with keywords. (See Tips & Tricks below.) |
Tradenames / Collections, Groups / Categories #
There are two methods available for associating products with Tradenames, Collections, and Categories. (Groups are defined in the admin portal.)
The 'Auto-Create' import method automatically creates a Tradename, Collection, or Category for every unique string found in the product file 'tradenamecode', 'collectioncodes' and 'categorycodes' fields. This makes maintaining product classifications convenient for companies with a large number of collections or other product classifications. One downside is that this method does not support assigning the same item to multiple collections and categories. If your company imports using the 'Auto-Create' method, products can be associated with only a single collection and a single category.
The standard import method is to populate the product file 'TradenameCode', 'CollectionCodes' and 'CategoryCodes' fields with short codes of 5 characters or less for each unique classification. The codes are then manually associated with labels in the admin portal. This method enables displaying the same item in multiple collections or categories by populating the product file fields with comma delimited lists of valid category and collection codes. (Items can be assigned to only a single tradename.) The primary collection or category code should be listed first. Only the first category or collection code listed for an item is supported in SmartList queries.
Custom Product File Fields #
Custom product file fields can be added as desired and populated with values up to 255 characters long. They can be displayed on eCat's ‘Details' view and can also be used to define SmartLists, catalog filters, and catalog sorts. Custom fields can be populated with URL's for linking to externally hosted content like videos and documents. If there is data in a custom field, the field label and contents will display in eCat. If empty, the custom field will not display. This enables custom fields to be used for publishing product specific information. Custom fields must be defined in the admin portal under Products > Custom Fields before they will be imported.
'Hideable' Products #
To avoid showing the same photos repetitively. For example, if beds of different sizes are published as separate sku's in eCat (twin, full, queen, etc.), the new feature enables hiding all but one representative sku in the grid view. When a new Settings button is set to 'Hide', repetitive items are hidden in the grid view for All Products, Collections, Product Types, Presentation View, and Details View. The repetitive items are shown everywhere else, including in user stacks, SmartStacks, and the Details view Collection and Related Items thumbnail lists.
To implement this, add a new field named 'hideable' to products.csv and populate it with 'Y' for items you want to optionally hide in eCat. When this field is present and populated, a new button 'Show Hidden Products' displays in Settings. This defaults to 'off', but can turned on by users who prefer to view all products.
Room Shots & Other Non-Orderable 'Products' #
Room shots (environmental/application photos) are published to eCat as special product records. These 'products' cannot be ordered, so fields that relate to pricing, shipping, options, and UPC codes do not need not be populated for this product type. The dimensions field is also usually not relevant to room shots, but can be populated with a description or other information that would be useful to display on the iPad. Other required fields should be populated with the appropriate values. These include BaseItemCode, TradenameCode, CollectionCode, and ImageFileName (the room shot file name). Product stories, descriptions, custom fields, and RelatedItems can be populated for ‘suite’ type products. Room shots are displayed on the iPad at the beginning of any list in which they are included. More than one room shot can be published for a single suite. These will be displayed in the same sequence in which they are sent in the product file. To identify a 'product' record as a room shot, add the fields ‘ProductType’ and ‘SuiteGroup’ to products.csv. Enter the value ‘suite’ in ProductType to flag the record as a room shot and related information. Enter a valid group code in SuiteGroup. If the ProductType field is empty, the record will be treated as a normal product.
Importing Product Files #
Importing Products in a Single File #
Product information is usually uploaded in a single data file named 'products.csv'.
Upload data files to eCat using the appropriate tool in the admin portal, or by putting the file in your company’s eCat FTP site ‘/data’ directory.
Adding or removing records from a data file causes them to be added or removed from the server database. They will then be removed from eCat the next time users update.
Column headers must match the field names shown in the file template.
Records missing entries in required fields or with invalid data may not be imported and will be listed in an import error log report.
Multi-File product import #
For convenience in cases where product information is stored in separate systems, product data can be sent to eCat in multiple files via FTP as long as the fields BaseItemCode, TradenameCode, CollectionCode, and CategoryCode are all present in the primary products.csv file. Supplemental files should be named ‘products_1.csv’, ‘products_2.csv’, etc. and must contain BaseItemCode values matching values in Products.csv. When sending multiple product files, an additional file, ‘sentinel.csv’ must be sent to the server after all of the product files have been uploaded to indicate that the upload is complete. The contents of this file are not significant.
Import validation #
Fields are checked for valid values during the import process to ensure eCat's reliability. Any errors found are listed in an import error log report. There are three types of errors, 'Fatal Error', 'Error', and 'Warning'.
| Type | Reason | Handling |
| Fatal | A problem is detected that may prevent accurate processing of the file. | The file is rejected. No data is updated. A description of the fatal error is listed in the import error log. |
| Error | A required field on the file is missing or contains an invalid entry that could cause instability or incorrect behavior. | The file is imported, but fields with errors are omitted. An import log entry for each problem field lists the field number and describes the reason for the error. Server database records for the fields with warnings are not updated. If there are import errors on the file, the server database is not updated to remove records omitted from the file. |
| Warning | A relatively minor problem is found that does not affect reliability, like fields that exceed length requirements. | The file is imported, including fields with warnings. An import log entry for each problem field lists the field number and describes the reason for the warning. Server database records for the fields with warnings are updated. If there are only warnings on the file and no errors, the server database is updated to remove records omitted from the file. |
Tips & Tricks #
- eCat displays products in the order they are sent in the products file. For example, if you want users and customers to see new items first, sort them to the top of the file. Another option would be to publish new items at the top, then publish the rest by sales rank, with the items that sell the most at the top. New items and most popular items will then be the first things people see in every list.
- Line feeds and carriage returns are not supported in product file data fields. The file importer rejects files that include them.
- CSV file formatting guidelines
- To extend product search capabilities, key words can be sent as a comma separated list in a product file field named 'keywords'. Before importing this field, a custom product file field named 'keywords' must be created in the admin console under Products > Custom fields. The field should be 'sent to the iPad'. The 'Hidden' option can be selected to prevent displaying keywords in eCat's Details view.