Module Third Parties (developer)

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Third parties
Numéro/ID du module 1
Doc utilisateur du module Module Third Parties
Doc développeur du module This page

Feature

The Third Party module is used to manage the following objects:

  • Companies
  • Contacts/Addresses
  • Bank information of companies

A third party is a moral or physical entity (prospect, customer, supplier). This can be a company, foundation but also be a physical person. A third party is defined by mandatory information like name and country but also by optional information like capital, professional id, etc... Contacts/Addresses are physical persons of a company or generic addresses. For a physical person, properties of a contact has similar values as properties of contact.

Element Third Party

The PHP class to use to manipulate such object is file htdocs/societe/class/societe.class.php.

It contains CRUD methods to create (C), read (R), update (U) and delete (D) this object.

Business rules:

  • A third party can have 1 or more contacts/addresses.
  • A third party has a property to define if it's a prospect, a customer, none or both.
  • A third party has a property to define if it's a supplier or not.
  • You can attach one to n sales representative (Dolibarr users) to a third party.
  • To complete...

Life cycle:

  • A third party can be created (This calls trigger COMPANY_CREATE)
  • A third party can be modified (This calls trigger COMPANY_UPDATE)
  • A contact/address can be added to a third party.
  • Some elements can be created for the third party like (order, commercial proposal, invoice, contract, ...)
  • A third party can be deleted (This calls trigger COMPANY_DELETE)

Element Third party Prospect

A prospect is just a third party that is a prospect. There is a particular class to manipulate such objects. The PHP class to use to manipulate such object is file htdocs/comm/prospect/class/prospect.class.php.

It contains CRUD methods to create (C), read (R), update (U) and delete (D) this object.

Life cycle:

A prospect has a status :

  • Do not contact (-1) ;
  • Not contacted (0) ;
  • To contact (1) ;
  • Contact in process (2) ;
  • Prospect contacted (3).

Element Contact

The PHP class to use to manipulate such object is file htdocs/contact/class/contact.class.php.

It contains CRUD methods to create (C), read (R), update (U) and delete (D) this object.

Life cycle:

  • A contact can be created (This calls trigger CONTACT_CREATE)
  • A contact can be modified (This calls trigger CONTACT_UPDATE)
  • A contact can be deleted (This calls trigger CONTACT_DELETE)

Permissions

  • ->societe->lire
  • ->societe->creer
  • ->societe->supprimer
  • ->societe->export
  • ->societe->client->voir
  • ->societe->contact->lire
  • ->societe->contact->creer
  • ->societe->contact->supprimer
  • ->societe->contact->export

Tables SQL