Rules of Inheritance

Inheritance is the concept where a child entity automatically receives information from its parent entity. The concept can apply to catalogs, products and marketing campaigns. Sometimes, a child entity receives information but is unable to modify it in any way. However, there are circumstances when modifications are possible.

Catalog Inheritance

Depending on the level of an organization that an administrator is working from, they will have varying levels of control and visibility of the product offerings.

Global scope

The Global scope catalog is the master copy that contains all the products offered at every level of the organization. Most products are visible by every child scope and can be pushed from the Global scope to any Sales scopes. Sales scopes can also add their own products and when they do so, the products are automatically copied into the Global scope catalog under special categories called Scoped items, which are not visible to any other child scope. This allows the Global scope catalog to retain a full record of all products offered without affecting the Sales scopes that don't sell those items.

Sales scope

As a best practice, Sales scopes pull down from the Global scope catalog and can add products for their scope. They have full control over the entire content of their catalog and can edit product names, descriptions and prices as required. Any changes made at the Sales scope level breaks the inheritance of a specific attribute, meaning the no further updates for this product attribute is received automatically from the Global scope. However, this only affects the selected Sales scope and child scopes. Other Sales scopes and their children will not be affected and will still pull updates from the Global Scope catalog.

Dependent scope

Dependent scopes inherit their product catalogs from their parent scope. Products and variants cannot be modified at this level aside from their prices and relationships. However, you can control their activation state independently from their parent scope.

Figure 1 - Scope hierarchy

Better Retail has two sales scopes: Better Retail Canada and Better Retail USA. Each of them has several Dependent scopes. In the Global scope catalog, Better Retail has included most of the products its sales scopes will be selling. There are some regional differences (products that are unique to one scope or the other).

Better Retail Canada has created its own subset of products that it sells in addition to products from the Global scope catalog. The same is true for Better Retail USA.

Better Retail Canada's exclusive products are not visible in the Better Retail USA catalog, but they are visible in the Global scope catalog under Scoped items.

Should a product from a sales scope's Scoped items need to be included in the Global scope catalog to be used by all Sales scopes, it is possible to move it from Scoped items to the main catalog.

Price Inheritance

Prices are not inherited from the global scope.

Global scope to Sales scope

The prices in Global scope aren't inherited in any other scope. When a sales scope is created and has the same currency as the global scope , the prices are copied but not inherited from the global. When a product price is updated at the global scope, sales scopes using the same currency are not updated.

When creating a sales scope that doesn't share the same currency as the global scope, prices are not copied. Pricelists with prices will have to be imported to products (using a product definition with prices) before publishing the products.

Sales scope to Dependent scope

Dependent scopes are automatically bound to the catalogs contained within their parent's sales scope. However, dependent scope contributors can change prices to suit their own guidelines. By changing prices, the link with the sales scope is partially broken. This is called breaking inheritance.

When a dependent scope changes the price of a product in the catalog, it partially breaks the link between the product and the sales scope.

Breaking Product Inheritance

Inheritance is broken when the link between a product and the parent scope it was inherited from is severed following a modification at the child scope level.

You can break inheritance:

of an entire catalog
of a product attribute
of a product /variant activation state in a dependent scope

By default, sales scope catalogs inherit from the Global catalog unless the inheritance is broken by checking the inheritance option.

Product attributes in sales catalogs with broken inheritance are not updated automatically.

Example: If the base attribute "Description" is updated manually in an inheriting sales scope, the attribute description will not receive future updates since its inheritance is broken. However, other product attributes will still receive automatic updates for the global scope.

Figure 2 - Price Update by Product

REFERENCES

Product selection methods
Product Publication Workflow
Pushing products to sales scopes