Base catalogs, are used to store the products you want to sell on your site, categorize them into different categories, sequence/rank child products, categories and variants, define relationships between products and categories, define prices for products and categories.
 
The following are the key concepts in a base catalog
Categories are primarily used to categorize products and other categories. Categories which do not have parent categories are called root categories. You can also use categories to control prices for all the products under that category. For eg you can create a category name 99 cents and have all the products under that category inherit its price. Categories are created based on a category definition. When you create a category you have to specify the category name and the definition it belongs to. You can also optionally specify the display name for the category, price and a parent category. If the display name is not specified it defaults to the category name.
 
Products represent the actual sellable items on your site. As I mentioned in this article, the catalogs can contain products, product families and variants. Just like categories you can create products based on product definitions.The i_classtype property of a product determines if the product is a regular product (i_classtype = 4),
productfamily(i_classtype =8) or variant(i_classtype =2). When creating a product if the product definition does not contain variant products then the product is created as a regular product else the product is created as a product family. The catalog system allows you to create variants under a product family. All the variants under a product family inherit the values of the normal properties from the product family. The variant properties and the list price can however be overriden in the variants.You can also assign products to one or more categories and define relationships to other products and categories. Products which do not have parent categories are called root products.
 
Parent child associations You can add categories and products as children to a category in a catalog. The commerce server feature pack also allows you to rank child categories and products in a category thereby allowing you to control the order in which they are displayed on the runtime site. In addition if a product or category has multiple parent categories you can define one of the parent categories as a primary parent category.
 
Relationships The catalog system allows you to create relationships between categories and products in one or more catalogs.
 
Pricing The catalog system provides two kinds of pricing models for base catalogs
  1. Direct pricing, which allows you to directly set the price for a category , product or a variant. When you create a variant the variant inherits the price from its product family. You can then override the price of the variant.
  2. Category pricing, allows you to control the price of a set of products under a category. In order to implement category pricing you should
    1. Define a valid price for the category
    2. Define the category as the primary parent category for all the products you want to inherit the price.
    3. Set the UseCategoryPricing property for these products.
If you no longer want the products to inherit the category price you can reset the  UseCategoryPricing property.When the category pricing is reset, the price of the product goes back to the price it had before the category pricing took effect.
 
Import/Export You can export the contents of a catalog to an xml file and import the contents of a catalog from an xml file. The xml file can also be used to exchange catalog information with trading partners.