The products.csv
file is used to update your product catalog in Kimelo. You upload this file to your FTP folder. Kimelo does not send this file back.
You can upload this file as often as every 20 minutes. Kimelo treats the most recent file as the source of truth for edits until the next one is uploaded. Each product is identified by a unique erp_product_id + pack_type pair.
products_yyyy-mm-dd-hh-mm-ss.csv
Filename pattern | products[datetime].csv |
---|---|
ERP to Kimelo | Y |
Kimelo to ERP | |
System of record | ERP |
Status | Available |
Frequency | on demand |
Attributes for importing products into the Kimelo system, with data types and requirements.
Column Name | Data Type | Required | Description | Example |
---|---|---|---|---|
erp_product_id | string | Required | Distributor's internal unique identifier of a given product. This may equal SKU or be distinct. Serves as match point for Kimelo objects including order lines and pricing. | 5555785 |
sku | String | Optional | distributor's customer-facing ID identifier for a given product. This may equal the ERP ID, but it can differ | A111 |
barcode_value | string | Optional | proposed The alphanumeric value of a barcode for this product |
0220310 |
pack_type | String | Required | Defines how the product is sold (accepts only case or each as of Feb 2025). |
case |
base_UOM | String | Optional | Defines which pack_type is the smallest sellable unit (as of Feb 2025 can be only each ). |
each |
pack_items_count | Integer | Required | Defines how many base_uom (eaches) are in this row’s pack_type - e.g. a row in which pack_type = case & pack_items_count = 36 would mean that there are 36 of each in a case |
36 |
name | String | Required | Distributor's name of the product to be displayed on the invoice and in the app. | Potato, French Fries, 1/4" Shoestring, Skin/salt, 6/4.5 Lb |
active | Boolean | Required | Defines whether a given product is carried by the distributor. | TRUE |
is_catchweight | Boolean | Required | Defines whether the product is a catchweight item, requiring actual weight for pricing. Invoiced price will be the catchweight multiplied by actual weight. | FALSE |
pack_price | Currency | Required | Fallback price for this SKU package (per case or each specified in pack_type.) If there is no customer specific sales price for a given customer Kimelo uses this one. For a catchweight product this should be the cost for the average weight. | 0.50 |
price_per_weight_unit | Currency | Required for catchweight products | Price per unit of measure (in pounds) for catchweight items. This is a fallback price. If there is no customer specific catchweight price Kimelo uses this one. | 1.00 |
weight | Float | Required for catchweight products | Defines weight of a single unit of this product in imperial pounds. This is an average to display and sort catchweight products. | 27 |
category | String | Optional | Defines which category a product belongs to in the catalog. | Frozen |
sub_category | String | Optional | Defines which subcategory a product belongs to in the catalog. | Vegetable |
description | String | Optional | Distributor's description of the product to be displayed in the app. | Spud Queen Fries |
brand | String | Optional | The brand associated with the product. | Packer |
substitute_skus | Array of Strings | Optional | proposed Array of products (by erp_product_id) that are substitutes for this product. |
3333, 4444 |
height | Float | Optional | Height of the product in inches. This is for load planning and route optimization. | 6.25 |
width | Float | Optional | Width of the product in inches. | 13 |
length | Float | Optional | Length of the product in inches. | 16 |
netweight | Float | Optional | Net weight of the product in imperial pounds. | 4.2 |
grossweight | Float | Optional | Gross weight of the product in imperial pounds. | 4.2 |
image_urls | Comma-separated string | Optional | Array of links to images of the product. | https://example.com/unit_image.png,https://example.com/unit_image.png |
UPC | Integer | Optional | Universal Product Code for the product. | 1515484 |
GTIN | Integer | Optional | Global Trade Item Number for the product. | 8465123168 |
hs_commodity_code | String | Optional | Indirect tax product code from Harmonized System codes. Use the 4-2-2 digit format. See https://hts.usitc.gov/ | 1111.11.11 |
is_proprietary | Boolean | Optional | Denotes if the product is proprietary, available to specific customers. | TRUE |
proprietary_tags | Array of strings | Optional | Array of proprietary tags. Only customers with the same tags will be able to see, find and purchase these items. | retail, michigan_only |
stock_level | Integer | Required (unless is_unlimited_inventory) | Number of items currently in stock and available for purchase. The unit is the base pack_type of this SKU. Kimelo assumes the entire stock level is available for purchase. | 1000 |
store_key | String | Optional | The identifier of which distribution center serves this inventory. Manual imports: Kimelo defaults to current context. FTP: required only if you have multiple distribution centers. | foodsinc_1 |
is_unlimited_inventory | Boolean | Optional | If true, Kimelo does not limit orders based on inventory count. This makes stock_level optional. | FALSE |
June 18, 2025
04/7/2025
pack_type = EACH
erp_product_id
does not exist for a given store.active = FALSE
.active = FALSE