← Back to team overview

openerp-india team mailing list archive

[Bug 1246116] Re: issue with supplier reference and price in purchase order

 

Hi Alexis,

Thanks for reporting. The configuration you describe is a bit unusual
because there is little reason to mark a contact as a supplier in most
cases. Nevertheless if users do it, then perhaps they actually meant to
have that contact always appear as the supplier for a given product. And
in that case, they should probably be able to select that supplier on
the product form, so the system will automatically select it when a
draft PO is created for a procurement.

Based on the above, the fix I would suggest is to correct the supplier
matching in purchase.order.line.onchange_product_id() so that it will
allow matching any supplier that belongs to the same "commercial entity"
(comparing `.commercial_partner_id.id` of both partners, instead of
`id`) . This should be a one-line patch and would give maximum
flexibility to the users. The first match would be found in the order in
which they defined the suppliers. What do you think?

** Changed in: openobject-addons
   Importance: Undecided => Low

** Changed in: openobject-addons
       Status: New => Confirmed

** Changed in: openobject-addons
    Milestone: None => 7.0

** Changed in: openobject-addons
     Assignee: (unassigned) => OpenERP R&D Addons Team 2 (openerp-dev-addons2)

-- 
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Addons.
https://bugs.launchpad.net/bugs/1246116

Title:
  issue with supplier reference and price in purchase order

Status in OpenERP Addons (modules):
  Confirmed

Bug description:
  Here is the scenario to reproduce the problem on an up-to-date OpenERP v7.0 :
  1. create a new DB with demo data
  2. install the "purchase" module
  3. Add yourself to the "Purchase pricelist" group
  4. Edit the contact "Phillipp Miller" from "Mediapole" and set "supplier" = True
  5. Edit the "default purchase pricelist" and, in the first rule, set "Based on" = "Supplier prices on the product form"
  6. Edit the product "USB Adapter" : in the procurement tab, open the supplier info with supplier "Mediapole" and set :
  - Supplier Product Name : Super USB3 Adapter
  - Supplier Product Name SUSB3
  - add a price rule : Quantity = 1, Price = 42.0
  7. Create a new purchase order with partner = Philipp Miller (from Mediapole). Add a product line and choose product "USB Adapter" :
  - the description is set to "[ADPT] USB Adapter" -> that's a bug, the description should be "[SUSB3] Super USB3 Adapter"
  - the price is set to 0.0 -> that's a bug, the price should be 42.0.

  Cause of the bug :
  if you look at the code of purchase/purchase.py line 949, in the function onchange_product_id(), and the code of product/product.py line 624 in the function name_get(), you see that OpenERP looks for an exact match between partner_id of the purchase order and the 'name' field (M2O on res.partner) of product.supplierinfo. This is bad because our beloved OpenERP users may select a contact instead of a company in either a purchase order or a product.supplierinfo (nothing prevents them from doing so). The problem is the same for the supplier price.

  I propose the following solution to fix the problem :
  - in product.supplierinfo, you can only select a partner with "is_company" = True
  - in the function onchange_product_id of the purchase.order.line, it should jump to the parent of the partner_id if it exists before querying the price and the description.
  I have implemented the solution in a small module "purchase_fix_partner" that you can find in the branch lp:~akretion-team/+junk/addons-no-fluff-70 (https://code.launchpad.net/~akretion-team/+junk/addons-no-fluff-70)

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/1246116/+subscriptions


Follow ups

References