Base Price List

Description

As per the chat at:
https://mattermost.idempiere.org/idempiere/pl/bu3be6pzojro9n19ax179gexya

 

there is a hidden field in Price list with name "Base Price List"

and there is code in MProductPricing to use the base price list as a fallback when the price is not found in the actual price list

tested this functionality in 4.1 and it worked fine - so is good to explore it again and if it works enable it.

Environment

None

Activity

Carlos Ruiz 
June 7, 2023 at 8:34 PM

Hi

Reviewed the impact of the field M_Pricelist_Version_Base_ID (Base Price List in Version).

The purpose is very different than the Base Price List that we enabled in this ticket (on Price List).

 

  1. The M_Pricelist_Version_Base_ID is being used with the button “Create Price List” in the version, basically what is does is take the base prices list, apply a price list schema, and create new prices
    The common use case for this is that you have a purchase price list and a schema to apply a margin to create a sales price list.

  2. About the ProductPriceValidator, this is using the same field for a different purpose.
    First to say, the ProductPriceValidator is disabled by default in core, so, it will work just if enabled (activating the record in model validator table)
    When enabled what it does is to synchronize the price between all versions in all price lists that have the same Price List Schema and Base Price List.
    The validator creates, deletes and update records in all other price lists sharing the same configuration, but is not applying the schema definition at all, is just replicating the same price in other price lists.
    So, the use case for this I assume is like having a master price list and replicating to other versions, but I don’t understand clearly the value, why not to use simply the original price list?
    So, two problems there: is not applying the schema to recalculate prices, and is not doing any currency conversion, in my tests I changed the price in Standard (USD), and it synchronized the Export (EUR) with the same values, which is wrong.

Regards,

Carlos Ruiz

Carlos Ruiz 
June 1, 2023 at 12:46 PM

Thanks - I think that’s for a different purpose, but I took note and will take a closer look next week.

Deepak Pansheriya 
June 1, 2023 at 12:37 PM

Pricelist version has base pricelist too and it use to auto calculate price entry for price list. refer code in ProductPriceValidator where it used to make same price in all pricelist where base pricelist version is same. Also Base pricelist version from Price list version is using to calculate price when we apply price schema.

Just we needs to make sure that this is not conflicting.

Carlos Ruiz 
May 27, 2023 at 12:19 PM

Documented at https://wiki.idempiere.org/en/NF10_Base_Price_List

After reviewing the code the base price list functionality is working fine for price lists in general and in the callout for product in expense report.

Indeed it was a bit dangerous that the functionality was hidden, as for example in GardenWorld the Standard Price List had the base price list defined as Purchase, it was working but it was not visible for the user, so it could not be changed.

Fixed

Details

Assignee

Reporter

Fix versions

Priority

Created April 24, 2023 at 4:13 PM
Updated August 1, 2023 at 5:26 PM
Resolved May 31, 2023 at 3:25 PM