Menu

Create Price list for BPartner error

Developers
mckayERP
2012-01-16
2015-05-06
  • mckayERP

    mckayERP - 2012-01-16

    I'm testing the Price List creation process and have a small issue with the code.  Here is the model situation:

    An electronics manufacturer uses about several hundred discrete components in their main production inventory.  These are electronic devices of various types that come in tape and reels.  The components are manufactured by several main companies and are then distributed around the world by numerous wholesale resellers.

    In ADempiere, the manufacturer has a product, a simple resistor of format 0603 1/10 Watt 100 kOhm  ROHS compliant.  The manufacturer purchases this product from two suppliers, Arrow Electronics and Digi-Key.  Arrow has the cheaper price but Digi-Key often has better availability and lead times (may not be true in real life).  In the database, the product is added as a single product with two suppliers in the Purchasing tab.  For any purchase, the choice of which supplier to use is based on availability and lead time.

    When creating price lists for POs of this product, two price lists are desired, one with all the Arrow products for use with Arrow and another with only the Digi-Key products.  These are defined in two price list schema by identifying the BPartner specifically.

    When creating the price lists, no base price list is used.  Just the info in the purchasing tab.  The result is that the price list for Arrow is populated.  The one for Digi-Key is not.

    The code is designed to only allow one supplier to be used on the price list to avoid duplicate entries.  The choice of which supplier seems arbitrary - its the first one in an unordered query.   That supplier entry in the purchasing tab is marked "current" and the rest are marked "not current". In the case where a particular supplier is specifically requested in the schema, if it doesn't match the one selected by the software, there will be no entry for that product in the price list.

    I think this is a small problem and I'd like to put in a bug fix to allow entries from specific suppliers even if they are not "current".

    WDYT?

    Mike.

     
  • Michael Judd

    Michael Judd - 2012-01-16

    Hi Mike,

    The way we do this when a decision needs to be made at the time of purchase between suppliers - is to construct supplier specific pricelists and when raising the PO, we select the supplier and the resulting purchase price list is then used.

    You acknowledge that "For any purchase, the choice of which supplier to use is based on availability and lead time."  This implies that there must be a fulfilment rule or selection.  This is something that is common for things like instant pricing or e-auction integration.  In fact there are other factors too - like price.  There are a number of possible approaches:

    1. keep the selection manual as often an experienced buyer will be used to decide where to source a specific product (volume) and price based on fulfilment timelines
    2. build some rules to allow for a table of rules to be applied for full automation.  For this option you may need an api in order to check stock in external systems so I think this could be part of an enhanced purchasing module.
    3. periodically update the current supplier flag based on your buyers preference.

    I wouldn't say the existing functionality is broken - it is just a little under developed.  Having said that, in most small or medium business they tend to wish to retain this logic in the hand of a human so the existing functionality works.

    In larger implementations, calls to external systems or procurement gateways are common but expensive.  There is significant increase in e-auction gateways to arbitrage preferred suppliers.

    Would the multiple supplier pricelists work for your use case?

    Mike 

     
  • mckayERP

    mckayERP - 2012-01-16

    Hi Mike,

    Good to see you back in the forums!

    I'm just testing so the case is pretty simple.  I need to generate multiple supplier specific price lists for the same product and find I can't do so.  I agree that the code isn't broken but I do think it needs a good tweak for this case.

    Mike.

     
  • Tobias Schöneberg

    Hi Mike,
    maybe it would make sense to replace the "current" flag with a "preferred" flag and add a checkbox parameter such as "include only preferred vendors" to the pricelist creation process.
    I hope this would make ADempiere's doings a little more transparent and flexible at the same time.
    Just a random thought.

    Best regards
    Tobi

     
  • mckayERP

    mckayERP - 2012-01-18

    Hi Tobi,

    That sounds like a good suggestion. I'll create a feature request for it.

    Mike.

     
  • jmpiloq

    jmpiloq - 2012-09-24

    Hi all,

    we would like to contribute this functionality, cf. also here:
    http://sourceforge.net/tracker/index.php?func=detail&aid=3475481&group_id=176962&atid=879335

    Can someone please provide commit/push rights to mercurial reporitory for this? How should the branch be called?
    I assume we should branch from latest dev branch?

    Kind regards,

    jmpiloq

     
  • jmpiloq

    jmpiloq - 2012-11-29
     
  • Trifon (An ADempiere founder)

    Hi Mike,

    When creating price lists for POs of this product, two price lists are desired, one with all the Arrow products for use with Arrow and another with only the Digi-Key products.  These are defined in two price list schema by identifying the BPartner specifically.

    I had epxerience where users were very frustrated by the fact that they MUST maintain Purchase Price list per vendor and i had to change ADempiere to read purchase prices directly from M_ProductPO table.

    Regards,
    Trifon

     
  • Colin Rooney

    Colin Rooney - 2012-11-29

    Hi Guys,

    I can understand why users might want the process as Trifon suggested, but the downside of that way is that you cannot prepare a price change in advance. 

    So, as an example, I am currently working with a Sage200 system and it takes the price as suggested from the equivalent of our Product PO but… I have notifications from suppliers NOW that prices will change in Jan & Feb next year and I cannot prepare the new pricelist now.  I have to wait until that date and make sure I do the updates before any user creates any orders on the day of the price change (different for every Supplier of course).  I keeping thinking; in Adempiere I could have prepared the new pricelists (plural because the sales pricelists will be based on a markup from purchase prices!) with the "From date" set and it would automatically come into effect on the day.

    So like most things there are upsides & downsides to both approaches.

    colin

     
  • jmpiloq

    jmpiloq - 2012-11-29

    Hi Colin,

    i have to check what our proposed solution does in that case…

    Kind regards, jmpiloq

     
  • Vassilis V

    Vassilis V - 2012-11-29

    As a user, one of the huge advantages of adempiere is its flexibility with price lists, like the example that Colin pointed out. It would be unfortunate to have a new, great functionality that does not use the same logic.

    When having a situation where you have multiple vendors for the same product, there is no way past having multiple price lists, one for each vendor. Which makes absolutely sense since each vendor may changes his prices at any time, you can import that new pricelist, have it activate on dayX, and the functionality of the system will not be affected.

    A different procurement scenario I have encountered is:
    (keeping close to the scenario in: https://adempiere.atlassian.net/browse/ADEMPIERE-169)
    Step 3 is to import/create the pricelists, one for each vendor.
    Step 4 to tie each vendor (BPartner) to his own pricelist

    When starting a new PO, the default pricelist will be used according to the default purchase pricelist of each vendor
    When doing a requisition, things are a bit more complicated as the system, at the moment, wants to know what pricelist should be used from the start. It would be good to have the option to tell during the requisition process only what products at what quantities are required and have the system create the price lists according to a certain rule. Take the cheapest of all or, if the "current Vendor"/"preferred Vendor" flag is on, use that vendor even if he is more expensive.

    In the scenario from Mike (mjmckay) in the first post, a requisition for a product(resistor) would create a purchase order for Digi-Key even if Arrow is cheaper, because the user has set Digi-Key as a preferred vendor for that product.

    My coding skills are limited but if any help is needed in testing and playing out different scenarios I would be happy to help any way I can!

    Vassilis

     
  • Trifon (An ADempiere founder)

    Hi Colin,

    I can understand why users might want the process as Trifon suggested, but the downside of that way is that you cannot prepare a price change in advance.

    Yes. Indeed this is very good point. In M_ProductPO table, ADempeire has column PriceEffective, but it is not used.

    I think that most of the users do not really care where EXACTLY prices are stored. What they like is to have easy way to change prices, and having purchasing prices in a tab under "Product" window sounds very natural for them.

    Regards,
    Trifon

     
  • Vassilis V

    Vassilis V - 2012-11-29

    I never really understood what the prices in the purchasing tab were used for..  I keep the prices updated through the Price List tab which is also there.

    Vassilis

     
  • Colin Rooney

    Colin Rooney - 2012-11-29

    having purchasing prices in a tab under "Product" window sounds very natural for them

    But aren't the pricelists values in tab (Price) on the product windows too?

    Perhaps what's need is a way to keep the prices on the Purchasing  & Price tabs in sync?

    colin

     
  • tt-igh

    tt-igh - 2015-05-06

    Sorry for issuing this old threat, but is there anything new on this one?

    I asked myself, what the obviously redundant price information is good for. My problem is, that i have to generate new products (and their purchasing/pricelist information) quite frequently.

    My questions are the following:

    Is the price information on the Purchasing tab really redundant?
    Why is the Vendor and pricelist information split on two tabs/tables?
    Is there a way of combining both tables on one tab?
    Is there a process for generating pricelists out of purchasing info?

    Regards

    Tobias

     

Log in to post a comment.