# OPTION - Module Odoo Transfos (Fabrication) # Introduction

Voir la vidéo d'introduction du module Odoo transfo sur Graptube : [https://tube.grap.coop/w/2sDEMrQZrF2s1txrY3ep8x](https://tube.grap.coop/w/2sDEMrQZrF2s1txrY3ep8x)

Le projet que l'on nomme "Odoo transfo" est en cours de développement. En janvier 2023, un 1er lot a été mis à disposition de tou·te·s les volontaires, après une phase de test chez quelques actis. Ce lot 1 rend possible les actions suivantes : - Ecrire ses fiches recettes (fiches techniques) pour les produits finis et produits intermédiaires (ex. pour l'article fini coffret 3 bières, on a une fiche technique intermédiaire "fût de bière", puis "bière à l'unité") - Gérer les prix de vente en tenant compte des fluctuations des prix d'achat des matières premières - Gérer les allergènes et imprimer des tableaux d'allergènes - Générer des listes d'achat pour réaliser une ou plusieurs recettes - Gérer la saisonnalité des produits finis (en tenant compte de la saisonnalité des matières 1ères) Le tout se "cache" derrière cette icône : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-05/scaled-1680-/NFJimage.png). Si vous ne l'avez pas sur votre compte Odoo, vous pouvez demander au pôle info de l'ajouter : . # 0/ Configuration En attente Lorsque vous démarrez dans l'utilisation du module "fabrication", il existe plusieurs petits paramétrages de départ que vous pouvez faire pour personnaliser l'outil à votre contexte : ##### **1/ les saisonnalités** Pour qu'Odoo puisse vous alerter sur la disponibilité ou non d'un article contenu dans une ou plusieurs fiches techniques, vous pouvez créer vos saisonnalités dans Fabrication > Configuration > Saisonnalités : [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-08/scaled-1680-/YHyimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-08/YHyimage.png)

Et il est possible de définir quelle est la saisonnalité par défaut à appliquer sur les nouvelles fiches techniques ou fiches articles pour éviter les ressaisies (généralement c'est la saisonnalité "toute l'année").

##### **2/ les Tags** ##### **3/ les catégories de repas** ##### **4/ les allergènes** ##### **5/ les catégories de marge** # 1/ Création des fiches techniques

Une fiche technique = une recette.

Chaque recette est liée à une fiche article de type "produit fini" (ex. tarte à la myrtille). Cela dit, une même fiche article de produit fini peut héberger plusieurs fiches techniques (on peut avoir plusieurs versions de recettes pour la tarte à la myrtille). Une fiche technique nécessite la création de fiches articles : - pour les matières 1ères (ex. myrtilles), - éventuellement pour des articles intermédiaires ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/yQ7image.png) (ex. pâte à tarte : composée elle-même de plusieurs matières 1ères). On créera aussi une fiche technique pour cet article intermédiaire. - et pour le produit fini ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/8hXimage.png)!

Ces fiches article peuvent être créées au préalable, ou pendant l'écriture de la recette dans Odoo.

##### Mémo
**Fiche article** **Fiche technique**
**Matière première** (ex. sucre, eau, bouteille, sachet, farine, etc.) **X**
**Produit intermédiaire** (ex. brassin, café brut, pâte à tarte, etc.) **X** **X**
**Produit fini** (pain, tarte, bière embouteillée, café emballé, etc.) **X** **X**
### Flux principaux Voici les flux principaux entre **article**, **recette** et les différents prix, que nous allons voir dans les différents tutos. En fond vert, les nouveautés des modules Odoo Transfo. [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-01/scaled-1680-/F4bimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-01/F4bimage.png) ### ### Créer un article

Nous avons documenté cette partie en vidéo ! Voir sur Graptube ici : [https://tube.grap.coop/w/kfkvWLjkBE3mGMsPfgRho3](https://tube.grap.coop/w/kfkvWLjkBE3mGMsPfgRho3) [![miniature_02.png](https://librairie.grap.coop/uploads/images/gallery/2023-01/scaled-1680-/miniature-02.png)](https://librairie.grap.coop/uploads/images/gallery/2023-01/miniature-02.png)

Pour créer un article dans Odoo, voir la documentation classique > [ICI](https://librairie.grap.coop/books/odoo-v12/chapter/base-articles) <

Penser à renseigner le champ "Poids Net" pour les articles à la pièce afin que le poids total des composantes de la recette puisse être correct. ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-03/scaled-1680-/j3Qimage.png)

\+ Avec les modules Transfo s'ajoute un onglet spécial "transfos" : "Informations de production"
[![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/YiDimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-11/YiDimage.png)
On pourra indiquer dedans : - **La catégorie de repas** : ex. entrée / plat / dessert... qui servira à classer les allergènes dans l'export PDF par exemple - **Allergènes** - **La saisonnalité** : ex. dispo toute l'année / produit d'hiver / etc. - **Mercuriale** : date de dernier relevé de prix - **Temps de production** : pour les produits intermédiaires ou finis
### Créer une fiche technique

Nous avons documenté cette partie en vidéo ! Voir sur Graptube ici : [https://tube.grap.coop/w/tBvazgk61QvGSb1YShn5L2](https://tube.grap.coop/w/tBvazgk61QvGSb1YShn5L2) [![miniature_03.png](https://librairie.grap.coop/uploads/images/gallery/2023-01/scaled-1680-/o3zminiature-03.png)](https://librairie.grap.coop/uploads/images/gallery/2023-01/o3zminiature-03.png)

Aller sur le menu ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/n0Wimage.png)> ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/d7Bimage.png) et cliquer sur ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/ogtimage.png).
Partie 1 : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/37Iimage.png) **Photo** : celle de la fiche article **Nom** : nom de la recette, ici royal chocolat Fiche technique - produit fini (ou produit intermédiaire) => s'inscrit automatiquement **Article** : l'article auquel est liée la fiche technique **Recette pour** : multiplicateur de l'unité de mesure de la fiche article (nombre de parts, nombre de gâteaux, ...) **Description de conditionnement** : champ texte. Exemple : 90g par part. **Note** : dans le cas où il y aurait plusieurs recettes pour le royal au chocolat, on peut imaginer que le mieux noté serait celui à réaliser en priorité.
Partie 2 : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-03/scaled-1680-/Tcbimage.png) **Référence** : identifiant unique de la fiche technique composé du trigramme de l'activité + trigramme du produit (fiche article) + numéro unique. **Tags** : étiquettes qui peuvent servir de critères de tris par ailleurs.
Partie 3 : [![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/u8Pimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-11/u8Pimage.png) **Coût** : comparaison du prix de revient de la fiche article avec le prix de revient cumulé de tous les articles insérés dans la fiche technique + infos sur le prix de vente et la marge. **Temps** : temps estimé pour réaliser la recette.
Partie 4 : [![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/Tpkimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-11/Tpkimage.png) **Saisonnalité** : permet de gérer les recettes que l'on ne fait que sur une période de l'année, et aussi les ingrédients disponibles sur une partie de l'année seulement (avec alertes si indisponibilité) ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/EYOimage.png) **De saison** : se coche automatiquement en fonction de la saisonnalité définie au-dessus **Composants de saison** : idem, en fonction des composants renseignés en partie 5 **Labels** : à inscrire pour la recette : n'est pas hérité de la fiche article ou des composantes de la recette. **Allergènes** : somme des allergènes des composants de la recette
Partie 5 : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-03/scaled-1680-/AYpimage.png) Description longue et courte dans l'onglet "notes"![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-03/scaled-1680-/Yl1image.png) Ex. de recette avec pertes : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/skQimage.png) Les flèches permettent d'ajuster les quantités en fonction de la perte : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/Imjimage.png) Le tableau dans lequel lister tous les ingrédients (parfois des recettes intermédiaires type "pâte à tarte") présents dans la recette. ##### A saisir : **Composant** : sélectionner toutes les fiches articles nécessaires à la réalisation de la recette **Quantité** : correspond à la quantité nécessaire à la recette (nombre de pièces ou nombre de kilos) => lorsqu'il y a de la perte, on peut indiquer un % de perte (ex. effeuillage, évaporation, ...) et/ou une quantité nette différente de la quantité brute) **Temps réel** : à saisir (facultatif) dans le contexte de cette recette en particulier **Notes** : champs libres à propos de la recette ##### Hérité de la fiche article : **Temps théorique, labels, allergènes, saisonnalité**

il est possible d'associer 1 ou 2 images supplémentaires à la recette dans l'onglet "images"

#### **Cas pratique** : je suis pâtissier·e et mon dessert phare est la tarte aux myrtilles. Je fais tantôt une version "classique" tantôt une version vegan, selon le souhait de mes client·e·s. Je m'appuie sur ces 2 recettes :
[![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/9XNimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-11/9XNimage.png) [![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/Y1pimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-11/Y1pimage.png)
Dans Odoo je vais créer : - 4 fiches techniques (2 produits finis que sont la tarte myrtilles standard et la tarte aux myrtilles vegan et 2 produits intermédiaires que sont la pâte sablée standard et la pâte sablée vegan) - 1 fiche article pour le produit fini "tarte aux myrtilles" - 1 fiche article pour chaque pâte sablée - 1 fiche article pour chaque matière 1ère (celles qui servent dans la pâte sablée et les autres) [![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/h2oimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-11/h2oimage.png) Puis je vais constituer mes 2 versions de recettes reliées à la fiche article "tarte aux myrtilles". Pour imprimer une ou des fiches techniques, c'est par ici : [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-08/scaled-1680-/Tu2image.png)](https://librairie.grap.coop/uploads/images/gallery/2023-08/Tu2image.png) # 2/ Gestion des prix

Nous avons documenté cette partie en vidéo Voir sur GrapTube ici : [https://tube.grap.coop/w/tBvazgk61QvGSb1YShn5L2](https://tube.grap.coop/w/tBvazgk61QvGSb1YShn5L2) [![miniature_04.png](https://librairie.grap.coop/uploads/images/gallery/2023-01/scaled-1680-/miniature-04.png)](https://librairie.grap.coop/uploads/images/gallery/2023-01/miniature-04.png)

L'objectif est de mettre à jour ses prix à mesure que les fournisseurs changent les leurs pour garder un niveau de marge équivalent. Pour se faire, on va tout d'abord agir sur les prix de revient des matières 1ères, puis ceux des produits intermédiaires et enfin ceux des produits finis. Enfin, quand les prix de revient seront à jour, on peut intervenir sur le prix de vente de ces produits finis. → Tout ce flux se déroule dans le sous-menu ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/KXfimage.png) du menu ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/EOJimage.png). [![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/xb5image.png)](https://librairie.grap.coop/uploads/images/gallery/2022-11/xb5image.png) #### 1. Rentrer les mercuriales Choisir l'entrée par "Matières premières" (toutes les matières 1ères par ordre alpha) ou par "Prix fournisseur" : tri par fournisseur principal·e. Saisir les nouveaux prix d'achat : une nouvelle date s'inscrit dans la colonne "relevé prix". On peut également mettre une date de fin de mercuriale (elle devient rouge quand la date est dépassée, pour avertir qu'il faut indiquer un nouveau prix). [![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/znoimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-11/znoimage.png) Valider en cliquant sur "sauvegarder".

Le fait de mettre à jour le prix de revient des matières 1ères se répercute automatiquement sur le prix de revient des fiches techniques dans lesquelles elles sont.

En revanche, cela n'agit pas sur les fiches articles : d'où la nécessité de faire l'action décrite ci-dessous en point **2.**

#### 2. Mettre à jour les prix de revient des fiches techniques ##### Prix de revient des produits intermédiaires Aller sur **Gérer les prix > 2. Mettre à jour les prix de revient > Produits intermédiaires** ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-11/scaled-1680-/VwPimage.png) - Les articles orangés sont ceux pour lesquels le prix de revient des matières premières a évolué. - Le prix de revient de la fiche technique s'est recalculé (colonne "GT - PdR"). Pour le reporter dans la fiche article associée, il suffit de cliquer sur la petite flèche noire. ##### Prix de revient des produits finis Même action que ci-dessus dans **Gérer les prix > 2. Mettre à jour les prix de revient > Produits finis**

A ce stade, les prix de revient sont corrects, mais les prix de vente sont restés les mêmes. Il faut désormais les mettre à jour pour garder un niveau de marge correct.

#### 3. Mettre à jour les prix de vente Aller dans dans **Gérer les prix > 2. Mettre à jour les prix de vente et les marges > Produits finis** De la même manière que pour le point 2., utiliser les flèches pour ajuster les prix de vente en fonction du prix de revient ET de la marge souhaitée (catégorie de marge) pourvu que vous l'ayiez renseignée. Si ce n'est pas le cas, vous pouvez quand même écrire dans la colonne "prix de vente" directement et avoir un taux de marque calculé qui s'affiche pour information. # 3/ Edition des allergènes Pour imprimer son tableau des allergènes, aller dans ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-12/scaled-1680-/5Wkimage.png) puis : - Cliquer sur le sous-menu "Imprimer le tableau des allergènes" (**2**) - (**3**) Choisir d'imprimer les codes allergènes ou les noms complets - (**3**) Choisir de faire des regroupements par [catégorie de repas](https://librairie.grap.coop/books/odoo-v12/page/0-configuration) - Supprimer avec la petite poubelle de bout de ligne les fiches techniques pour lesquelles vous ne souhaitez pas faire d'impression (**4**) - et cliquer sur "Imprimer" (**5**). [![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-12/scaled-1680-/eNlimage.png)](https://librairie.grap.coop/uploads/images/gallery/2022-12/eNlimage.png)

On peut aussi aller dans ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-12/scaled-1680-/5Wkimage.png) puis ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-12/scaled-1680-/QAqimage.png), cocher les fiches techniques pour lesquelles on veut faire l'impression, puis faire ![image.png](https://librairie.grap.coop/uploads/images/gallery/2022-12/scaled-1680-/Zi2image.png)

# 4/ Assistant de production (liste achats de mat. 1ères et production) Il existe plusieurs chemins, selon que vous souhaitiez créer une liste d'achats : - pour plusieurs recettes (**A**) - pour 1 recette donnée (**B**) #### **A/ Pour plusieurs recettes** - Aller dans le menu `Fabrication` (**1**) et sous menu `Fiches techniques` (**2**) - Cocher les recettes pour lesquelles vous souhaitez générer une liste d'achats (**3**) - Cliquer sur Action > Assistant de production (**4**) [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-08/scaled-1680-/aiQimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-08/aiQimage.png) Puis mêmes étapes personnaliser le contenu (avec ou sans prix, avec ou sans fiches techniques, etc.) : [![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-03/scaled-1680-/5Nqimage.png)](https://librairie.grap.coop/uploads/images/gallery/2024-03/5Nqimage.png) Et ça donne ça : [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-08/scaled-1680-/YC7image.png)](https://librairie.grap.coop/uploads/images/gallery/2023-08/YC7image.png) [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-08/scaled-1680-/vmjimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-08/vmjimage.png) **+ les fiches techniques** si vous avez coché l'option [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-08/scaled-1680-/Nqaimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-08/Nqaimage.png) #### **C/ Pour une recette donnée** Depuis la fiche technique, il est possible également de générer la liste d'achats, en passant par le bouton "action" : [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-08/scaled-1680-/60Gimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-08/60Gimage.png) # 5/ Gestion groupée des ventes et de la production

**🎥 Voici la présentation en vidéo de ce module :**

L'objectif est de traduire des commandes en ordres de production et extraire une feuille de route avec les quantités à acheter et à produire en s'appuyant sur les fiches recette. ##### Comment ça marche ? 1. Dans **Fabrication > Groupe de ventes à produire**, cliquer sur ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/kfyimage.png) 2. Nommer / dater l'ordre de production et mettre éventuellement un commentaire ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-03/scaled-1680-/lxXimage.png) 3. Cliquer sur "ajouter une ligne" pour accéder à la liste des commandes encore en "devis" : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/r22image.png) 4. Cocher les devis à valider et produire![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/I7Mimage.png) puis cliquer sur ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/20Gimage.png) 5. On obtient le récapitulatif suivant :![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/s0Iimage.png) A partir de là, on peut : (**1**) Consulter et/ou modifier les quantités commandées : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/ozNimage.png) (**2**) Transformer un ou plusieurs devis (correspond au bouton "confirmer" dans le menu "Ventes") en commandes à faire et livrer. (**3**) Imprimer le résumé des ventes : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/sRsimage.png) (**4**) Éditer le PDF "assistant de production" : liste de matières premières à acheter, produits intermédiaires à réaliser puis recettes de produits finis : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/Dx6image.png) et ça donne ça :
![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/Bbyimage.png)![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/yyIimage.png)
![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/w1Timage.png)![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/bXwimage.png)

Lorsque toutes les ventes n'ont pas une fiche technique associée, le bandeau suivant apparait, et l'on peut retrouver les articles qui n'ont pas de fiche technique : ![image.png](https://librairie.grap.coop/uploads/images/gallery/2024-03/scaled-1680-/6hBimage.png)

# [tech][Odoo MRP] Présentation générale Odoo Transfo Voici toutes fonctionnalités ajoutées à Odoo concernant les métiers de transformation alimentaire et artisanale dans Odoo. Tous nos développements sont en licence libre, réutilisable, modifiable, améliorable à votre convenance. On indique dans chaque paragraphe où retrouver le module en question. ## 📋 \[Bom\] Les Nomenclatures deviennent des Fiches Techniques

L'assemblage final de la vue de la Fiche Technique est géré dans le module custom de Grap [dans ce fichier](https://github.com/grap/grap-odoo-custom/blob/12.0/grap_change_views_mrp/views/view_mrp_bom.xml).

Dans l'alimentation, on parle pas de nomenclature (plutôt réservé à l'industrie) mais de Recettes ou encore de Fiches Techniques. C'est ce dernier terme qui a été retenu car il est utilisé par les professionnel·les. Voici à quoi ressemble actuellement une Nomenclature/Fiche technique à Grap. [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-12/scaled-1680-/PxWimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-12/PxWimage.png) #### Ajouts sur la fiche technique
Référence unique de recette ✨

Nouveaux champs `code` dans `mrp.bom` et `tla` dans `product.product` dans le modèle fourre-tout [mrp\_business](https://github.com/grap/grap-odoo-custom/tree/12.0/mrp_business)

Un article peut être lié à plusieurs Fiches Techniques. On voulait avoir une référence unique pour retrouver de façon précise une recette. À la création de la fiche technique, l'utisateur·rice appuie sur le bouton Définir la référence. En fonction du nom de l'article et du nombre de fiches techniques déjà liées, Odoo propose une référence unique composée du trigramme de l'activité - d'un trigramme du produit et du chiffre adéquate. *Exemple "MAT-AMA-1" : MAT car l'activité s'appelle Matisserie, AMA pour Amande et 1 car c'est la première fiche technique du produit.* [![Peek 12-04-2023 11-50.gif](https://librairie.grap.coop/uploads/images/gallery/2023-04/peek-12-04-2023-11-50.gif)](https://librairie.grap.coop/uploads/images/gallery/2023-04/peek-12-04-2023-11-50.gif)
Les Fiches Techniques nommés en XXX sont celles où l'utilisateur·rice n'a pas appuyé sur "Définir la référence" [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/zUrimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/zUrimage.png)
Tags colorés sur les fiches techniques 🎨

Module dédié `mrp_bom_tag` disponible ici [https://github.com/grap/grap-odoo-custom/tree/12.0/mrp\_bom\_tag](https://github.com/grap/grap-odoo-custom/tree/12.0/mrp_bom_tag)

Nouveau modèle lié à `mrp.bom` qui permet de créer des tags à la volée sur une fiche technique.
Cela peut permettre retrouver plus rapidement et visuellement une information[![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/Bviimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/Bviimage.png)
Ou de classer des articles en catégories car les tags peuvent être classés en arborescence.[![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/leEimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/leEimage.png)
Descriptions et temps indicatif 🌸

Tous ces nouveaux champs sont dans le module temporaire fourre-tout [mrp\_business](https://github.com/grap/grap-odoo-custom/tree/12.0/mrp_business).

##### Descriptions Ajout de champ de Description `description_short`, Description longue `description_long` , Description de conditionnement `description_packaging` ##### Gestion du temps Actuellement très simple, un champ libre pour écrire le temps nécessaire à la recette `time_to_produce`
Gestion du poids sur les recettes ⚖️

Module dédié `mrp_bom_line_net_qty` : [https://github.com/grap/grap-odoo-custom/tree/12.0/mrp\_bom\_line\_net\_qty](https://github.com/grap/grap-odoo-custom/tree/12.0/mrp_bom_line_net_qty)

Trois fonctionnalités dans ce module : - Gestion du poids net, poids brut et du pourcentage de perte pour chaque ligne de recette *→ je perds 5% de matières quand j'épluche ce légume donc il faut que ça impacte mon poids net* - Pourcentage de chaque ligne de recette *→ combien de margarine j'ai dans ma recette ?* - Poids net et brut de la recette *→ pour ajuster son prix au kilo au plus proche de la réalit*
Saisonnalités, allergènes et labels ☀️

Dans le module fourre-tout `mrp_food` : [https://github.com/grap/grap-odoo-custom/tree/12.0/mrp\_food](https://github.com/grap/grap-odoo-custom/tree/12.0/mrp_food)

[![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/3Znimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/3Znimage.png) ##### Saisonnalités Nouveau modèle dans Odoo `seasonality` (lié à des `seasonality.line`) qui permet de configurer des saisons classiques (printemps, été etc.) ou des saisons marchandes (Pâques, Noël) ou dire que c'est un produit de toute saison. Modèle lié aux Fiches Techniques `mrp.bom` et aux Articles `product.product` pour faciliter des jeux de filtres, mettre un avertissement pour indiquer que "cette fiche technique n'est pas de saison" etc. Selon la date du jour, Odoo affiche si l'Article ou la Fiche Technique est alors de saison ou non.
Exemple ici, nous sommes en avril et les framboises ne sont pas de saison, le reste oui [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/tHkimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/tHkimage.png)
##### Allergènes Ajout de champs d'allergènes (modèle `product.allergen` crée dans le module de Grap [product\_food) ](https://github.com/grap/grap-odoo-business/tree/12.0/product_food)sur les lignes de fiche technique (composants) et sur la fiche technique elle-même. Les allergènes de la fiche technique sont construits par concaténation des allergènes des composants et de l'article lié à la Fiche Technique. ##### Labels Ajout de labels (bio par exemple) sur les lignes et la fiche technique elle même. Par contre, le label sur la fiche technique est à rentrer manuellement (pour ne pas rentrer dans la complexification de la labellisation d'une fiche technique).
## 📊 Gestion groupée des ventes et de la production

Nouveau module `mrp.sale.grouped` pour gérer en un écran les ventes et la production de "sa semaine" (ou de son mois etc.) [https://github.com/grap/grap-odoo-custom/pull/330](https://github.com/grap/grap-odoo-custom/pull/330)

- On concatène des Ventes `sale.order` - On fait le lien avec les produits et quantités de ses `sale.order` - On peut modifier ces quantités grâce au module `web_widget_x2many_2d_matrix` - Vision du CA théorique de la semaine - Validation facilitée des ventes - 🖨️ Impression d'un résumé des ventes (produits / clients) - 🖨️ Lien avec [l'assistant de production décrit plus bas](https://librairie.grap.coop/books/odoo-v12/page/techodoo-mrp-presentation-generale-odoo-transfo#bkmrk-g%C3%A9n%C3%A9rer-une-liste-d%27) - PDF récap : quoi produire en produits finis (tarte aux pommes) + produits intermédiaires (tarte) et des matières premières à avoir (pommes, farine etc.) - PDF d'un tableau double entrée produits / fiche technique - PDF des fiches techniques **🎥 Voici la présentation en vidéo de ce module :** ## 🥕 \[Product\] Informations de production Ajout d'un onglet sur notre fiche article pour gérer les nouveaux champs liés à la production alimentaire. [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/NJFimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/NJFimage.png)
Catégorie de repas 🍽️ Nouveau modèle Odoo `mrp.meal.category` très simple qui permet de catégoriser des articles par exemple en créant des catégories "Entrées", "Plats", "Desserts" . Utile pour imprimer un menu d'allergènes par exemple, ce qu'on verra plus bas

Actuellement dans le module temporaire mrp\_business ici : [https://github.com/grap/grap-odoo-custom/blob/12.0/mrp\_business/models/mrp\_meal\_category.py](https://github.com/grap/grap-odoo-custom/blob/12.0/mrp_business/models/mrp_meal_category.py)

Saisonnalités, allergènes ☀️ Décrit plus haut pour la Fiche Technique.
Mercuriale - gérer ses prix de matières premières 📜 Ajout de deux champs Relevé Prix `date_last_statement_price` et Fin mercuriale `end_date_of_market_price_list` qui vont avec l'ajout d'une vue Tree éditable. Quand on modifie le Coût d'un article, le champ Relevé Prix se met à jour avec la date du jour. On peut alors indiquer une date de Fin mercuriale : Odoo indiquera en rouge quand la date sera dépassée, informant l'utilisateur·rice qu'iel doit peut-être revoir le coût de l'article. [![Peek 12-04-2023 12-26.gif](https://librairie.grap.coop/uploads/images/gallery/2023-04/peek-12-04-2023-12-26.gif)](https://librairie.grap.coop/uploads/images/gallery/2023-04/peek-12-04-2023-12-26.gif)
## 🖇️ Impression de document #### Tableau des allergènes

Nouveau module et visuels disponibles ici [mrp\_bom\_print.](https://github.com/grap/grap-odoo-custom/tree/12.0/mrp_bom_print)

Permet actuellement d'imprimer un tableau d'allergènes des Fiches Techniques que l'on sélectionne. Quelques options disponibles, et notamment l'ordre des recettes sur le PDF conditionné par la "catégorie de repas" [présenté juste en haut](https://librairie.grap.coop/books/odoo-v12/page/0-presentation-generale-fonctionnelle-et-technique#bkmrk-%F0%9F%8D%BD%EF%B8%8F-cat%C3%A9gorie-de-repa). ## 💻 Écran, menus et actions simplifiés
Gérer facilement le prix et la marge Recette ←→ Article

Nouveau module et visuels disponibles ici [mrp\_bom\_sale\_product\_margin](https://librairie.grap.coop/mrp_bom_sale_product_margin).

Ajouter un modèle (mrp.bol) pour calculer le coût d'un article (product.product) n'est pas forcement intuitif et facile à prendre en main On a donc chercher à simplifier tout ça : depuis la Fiche Technique, on voit donc désormais des informations du Produit lié : son Coût, son Prix de Vente, la marge actuelle, et on peut agir sur le Coût - ce qui paraît intuitif car on prend le coût de la Fiche Technique pour l'y appliquer.
**1 :** La recette est faite pour 100 pièces, mais l'article est bien à la pièce, un coefficient sera donc appliqué **2 :** Le coût de cette Fiche Technique pour 1 pièce est de 0,98€ **3 :** Alors que le Produit lié à un Coût à 0,85€ **4 :** Et un Prix de Vente à 4,20€ **5 :** Le bouton permet d'appliquer le nouveau coût [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/nc5image.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/nc5image.png)
Le coût de la Fiche Technique que l'on voit a bien été appliqué au Produit. Reste à modifier le Prix de Vente selon la marge que l'on souhaite appliquer ! [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/GCgimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/GCgimage.png)
Accéder facilement aux matières premières 🥕 produits intermédiaires 🧩 et finis 🥧 Dans l'alimentaire, on peut avoir pas mal de cas différents. Pour simplifier la recherche de certains produits et Fiches Techniques, nous avons eu besoin de bien séparer les matières premières 🥕 des produits intermédiaires 🧩 des produits finis 🥧.
**Matières premières 🥕** Carottes
**Produit seulement intermédiaires 🧩** Une pâte à tarte
**Produit intermédiaires 🧩 et produits finis 🥧** Légumes lacto-fermentés (que l'on vend en vrac)
**Produits seulement finis 🥧** Bocal avec des légumes lacto-fermenté
Nos filtres Produits et Fiches Techniques dans Odoo

Ajout de champs sur - `product_product` : `is_component` et `is_intermediate` dans `mrp_food`, - `mrp_bom` : champ liés `product_intermediate` et `product_finished` liés au product

**Filtre sur les produits** **Doit respecter toutes ses conditions**
**Produits finis 🥧** `sale_ok` = True `bom_line_ids` = False
**Produit intermédiaires 🧩** `bom_line_ids` = True `and` `bom_count` > 0
**Matières premières 🥕** `bom_line_ids` = True `and` `bom_count` = 0
On voit que : - matières premières et produits intermédiaires ne se recoupent (la différence est dans le fait d'avoir ou nonune fiche technique qui permet de calculer son coût) - produits intermédiaires et produits finis sont des catégories non excluantes :
## 📈 Gestion simplifiée : de l'achat des matières premières à la vente du produit

Ce menu est crée dans le module custom de Grap, notamment [dans ce fichier](https://github.com/grap/grap-odoo-custom/blob/12.0/grap_change_views_mrp/views/menu.xml).

Dans un contexte d'inflation et de changement régulier des prix des matières premières, ce menu facilite les étapes à à suivre pour gérer ses prix : - 📜 1. D'abord on met à jour ces **prix de matières premières** - soit par "Matières Premières" qui permet de modifier directement le Coût d'un article - soit par "Prix fournisseur·es" qui permet de modifier une information fournisseur puis de l'appliquer au Coût de l'article - 📋 2. Puis on met à jour les **coûts des Fiches Techniques** - d'abord des Produits intermédiaires (exemple la fiche Technique de "pâte à tarte") - puis des Produits finis (exemple "Tarte à l'oignon" contenant la "pâte à tarte") - 🥧 3. Et enfin on met à jour les **prix de vente de l'article vendu**, lié à la bonne Fiche Technique Chaque menu amenant à une vue arbre éditable ou avec des boutons d'actions [![image.png](https://librairie.grap.coop/uploads/images/gallery/2023-04/scaled-1680-/SOUimage.png)](https://librairie.grap.coop/uploads/images/gallery/2023-04/SOUimage.png)