> For the complete documentation index, see [llms.txt](https://odoo-doc.gitbook.io/user/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://odoo-doc.gitbook.io/user/fr/ventes/pim.md).

# PIM - Product Information Management

Gestion centralisée des informations sur les produits

Modules développés principalement par [Akretion](http://akretion.com) et [ACSONE](http://acsone.eu) comme partie du projet d'e-commerce open-source [Shopinvader](https://shopinvader.com/) : [https://github.com/shopinvader/odoo-pim/](https://github.com/shopinvader/odoo-pim)

## Objectif

✨ Regrouper dans une même application la gestion des informations sur les produits.

![](https://3326627314-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxRKMdmaETmD9A4tCGv%2F-MKC3vPDA1ipGr7fLdP8%2F-MKCCfLY3LrZKMqIM0hn%2Fimage.png?alt=media\&token=ed2a101a-63b0-43b0-8ad8-43f01b0a6a1a)

## Attributs et Jeux d'Attributs de produits

🗄️ La fonctionnalité principale apportée par cet ensemble de module est la possibilité de créer et d'organiser autant d'**Attributs de produits** que l'on souhaite, sans préjudicier la vitesse d'accès aux données.&#x20;

En créant un *Attribut de produit*, on crée un nouveau champ disponible pour tous les produits appartenant au même **Jeu d'Attribut**, et visible dans l'onglet "*Attributs*" de la fiche du produit :

![Attributs d'un produit du Jeu d'Attributs "Meuble"](https://3326627314-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxRKMdmaETmD9A4tCGv%2F-MKCFDvL3KwQpCxrJh7M%2F-MKCHGt35B4BbpdDxOSr%2Fimage.png?alt=media\&token=cb988476-0df7-4c74-9235-6e7826a537e6)

### Création d'un Attribut

Un **Attribut** peut être un champ déjà existant dans Odoo (*Natif*) ou créé pour l'occasion (*Custom*) et peut être de n'importe quel **type** (booléen, texte, sélection multiple...)

![](https://3326627314-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxRKMdmaETmD9A4tCGv%2F-MKCW9t7xsu2C-Mlv6ZE%2F-MKCXTzKbDrOns4jH0gY%2Fimage.png?alt=media\&token=907f11bd-39d7-4b7c-b52f-cb4c0714df76)

{% hint style="info" %}
Un Attribut de type "*Binaire*" est un fichier ou une image.
{% endhint %}

🗂️ Un Attribut appartient nécessairement à un **Groupe d'Attribut** (lors de l'affichage de la fiche produit, tous les attributs du même Groupe seront affichés ensemble) et peut être présent dans plusieurs **Jeux d'Attributs** à la fois (p.ex. le même attribut "*Consommation Électrique*" peut se retrouver à la fois dans les Jeu d'Attribut "*Frigo*" et dans "*Ordinateur*").

⚡ L'option "***Sérialisé***" est à cocher en cas de grosse base de donnée (plus d'une centaine d'attributs) afin de ne pas ralentir la vitesse de l'accès aux informations lors de l'appel des données. Tous les attributs "*Sérialisés"* seront regroupés dans le même objet JSON dans une seule colonne de la table SQL des produits dans la base de donnée, ce qui permet de ne pas alourdir inutilement la table des produits avec des centaines de colonnes vides la plupart du temps.

### Les Attributs de type *Sélection* ou *Sélection Multiple*

📚 Les **Options** possibles d'un Attribut de *Sélection* ou de *Sélection Multiple* peuvent être soit **créées de toute pièce**, soit définies en pointant **certains Objets d'un même type** existant dans Odoo (c'est-à-dire des objets d'un même "*Modèle*" dans Odoo).&#x20;

Pour que les *Options* d'un Attribut de *Sélection* pointent vers des objets existants dans Odoo, il suffit de sélectionner le **Modèle Associé** de l'Attribut puis d'ajouter les *Options* soit manuellement via le bouton "*Choisir les Options de l'Attribut*", soit en définissant un *Domaine* avec la [syntaxe propre à Odoo](http://www.erpish.com/odoo/how-to-use-domains-to-filter-data-records-in-odoo/).

![](https://3326627314-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxRKMdmaETmD9A4tCGv%2F-MKCW9t7xsu2C-Mlv6ZE%2F-MKCZze9LlLKn-r4f4nP%2Fimage.png?alt=media\&token=f34faed7-7e3f-4fc2-ab13-46ed182ebbac)

### Complétude d'un produit

🌡️Il est possible de déterminer si les informations d'un produit sont **complètes ou non** grâce aux attributs choisis dans la liste **Complétude** du *Jeu d'Attribut* de ce produit :

![](https://3326627314-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxRKMdmaETmD9A4tCGv%2F-MKCW9t7xsu2C-Mlv6ZE%2F-MKCZfVGawb0iRGh67Ff%2Fimage.png?alt=media\&token=97d4c8fe-6313-4410-81d6-f1fe9352002c)

Pour chaque élément de la liste **Complétude** il est nécessaire de définir quel est le **taux de complétude** apporté par le remplissage de cet attribut dans une fiche produit.

{% hint style="info" %}
La somme des *Taux de Complétude* doit être obligatoirement égale à 100.
{% endhint %}

Par exemple ici, si seuls les champs "*Pays de destination possibles*" et "*Description Technique*" sont remplis, les informations du produit ne seront "*remplies qu'à 25%*" :

![](https://3326627314-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LxRKMdmaETmD9A4tCGv%2F-MKCW9t7xsu2C-Mlv6ZE%2F-MKCakidi2U3Z6N8r2HQ%2Fimage.png?alt=media\&token=e4e5d46d-63c6-4fdc-871f-7e2d2510cd49)

La liste des attributs à compléter étant disponible en tête de l'onglet "*Attributs*".

{% hint style="warning" %}
Il est possible que certaines informations ne s'affichent pas directement quand on change la valeur d'un Jeu d'Attribut d'un produit ou qu'on rempli un  champ à compléter.

🔄 Dans ces cas, il faut penser à **rafraîchir la page de son navigateur** afin de synchroniser les données affichées avec les données réellement enregistrées en base de donnée.
{% endhint %}
