Odoo • Image and Text

Best Practice & Recommendation

Before starting your project implementation, see our bit2win expert suggestions

Catalog management  

How better organize your catalog structure


  • In case you need to implement an hierarchical catalog, our suggestion is to organize the catalog in different categories with few products inside.  Associate at most 10 products in the categories or use the pagination settings (field ItemforPage). 

  • In case you would like to use bit2win cart-API, our suggestion is to set the ItemForPage value in the body of request section option 

Rules & Archetypes

B2WGIN Rule Best Practice


B2WGIN is the bit2win rule engine browser side, all data and all rule run into the browser. It is for this reason that is very important work with minimum set of data and rules


  • Organizing the catalog in category with few products
  • Synchronizing the rules only in correct program
  • Thinking about the rules based on context
  • Using the MATRIX PARAMETER QUERY to filter by row

Organizing the catalog in categories 
with few products



In the bit2win cart the product are displayed in the category, the best practice is associate at most ten product in the category or set the field ItemforPage. 
For cart api request set the ItemForPage value in the body of request section option.

Synchronizing the rules only in correct program

The rule can be synchronized on the three program types: eligibility catalog program, catalog program and product program. They are described below:

Eligibility catalog program
: run the catalog eligibility based on the input context. In addition, this program can select a specific price list and set Matrix Parameter query on the catalog. This program is executed one time entering in b2wgin cart.
Catalog program: modify the products displayed such as product price, product visibility, product eligibility and so on. This program is executed each action on b2wgin cart.
Product program: modify the specific product in configuration page. This program is executed each action on configuration product page and it can be: modifiy the product, add a product child, remove a product child, set a price and so on.
Following these explanation the archetype instance row should have been synchronized only on correct program.

  • A high number of archetype instance row is cause of slow performance. It is recommended to do not exceed 100 instance row per program.
  • If are created archetype action step with “GetCatalog” selected and the archetype is instantiated on catalog item, the result will be an archetype instance row on catalog program and one instance on each product program.

Thinking about the rules
based on context


The guide line should be synchronized the minimum number of archetypes with as small context as you can.
Try to explain them with a example business case.
The customer has two different account type business and residential and he wants to change a product description based on the account type. The not optimized approach is synchronize n*2 archetype instance row for each catalog item (one for business description and one for residential description). This approach is not a good way because the number of instance rules grown with the increasing of catalog.
The right ways is: set default description on catalog item object, and synchronize only one archetype instance row that overwrite the description by reading it on matrix parameter row.

Using the matrix parameter query 
to filter by row


In order to have the smallest context possible, it is recommended to use the MATRIX PARAMETER QUERY. As shown before it is recommended create a mp query on the program for filtering only rows related on the account type.
BETA TIPS: if the archetype contains condition on Item Attribute object, please check the “optimized” check box!!!
Warning: to obtain better performance not configure more than 100 fields on matrix parameter row object and have no more than 100 matrix parameter row in the context

More best practices and recommendation coming soon...