← Back to team overview

openerp-india team mailing list archive

[Bug 1151947] Re: Link several addresses on individual partners (not companies)

 

The semantics in OpenERP 7 is clearly that both contacts and addresses are now regular res.partner records. When they belong to the same entity (individual or company), they should obviously be linked to the same parent partner, yielding a hierarchy of res.partner records. That's the basic model on which you should base your reasoning and assumptions.
It follows that the `is_company` flag should be taken as meaning "is a complex entity with possibly multiple contacts or addresses". Its current role in OpenERP 7 is nothing more than refining the way partners are displayed and managed, by adding or removing the option to add child entities, or computing an appropriate display value (`name_get`).

Closely related is the `use_parent_address` flag that lets you flag
contacts that should automatically inherit their parent's address, and
is True by default.

Based on this, item 2 in your bug description is the correct option, and it certainly appears to have a few shortcomings/usability issues.
Of course changing the name of a field in a stable version is out of question, but that does not mean we cannot do it in trunk, and change the label/tooltip of the field in 7.0 in the mean time.

So, what are the options?


In 7.0:
- we could change the tooltip to be very clear about the meaning. That should also help developers avoid mistakenly taking the wrong meaning for it.
- we might change the mini-form view that is displayed by default for the contacts, e.g. by adding the `use_parent_address` field and make it toggle the extra address fields. I'm not sure it's actually possible without losing the improved usability for the more common cases though, so this need further analysis.

In addition to the above, we could do the following in trunk:
- rename `is_company` to something else, like `is_complex` or `is_hierarchy` 
- add a real `is_company` flag with the right semantics - to be discussed

Any thoughts?

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

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

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

** Changed in: openobject-server
     Assignee: (unassigned) => OpenERP's Framework R&D (openerp-dev-framework)

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

Title:
  Link several addresses on individual partners (not companies)

Status in OpenERP Server:
  Confirmed

Bug description:
  Hello,

  Thanks to the Fabien's Q&A on help.openerp.com regarding how to have
  several addresses on partners, I think the situation is clear enough and well
  explained for companies [0].

  However, I still can't find a good way to link several addresses on
  individual customers, not companies, in a B2C context. I posted a
  question and got no response [1].

  Here is a use case, I'll use it in my hypothesis below.

  Mr Foo lives at Bar Street 1.
  He works at Baz Avenue 150 and usually he wants to receive goods at
  work.

  I see 4 hypothesis for that in OpenERP 7:

  1. I create 2 distinct partners:

  * Mr Leo Foo at Bar Street 1
  * Mr Leo Foo at Baz Avenue 150

  They haven't any links between them.

  Problems:

  * From a usability point of view, this would be a mess, especially if I have
    homonyms. I would never be sure what is the main address of Mr Foo and
    would have difficulties to find his good addresses (even if I set Baz
    Avenue 150 as 'delivery' address, I would also the 'delivery'
    addresses of  his homonym Mr Foo in the searches).
  * I would have wrong accounting entries, sometimes on Mr Foo at Bar
    Street, sometimes on Mr Foo at Baz Avenue

  Conclusion:
  It seems to me that this solution is not applicable due to accounting
  issues.

  2. I put the main address of Mr Foo as `is_company`:

  * Mr Leo Foo at Bar Street 1 is the main record, considered as
    `is_company`.
  * Mr Leo Foo at Baz Avenue 150 is a contact of type 'delivery' linked
    to the Mr Foo company record.

  We would not have accounting issues, because this is already handled for
  companies. The searches and usability would be improved over solution 1.

  Problems:

  * Mr Foo is not a company!
  * This would be totally misleading
  * If any existing or future addons use the field `is_company` to apply
    some logic which should only be applied for companies, we would be
    bloody damned with individuals considered as companies

  Conclusion:
  It seems to me that this would be a good solution, but with a renaming
  of the field `is_company` to something more general (and eventually keep
  a field `is_company` to only keep this information). => too late for v7?

  3. This use case is not supported by OpenERP 7 and has to be coded in a
  community addon.

  Problems:

  * We have to be very sure that this problem will be handled
    in only one way. If a part of the community manages it in one way and an
    other part in another way, we'll start to see incompatibility between
    addons (and OpenERP risks issues for migrations too).

  Conclusion:
  It would be very surprising because this use case is very basic for B2C.
  I think that a so 'low level' part of the datamodel should be defined by
  OpenERP to avoid to compromise higher level addons. A change on theses
  base models can have an impact on all the other addons (see
  base_contact).  But let's admit this hypothesis is the good one.

  I'm alright to create a community addon to handle this use case (by the
  way, this is a prerequisite to synchronize openerp with magento). But I
  expect a strong guidance from OpenERP, I need to know how this link
  should be done (add an `is_individual` field like the `is_company`
  field? Just add the `parent_id` field accessible everytime?) to ensure
  that the community addon's solution won't go against the current with
  OpenERP devs.

  4. I just missed the way to do that

  Conclusion:
  The usability on this point should be improved because no one has ever
  answered to my question :-)

  
  What is the solution advocated by OpenERP and why?
  Thanks

  
  Guewen

  
  [0] http://help.openerp.com/question/4341/on-v61-one-partner-could-have-several-addresses-invoicing-delivery-is-this-still-possible-in-v7/
  [1] http://help.openerp.com/question/135/how-do-i-attach-different-addresses-on-a-individual-customer/

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


References