Comment 8 for bug 1155679

Revision history for this message
Fabien (Open ERP) (fp-tinyerp) wrote :

I do not agree with the proposed solution. It looks like you want to use OpenERP in the wrong way. The issue is not related to the business opportunity but to the way the sale order is designed to be used.

So, let's start by the sale order. On the sale order, you have 3 fields (many2one, res.partner):
  - the contact of the sale order (the one who purchased)
  - the invoicing address
  - the delivery address
By default, only the first one is visible and you have to activate an option to show the three fields on the sale order form.

Suppose I do a sale order, this would give the following data:
  - Sale Order to "Camptocamp, Luc Maurer" (=the main contact, the person that purchased)
  - Invoicing to "Camptocamp, Accounting Department"
  - Delivery to "Camptocamp, Warehouse X"

The first one is usually choosed by the salesperson from the UI or come automatically from the opportunity, pos. The two others fields come from the default address types of the Camptocamp customer.

It looks like you want to label all your sales order to "Camptocamp" and not to "Camptocamp, Luc Maurer". OpenERP accepts this, but in the real life, salesperson used to send their quotation to someone "Camptocamp, Luc Maurer" and not only to "Camptocamp".

In the real life, the email address of the "Camptocamp" company is something like <email address hidden> and the email address of luc maurer is something like <email address hidden>. If you send your quotation to <email address hidden>, there is a chance that the contact of your salesperson (Luc Maurer) never receive your quote. If you send your quotation/sale order by regular mail (the poste) to Camptocamp, ..., Switzerland there is also a big chance that Luc Maurer never receives it.

So, in my opinion, the behaviour of OpenERP 7 is correct and the one you want to do is wrong.

I'd like to understand why you want to put only companies as the contact persons of your sales order and not the real contacts as the contact person of your SO? Can you detail the real reasons why you want to do that?

I can see different reasons:
  - You want the ability to easily search all Sales Order of Camptocamp. This is a real regression that we have to fix. The solution is just to put "child_of" instead of "=" on the partner_id field of the search view of the sale order (and invoice)
  - You think invoicing data are wrong because they are labelled to the wrong partner. This is wrong. The invoice is corrrectly labelled to the invoice address "Camptocamp, Accounting Department". If no invoice address is defined for this company, the invoice is labelled to the sale order contact "Camptocamp, Luc Maurer" which is correct. (for the same reason than the SO, you will not send your invoices to <email address hidden>. You will probably send your invoices to your contact person at the company)
  - You think Journal Items are wrong because they are labelled to "Camptocamp, Luc Maurer". This is wrong. All accounting entries (journal items) are linked to "Camptocamp", and not to the invoice contact "Camptocamp, Luc Maurer". So, this is correct as all accounting reports are per company and it works for reconciliations, bank statements, ...

The misunderstanding is not on the opportunity, but on the way to use the sale order or the invoice. So, can you explain the reason why you want to change the behaviour of the sale order or invoice?

There are may be things to improve/fix. But your merge proposal is a regression, not an improvement.