The goal of this management feature is to enable, starting from a technical pricelist managed in the catalog (at Layedit level), the creation of N variations/versions by applying different coefficients and currencies. This is particularly useful, for example, for managing points-based price lists, where prices need to be modified via a coefficient and the desired currency must be set.
Note: It is now possible to assign multiple commercial price lists to each user simultaneously, if configured. The user will then be able to select the desired pricelist from those available via a dedicated menu. This makes it easy to handle scenarios such as temporary promotions, price lists for special customers (e.g., Best Buyer), or customized lists for specific commercial needs.
Furthermore, this feature is integrated with the discount library and the upcharge library, which are advanced tools designed to centralize and provide greater flexibility across multiple price adjustments. See the articles The discount library and The upcharge library for more details.
Key benefits
Flexibility: Allows you to quickly adapt price lists to different markets, customers, or promotional scenarios without duplicating base data.
Customization: Enables assigning specific price lists by country, store, or single user, facilitating differentiated commercial policies.
Centralized management: All price lists are linked to a single reference technical list, simplifying price updates and maintenance.
Scalability: Easily expand the number of price lists without impacting the catalog’s basic structure.
Multi-currency and multi-coefficient: Supports managing price lists in different currencies and with various price ratios, useful for international contexts or point-based sales strategies.
Pricelist selection: The user can choose among multiple price lists based on their profile, role, or access context.
Architecture and database
| The multi pricelist database is created automatically by the backend after the update of 2025-05-29. It is located in the 3CADnext instance’s datafolder: _master\CommercialList.ddb. |
Tables involved
CommercialLists: Commercial pricelist management and configuration.
DiscountLibrary: Discount library and structure. See the article The discount library for more details.
UpchargeLibrary: Price increase library and structure. See the article The upcharge library for more details.
AssocCommercialListDiscount: Association between price lists and discounts; manages application priority. See the article The discount library for more details.
CommercialLists Table structure
Manages all data related to multi pricelists. Each list can have additional information, be linked to a technical price list, have a price conversion ratio, and a currency. It can be assigned to a certain entity (such as a country, market, store, or specific user).
Cod: Identifier code of the price list.
Des: Description (this appears in the list of available price lists).
HiddenInfo: Additional information (e.g., internal notes).
Catalog: Catalog reference (code).
TechPriceList: Reference to the base technical price list.
PriceListRatio: Price conversion ratio relative to the technical list.
Currency: Currency of the price list.
EntityType: Type of assigned entity (country, store, user) (2 = Country | 1 = Shop | 0 = User)
EntityCriteria: Specific assignment criterion (e.g., Italy, Store X, User Y).
Typical use: Management, creation, and customization of multi price lists for different markets or customers.
Configuration of a commercial pricelist in the interface
The configuration of the Commercial Pricelist is accessible through the Supervisor tool in 3CAD Next:
Path: Supervisor → Catalog → Commercial Pricelist
From here, you can create, edit, and manage all multi price lists available for the selected environment/catalog.
Note: You must select the reference catalog (via the top menu) to view, filter, and configure the pricelists related to that specific catalog. This is essential in environments with more than one catalog available.
Click here to view full screen.
Configurable parameters
Cod: Identifier code of the price list.
Des: Description.
HiddenInfo: Additional information (e.g., internal notes).
Catalog: Name or reference of the catalog.
TechPriceList: Reference to the base technical price list.
PriceListRatio: Price conversion ratio relative to the technical list.
Currency: Currency of the price list.
EntityType: Type of assigned entity (country, store, user, etc.).
EntityCriteria: Specific assignment criterion (e.g., Italy, Store X, User Y).
Note on currency assignment: Traditionally, currency was a property of the shop (Country/Language combination). Now, however, currency is a property of the individual price list selected by the user.
Practical configuration examples
| Code | Description | Catalog | TechPriceList | Currency | EntityType | EntityCriteria |
|---|---|---|---|---|---|---|
| CPL_SFA_EUR_2_IT_1 | Standard pricelist Italy | … | … | EUR | 2 | IT |
| CPL_SFA_EUR_1_IT001_1 | Promotional pricelist Italy | … | … | EUR | 1 | IT001 |
| CPL_SFA_EUR_0_736944_1 | Dedicated pricelist (Best Buyer) | … | … | EUR | 0 | 736944 |
- The “CPL_SFA_EUR_2_IT_1” list is assigned to the country “IT”.
- The “CPL_SFA_EUR_1_IT001_1” list is assigned to the shop “IT001”.
-
The “CPL_SFA_EUR_0_736944_1” list is assigned to the user “736944”.
Pricelist visibility example: If user “736944” accesses shop “IT001” located in Italy, they will be able to choose between 3 different price lists.
End-user perspective
The end user can choose among multiple available price lists, as many as have been assigned according to the criteria described above. Typical examples of available price lists:
Standard price list
Promotional price list
Dedicated pricelist (Best Buyer)
…and so on.
This choice offers great commercial flexibility and the ability to tailor the economic proposal according to the sales context or customer type.
Price calculation
To enable the calculation, the new newPriceEngine2025 flag must be set in web.config.
Note: To set it, you need to submit a request to the R&D department.
Simplified calculation algorithm:
-
Apply base prices:
Prices are determined from the ARTLIST, ARTIMAGG, and ARTICOLI tables.
-
External Prices:
If external prices are present, these replace the catalog prices.
-
Choose the commercial price list:
Price determination takes place based on the commercial pricelist selected by the user. If multiple commercial price lists have been assigned to the user (e.g., at user, shop, or country level), they can choose the desired list from a dedicated menu within the interface. In this way, the user has full control and flexibility in choosing the list best suited to their context.
-
Apply the technical list factor:
The price is updated by applying the coefficient (
PriceListRatio) provided by the reference commercial price list.
-
Apply discounts:
-
Discounts found in the DiscountLibrary are applied according to the defined priorities and rules.
-
-
Apply markups:
-
Markups and other price increases found in the UpchargeLibrary are applied according to the defined priorities and rules.
-
Best practices & FAQs
-
Debugging and reading logs
The web servicejRecomputePricesgenerates detailed and structured logs for each price calculation cycle. Before validating the values displayed on the Offer View page, it is essential to consult both the project JSON files and the technical logs generated by the pricing engine. This approach allows you to quickly identify any inconsistencies between the user interface and the data actually processed by the backend, facilitating troubleshooting.
In the messages “Applying commercial LISTS” the processing dump is performed:**** Applying commercial LISTS catalog = PRICINGANDDISCOUNTSLIBRARY CLIST: USINGCPL_SFA_EUR_2_IT_1_1 **** Applying commercial LISTS catalog = PRICINGANDDISCOUNTSLIBRARY CLIST: USINGCPL_SFA_EUR_1_IT001_0_9 CLIST: ItemCode : S110A111 new list price 112.499997019768 factor= 0.9 Evaluating discount Eff_S130A111_FT02_15_10 FAMILY= SER= ARTICLE=S130A111 VAR=FinishType=02 Evaluating discount Eff_S110A111_ETA_10 FAMILY= SER= ARTICLE=S110A111 VAR=ElementType=A comparing ELEMENTTYPE=A COMPATIBLE DISCOUNT FOUND!! Eff_S110A111_ETA_10 FAMILY= SER= ARTICLE=S110A111 VAR=ElementType=A CLIST: NO Discounts Eff. for S110A111 () CLIST: NO Discounts Max. for S110A111 () ******** ECOTAXES EVALUATION Country = IT ******** -
Recommendations on updates/configurations
To make this functionality available, you need to update the backend available after 2025‑05‑29.
Glossary of terms
Commercial Pricelist (CPL): Commercial pricelist derived from a technical list, configurable via coefficient and currency, assignable to country, shop, or user.
TechPriceList: Base technical price list, managed in Layedit, reference point for all Commercial Pricelists.
EntityType: Type of entity to which the pricelist is assigned (2 = Country, 1 = Shop, 0 = User).
EntityCriteria: Specific identifier for the target entity (e.g., "IT" for country, "IT001" for shop, "736944" for user).
Catalog: Identifier of the product catalog on which the pricelist is based.
PriceListRatio: Numerical coefficient applied to the technical pricelist prices to calculate the Commercial Pricelist prices.
Currency: Currency applied to the Commercial pricelist (e.g., EUR, USD).
DiscountLibrary: Table containing the centralized library of discount rules applicable to families, series, items, and variants.
-
DiscType: Discount type managed in the DiscountLibrary:
Effective: effective discount applied.
MaxDiscount: maximum allowed discount value
Disc1–Disc5: Up to 5 progressive (incremental) discount levels applied sequentially.
ValidityDate: Discount validity date, format YYYYMMDD (e.g., 20250101).
Variant: Combination of product variables and options (e.g.,
VAR1=OPZ1), valid for specific discount rules.
AssocCommercialListDiscount: Relationship table associating one or more discounts with each Commercial Pricelist, determining their priority.
ARTLIST / ARTIMAGG / ARTICOLI: Base tables containing item master data and technical pricelist prices.
External Prices: Alternative prices from external sources that supersede catalog prices if present.
Layedit: Tool and environment for managing technical catalogs.
Recompute Prices: Service for bulk recalculation of prices and discounts, generating detailed logs.
Web.config: Platform configuration file used to enable advanced features such as
newPriceEngine2025.
Offer View: Offer/quotation viewing page where the calculated prices are consulted.
Logs: Technical/textual output generated during price processing and the application of price/discount rules.
Project JSON: Data structure file (JSON) representing the entire state and data of a project or quotation.
UpchargeLibrary: Table containing the centralized library of price increase rules applicable to families, series, items, and variants.