Partner Relations

Beta License: AGPL-3 OCA/partner-contact Translate me on Weblate Try me on Runbot

This module aims to provide generic means to model relations between partners.

Examples would be ‘is sibling of’ or ‘is friend of’, but also ‘has contract X with’ or ‘is assistant of’. This way, you can encode your knowledge about your partners directly in your partner list.

Table of contents

Usage

Relation Types

Before being able to use relations, you’ll have define some first. Do that in Contacts / Relations / Partner relations.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_list.png

A relation type has a name for both sides.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_empty.png

To have an assistant-relation, you would name one side ‘is assistant of’ and the other side ‘has assistant’.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_name_filled.png

Partner Types

The Partner Type fields allow to constrain what type of partners can be used on the left and right sides of the relation.

  • In the example above, the assistant-relation only makes sense between people, so you would choose ‘Person’ for both partner types.
https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_partner_type_filled.png
  • For a relation ‘is a competitor of’, both sides would be companies.
  • A relation ‘has worked for’ should have persons on the left side and companies on the right side.

If you leave these fields empty, the relation is applicable to all types of partners.

Partner Categories

You may use categories (tags) to further specify the type of partners.

You could for example enforce the ‘is member of’ relation to accept only companies with the label ‘Organization’ on the right side.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_category_filled.png

Reflexive

A reflexive relation type allows a partner to be in relation with himself.

For example, the CEO of a company could be his own manager.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_reflexive.png

Symmetric

A symetric relation has the same value for the left and right sides.

For example, in a competitor relation, both companies are competitors of each other.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_symmetric.png

Invalid Relation Handling

When the configuration of a relation type changes, some relations between 2 partners may become invalid.

For example, if the left partner type is set to Person and a relation already exists with a company on the right side, that relation becomes invalid.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_invalid_handling.png

What happens with invalid relations is customizable on the relation type.

4 possible behaviors are available:

  • Do not allow change that will result in invalid relations
  • Allow existing relations that do not fit changed conditions
  • End relations per today, if they do not fit changed conditions
  • Delete relations that do not fit changed conditions

Searching Partners With Relations

To search for existing relations, go to Contacts / Relations / Relations.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation.png

To find all assistants in your database, fill in ‘assistant’ and autocomplete will propose to search for this type of relation.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation_2.png

Now if you want to find Colleen’s assistant, you fill in ‘Colleen’ and one of the proposals is to search for partners having a relation with Colleen.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation_3.png

Searching Relations From Partner View

A smart button is available on the partner form view to display the list of relations.

https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/partner_form_view_smart_button.png https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/partner_form_view_smart_button_2.png

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • Therp BV
  • Camptocamp

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/partner-contact project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.