<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dolibarr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Weglob</id>
	<title>Dolibarr ERP CRM Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dolibarr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Weglob"/>
	<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php/Special:Contributions/Weglob"/>
	<updated>2026-11-14T19:33:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Auto_PMP_(FR)&amp;diff=69029</id>
		<title>Module Auto PMP (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Auto_PMP_(FR)&amp;diff=69029"/>
		<updated>2026-11-12T20:01:46Z</updated>

		<summary type="html">&lt;p&gt;Weglob: FR categories: TemplateDocUtil + Category:Modules complémentaires&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Titre de la page (FR) : Module Auto PMP (FR) --&amp;gt;&lt;br /&gt;
&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_Auto_PMP]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=AutoPMP&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2569&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Module Produits activé (module Marges conseillé pour voir les marges)&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=ID module 500000&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module Auto PMP (AutoPMP) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 2.1.0&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 500000&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 19.0 à 24.0&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Auto PMP&#039;&#039;&#039; ajoute un bouton &#039;&#039;&#039;« Actualiser Prix de Revient »&#039;&#039;&#039; sur les &#039;&#039;&#039;devis&#039;&#039;&#039;, &#039;&#039;&#039;commandes clients&#039;&#039;&#039; et &#039;&#039;&#039;factures clients&#039;&#039;&#039; en brouillon.&lt;br /&gt;
&lt;br /&gt;
Un clic copie le &#039;&#039;&#039;Prix Moyen Pondéré (PMP)&#039;&#039;&#039; de chaque produit dans le prix de revient de sa ligne, puis Dolibarr recalcule les marges. Plus besoin de saisir les prix de revient ligne par ligne, et vos marges correspondent à la vraie valeur du stock.&lt;br /&gt;
&lt;br /&gt;
Le PMP est calculé par Dolibarr lors des entrées en stock fournisseur. Auto PMP ne fait que le reprendre.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* Bouton à côté de &#039;&#039;Valider&#039;&#039;, &#039;&#039;Cloner&#039;&#039; et &#039;&#039;Supprimer&#039;&#039; sur les documents en brouillon.&lt;br /&gt;
* Popup de confirmation native de Dolibarr.&lt;br /&gt;
* Deux modes de mise à jour :&lt;br /&gt;
** &#039;&#039;&#039;Toutes les lignes&#039;&#039;&#039; : chaque ligne produit reçoit le PMP actuel, même si elle a déjà un prix de revient.&lt;br /&gt;
** &#039;&#039;&#039;Seulement les lignes avec prix de revient = 0&#039;&#039;&#039; : les lignes saisies à la main sont conservées.&lt;br /&gt;
* Les lignes libres et les produits sans PMP sont ignorés.&lt;br /&gt;
* Totaux et marges recalculés juste après la mise à jour.&lt;br /&gt;
* Le bouton n&#039;apparaît qu&#039;aux utilisateurs autorisés à modifier le document.&lt;br /&gt;
* Sûr : la mise à jour s&#039;exécute une fois, puis la page se recharge (un rafraîchissement ne la relance pas).&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:AutoPMP_before.png|Devis brouillon : prix de revient à 0, marge inconnue&lt;br /&gt;
File:AutoPMP_confirm.png|Popup de confirmation&lt;br /&gt;
File:AutoPMP_after.png|Après mise à jour : prix de revient = PMP, marge recalculée&lt;br /&gt;
File:AutoPMP_setup.png|Page de configuration&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Achetez et téléchargez le zip du module sur DoliStore.&lt;br /&gt;
# Allez dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyez le zip.&lt;br /&gt;
# Ou décompressez-le dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/autopmp&#039;&#039;.&lt;br /&gt;
# Activez le module &#039;&#039;&#039;Auto Prix de Revient&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Ouvrez &#039;&#039;Configuration &amp;gt; Modules/Applications &amp;gt; Auto Prix de Revient &amp;gt; Configuration&#039;&#039;.&lt;br /&gt;
# Cochez &#039;&#039;&#039;Activer le module&#039;&#039;&#039;.&lt;br /&gt;
# Choisissez le &#039;&#039;&#039;mode de mise à jour&#039;&#039;&#039; : toutes les lignes, ou seulement les lignes à prix de revient 0.&lt;br /&gt;
# Enregistrez.&lt;br /&gt;
&lt;br /&gt;
== Utilisation ==&lt;br /&gt;
# Ouvrez un devis, une commande ou une facture &#039;&#039;&#039;en brouillon&#039;&#039;&#039;.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Actualiser Prix de Revient&#039;&#039;&#039; en bas de la page.&lt;br /&gt;
# Confirmez : un message indique le nombre de lignes mises à jour et les marges sont actualisées.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;Le bouton n&#039;apparaît pas&lt;br /&gt;
:Le document doit être en brouillon, le module activé dans sa page de configuration, et vous devez avoir le droit de créer/modifier ce type de document.&lt;br /&gt;
&lt;br /&gt;
;Une ligne n&#039;a pas été mise à jour&lt;br /&gt;
:Les lignes libres et les produits dont le PMP vaut 0 sont ignorés. En mode « seulement prix de revient = 0 », les lignes qui ont déjà un prix de revient sont conservées.&lt;br /&gt;
&lt;br /&gt;
;D&#039;où vient le PMP ?&lt;br /&gt;
:Dolibarr le calcule lors des entrées en stock fournisseur. Pour y inclure le transport ou la douane, voir [[Module_Charges_PMP_(FR)|Module Charges PMP]].&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Modules complémentaires]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP_(FR)&amp;diff=69028</id>
		<title>Module Charges PMP (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP_(FR)&amp;diff=69028"/>
		<updated>2026-11-12T20:01:45Z</updated>

		<summary type="html">&lt;p&gt;Weglob: FR categories: TemplateDocUtil + Category:Modules complémentaires&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_Charges_PMP]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=PMPCharges&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2867&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Modules Stock, Produits et Fournisseurs activés&lt;br /&gt;
|minversion=20.0&lt;br /&gt;
|note=ID module 500050&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module Charges PMP (PMPCharges) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 3.2.1&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 500050&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 20.0 et plus&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Charges PMP&#039;&#039;&#039; intègre les frais d&#039;approche (transport, douane, autres frais) dans le &#039;&#039;&#039;prix moyen pondéré (PMP)&#039;&#039;&#039; des produits lors des entrées en stock fournisseurs.&lt;br /&gt;
&lt;br /&gt;
Sans ce module, Dolibarr calcule le PMP à partir du seul prix d&#039;achat. Avec lui, le coût de revient réel est réparti sur les produits reçus : la valeur du stock et les marges reflètent le vrai coût.&lt;br /&gt;
&lt;br /&gt;
Le module reste aligné sur la logique native du stock Dolibarr :&lt;br /&gt;
* les charges sont appliquées au mouvement de stock réel (événement &#039;&#039;STOCK_MOVEMENT&#039;&#039;) ;&lt;br /&gt;
* elles sont saisies sur le document qui correspond à votre mode de stock ;&lt;br /&gt;
* elles sont verrouillées une fois appliquées ;&lt;br /&gt;
* elles sont restaurées si le mouvement de stock est annulé.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* Saisie des charges depuis la &#039;&#039;&#039;commande fournisseur&#039;&#039;&#039;, la &#039;&#039;&#039;facture fournisseur&#039;&#039;&#039; ou la &#039;&#039;&#039;réception&#039;&#039;&#039;, selon votre configuration du stock.&lt;br /&gt;
* Choix des factures de charges (transport, douane...) dans une liste de factures fournisseurs avec recherche, filtrée par entité.&lt;br /&gt;
* &#039;&#039;&#039;Bouton « Calculer le PMP »&#039;&#039;&#039; : aperçu du résultat avant le mouvement de stock.&lt;br /&gt;
* Répartition des charges par &#039;&#039;&#039;quantité&#039;&#039;&#039;, par &#039;&#039;&#039;valeur&#039;&#039;&#039; ou &#039;&#039;&#039;à parts égales&#039;&#039;&#039;.&lt;br /&gt;
* Option de mise à jour du &#039;&#039;&#039;prix de revient&#039;&#039;&#039; du produit.&lt;br /&gt;
* Protection contre la double application.&lt;br /&gt;
* &#039;&#039;&#039;Retour arrière&#039;&#039;&#039; : réception dévalidée ou réouverte, facture fournisseur dévalidée, commande fournisseur repassée en brouillon (avec mouvement de stock inverse).&lt;br /&gt;
* Compatible multi-société.&lt;br /&gt;
* Droits dédiés.&lt;br /&gt;
&lt;br /&gt;
== Règle de calcul ==&lt;br /&gt;
Dolibarr calcule d&#039;abord le PMP standard à l&#039;entrée en stock. Le module ajoute ensuite la charge :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PMP corrigé = PMP après mouvement + (charge allouée / stock réel après mouvement)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi les réceptions partielles et les documents successifs restent cohérents, sans repartir du prix d&#039;achat initial.&lt;br /&gt;
&lt;br /&gt;
== Modes de stock pris en charge ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option Dolibarr active !! Document de saisie des charges !! Application automatique&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER || Commande fournisseur || À l&#039;approbation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_BILL || Facture fournisseur || À la validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION || Réception || À la validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION_CLOSE || Réception || À la clôture&lt;br /&gt;
|}&lt;br /&gt;
Le mode &#039;&#039;STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER&#039;&#039; n&#039;est pas pris en charge.&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:PMPCharges_charges_block.png|Charges saisies sur une facture fournisseur&lt;br /&gt;
File:PMPCharges_pmp_preview.png|Aperçu du PMP avant le mouvement de stock&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Acheter et télécharger le zip du module sur DoliStore.&lt;br /&gt;
# Aller dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyer le zip.&lt;br /&gt;
# Ou le décompresser manuellement dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/pmpcharges&#039;&#039;.&lt;br /&gt;
# Activer le module &#039;&#039;&#039;PMPCharges&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Ouvrir &#039;&#039;Configuration &amp;gt; Modules/Applications &amp;gt; PMPCharges &amp;gt; Configuration&#039;&#039;.&lt;br /&gt;
# Choisir le &#039;&#039;&#039;type de répartition des charges&#039;&#039;&#039; : quantité, valeur ou parts égales.&lt;br /&gt;
# Choisir si le &#039;&#039;&#039;prix de revient du produit&#039;&#039;&#039; doit être mis à jour (oui/non).&lt;br /&gt;
# Vérifier le mode d&#039;entrée en stock fournisseur dans &#039;&#039;Configuration &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Droits ==&lt;br /&gt;
* Lire les charges PMP&lt;br /&gt;
* Créer/modifier les charges PMP&lt;br /&gt;
* Supprimer les charges PMP&lt;br /&gt;
* Calculer le PMP (aperçu)&lt;br /&gt;
&lt;br /&gt;
== Vérification rapide ==&lt;br /&gt;
# Créer un document fournisseur avec des produits (selon votre mode de stock).&lt;br /&gt;
# Ajouter une ou plusieurs charges dans le bloc PMPCharges.&lt;br /&gt;
# Cliquer sur &#039;&#039;&#039;Calculer le PMP&#039;&#039;&#039; pour l&#039;aperçu.&lt;br /&gt;
# Valider le document : le mouvement de stock applique le PMP corrigé et verrouille les charges.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;Je ne peux plus modifier les charges&lt;br /&gt;
:Elles sont verrouillées après application. Annulez le mouvement de stock (par exemple en repassant la réception en brouillon) pour les déverrouiller.&lt;br /&gt;
&lt;br /&gt;
;Le bloc des charges n&#039;apparaît pas&lt;br /&gt;
:Il s&#039;affiche uniquement sur le document qui correspond au mode de stock actif. Vérifiez &#039;&#039;Configuration &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
;Le PMP des produits déjà en stock change-t-il ?&lt;br /&gt;
:Uniquement via la formule ci-dessus, pour les produits du mouvement concerné.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Modules complémentaires]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI_(FR)&amp;diff=69027</id>
		<title>Module AIRA BI (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI_(FR)&amp;diff=69027"/>
		<updated>2026-11-12T20:01:45Z</updated>

		<summary type="html">&lt;p&gt;Weglob: FR categories: TemplateDocUtil + Category:Modules complémentaires&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_AIRA_BI]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=AIRA BI&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2841&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Dolibarr 19.0+, PHP 8.0+, une clé API d&#039;un fournisseur IA&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=ID module 500100&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module AIRA BI =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 1.4.3&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 500100&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 19.0 et plus&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;AIRA BI&#039;&#039;&#039; est un assistant IA intégré à Dolibarr. Les utilisateurs posent leurs questions sur les données de l&#039;ERP en langage naturel et obtiennent la réponse en texte, en tableau ou en graphique.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
* &#039;&#039;ventes par mois sur 6 mois&#039;&#039;&lt;br /&gt;
* &#039;&#039;top 10 clients par chiffre d&#039;affaires&#039;&#039;&lt;br /&gt;
* &#039;&#039;factures impayées par client&#039;&#039;&lt;br /&gt;
* &#039;&#039;solde des comptes bancaires&#039;&#039;&lt;br /&gt;
* &#039;&#039;état des projets par statut&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le moteur suit un circuit contrôlé : &#039;&#039;&#039;question → contexte du schéma → plan IA → validation → SQL en lecture seule → affichage dans le chat&#039;&#039;&#039;. C&#039;est un assistant Dolibarr, pas un chatbot généraliste.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* Réponse en &#039;&#039;&#039;texte, tableau ou graphique&#039;&#039;&#039; selon la question.&lt;br /&gt;
* &#039;&#039;&#039;Mémoire de conversation&#039;&#039;&#039; : questions de suivi, affiner un filtre, demander une autre vue.&lt;br /&gt;
* Conversations enregistrées &#039;&#039;&#039;par utilisateur et par entité&#039;&#039;&#039;, réouverture ou suppression depuis le panneau latéral.&lt;br /&gt;
* &#039;&#039;&#039;Liens vers les rapports natifs&#039;&#039;&#039; (&#039;&#039;customreports.php&#039;&#039;) quand le résultat correspond à un rapport Dolibarr.&lt;br /&gt;
* Suggestions d&#039;accueil affichées seulement si l&#039;utilisateur a les droits nécessaires.&lt;br /&gt;
* Aide à l&#039;utilisation de Dolibarr (« comment créer une facture ? ») sans lecture de la base.&lt;br /&gt;
* Choix du fournisseur IA : &#039;&#039;&#039;OpenRouter&#039;&#039;&#039; (des centaines de modèles, dont des gratuits), &#039;&#039;&#039;OpenAI&#039;&#039;&#039;, &#039;&#039;&#039;Google Gemini&#039;&#039;&#039;, &#039;&#039;&#039;NVIDIA&#039;&#039;&#039;.&lt;br /&gt;
* Messages d&#039;erreur clairs (fournisseur, modèle, erreur technique) si l&#039;API IA échoue.&lt;br /&gt;
&lt;br /&gt;
== Sécurité ==&lt;br /&gt;
Chaque requête passe par un garde-fou SQL :&lt;br /&gt;
* &#039;&#039;SELECT&#039;&#039; uniquement, une seule instruction, sans commentaires ni variables.&lt;br /&gt;
* Aucune requête d&#039;écriture, aucun export (&#039;&#039;INTO OUTFILE&#039;&#039;), aucun schéma système.&lt;br /&gt;
* Liste blanche des tables métier : chaque table exige le module Dolibarr correspondant &#039;&#039;&#039;et&#039;&#039;&#039; le droit de l&#039;utilisateur (ex. factures : « Lire les factures »).&lt;br /&gt;
* Colonnes sensibles interdites (mots de passe, clés API, jetons).&lt;br /&gt;
* Filtre &#039;&#039;entity&#039;&#039; imposé (sûr en multi-société).&lt;br /&gt;
* Nombre de lignes et durée d&#039;exécution plafonnés.&lt;br /&gt;
* Exécution dans une transaction en lecture seule, ou avec un utilisateur MySQL en lecture seule (recommandé).&lt;br /&gt;
&lt;br /&gt;
Les clés API et le mot de passe MySQL lecture seule sont chiffrés en base et jamais réaffichés.&lt;br /&gt;
&lt;br /&gt;
== Confidentialité ==&lt;br /&gt;
Envoyé au fournisseur IA : la question, l&#039;historique de la conversation et la description des tables autorisées. &#039;&#039;&#039;Les résultats des requêtes ne sont pas envoyés.&#039;&#039;&#039; Les offres gratuites (modèles OpenRouter &#039;&#039;:free&#039;&#039;, Gemini gratuit, crédits d&#039;essai NVIDIA) peuvent conserver les requêtes : préférez une offre payante pour les données sensibles.&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:AIRA_BI_welcome.png|Écran d&#039;accueil et suggestions&lt;br /&gt;
File:AIRA_BI_chart.png|Réponse en graphique : ventes par mois&lt;br /&gt;
File:AIRA_BI_setup.png|Configuration : choix du fournisseur IA&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Acheter et télécharger le zip du module sur DoliStore.&lt;br /&gt;
# Aller dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyer le zip.&lt;br /&gt;
# Ou le décompresser manuellement dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/aichat&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Activer le module &#039;&#039;&#039;AIRA BI&#039;&#039;&#039;.&lt;br /&gt;
# Ouvrir la page de configuration du module.&lt;br /&gt;
# Choisir le fournisseur : OpenRouter, OpenAI, Google Gemini ou NVIDIA.&lt;br /&gt;
# Saisir la clé API (le bouton « Obtenir une clé » ouvre la page du fournisseur).&lt;br /&gt;
# Choisir le modèle. Pour OpenRouter, la liste vient du catalogue en direct avec prix et taille de contexte ; un avertissement s&#039;affiche si le modèle configuré a été retiré.&lt;br /&gt;
# Enregistrer.&lt;br /&gt;
# Optionnel mais recommandé : créer un utilisateur MySQL en lecture seule et le saisir dans la configuration :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;dolibarr_ro&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;motdepasse&#039;;&lt;br /&gt;
GRANT SELECT ON dolibarr.* TO &#039;dolibarr_ro&#039;@&#039;localhost&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Optionnel : activer la fonction BI / rapports de Dolibarr pour obtenir les liens &#039;&#039;customreports&#039;&#039; dans le chat.&lt;br /&gt;
&lt;br /&gt;
Le serveur Dolibarr doit joindre l&#039;API du fournisseur en HTTPS (paramètre PHP &#039;&#039;curl.cainfo&#039;&#039; renseigné avec les certificats racine).&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;L&#039;assistant répond par une erreur IA&lt;br /&gt;
:Vérifier la clé API, le quota et que le modèle est toujours disponible. Le message indique le fournisseur et le modèle utilisés.&lt;br /&gt;
&lt;br /&gt;
;« Aucune donnée trouvée »&lt;br /&gt;
:Aucun enregistrement Dolibarr ne correspond. Modifier la période ou le filtre.&lt;br /&gt;
&lt;br /&gt;
;Un utilisateur ne voit pas certaines suggestions ou reçoit un refus&lt;br /&gt;
:Il n&#039;a pas le droit Dolibarr sur le module concerné (factures, commandes, banque...). C&#039;est voulu.&lt;br /&gt;
&lt;br /&gt;
;Peut-il modifier mes données ?&lt;br /&gt;
:Non. Seules les requêtes &#039;&#039;SELECT&#039;&#039; en lecture seule sont autorisées.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Modules complémentaires]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_WhatsApp_IA_(FR)&amp;diff=69026</id>
		<title>Module WhatsApp IA (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_WhatsApp_IA_(FR)&amp;diff=69026"/>
		<updated>2026-11-12T20:01:36Z</updated>

		<summary type="html">&lt;p&gt;Weglob: FR categories: TemplateDocUtil + Category:Modules complémentaires&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_WhatsApp_IA]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=WhatsAppIA&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Dolibarr 19.0+, PHP 7.4+, un numéro WhatsApp Business Cloud API (Meta), HTTPS&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=ID module 517300&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module WhatsApp IA =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 1.0.0&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 517300&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 19.0 et plus&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;WhatsApp IA&#039;&#039;&#039; connecte Dolibarr à l&#039;API officielle &#039;&#039;&#039;WhatsApp Business Cloud de Meta&#039;&#039;&#039;. Votre équipe traite les conversations WhatsApp directement dans Dolibarr, et un agent IA optionnel répond aux clients avec les vraies données de l&#039;ERP (factures, commandes, produits, stock).&lt;br /&gt;
&lt;br /&gt;
Les messages sont rattachés aux tiers : chaque échange reste dans l&#039;historique du client ou du fournisseur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* &#039;&#039;&#039;Boîte de réception partagée&#039;&#039;&#039; dans Dolibarr : liste des conversations, compteurs de non-lus, réponse depuis le navigateur.&lt;br /&gt;
* &#039;&#039;&#039;Rattachement automatique aux tiers&#039;&#039;&#039; par numéro de téléphone.&lt;br /&gt;
* &#039;&#039;&#039;Envoi de documents&#039;&#039;&#039; : facture, devis ou commande en PDF envoyé dans la conversation depuis la fiche Dolibarr.&lt;br /&gt;
* &#039;&#039;&#039;Agent IA&#039;&#039;&#039; (optionnel) : répond à « quel est mon solde ? », « où en est ma commande ? » grâce à des outils en lecture seule sur les données Dolibarr.&lt;br /&gt;
* &#039;&#039;&#039;Transfert à un humain&#039;&#039;&#039; : en cas de doute, l&#039;IA passe la main et crée une tâche pour l&#039;équipe.&lt;br /&gt;
* &#039;&#039;&#039;Factures fournisseurs par WhatsApp&#039;&#039;&#039; : un fournisseur ou un salarié envoie une photo ou un PDF, le module crée une facture fournisseur brouillon.&lt;br /&gt;
* &#039;&#039;&#039;Journal IA&#039;&#039;&#039; : question, outils utilisés, réponse, résultat et coût estimé de chaque traitement.&lt;br /&gt;
* Prise en charge des &#039;&#039;&#039;noms d&#039;utilisateur WhatsApp&#039;&#039;&#039; (contacts sans numéro visible).&lt;br /&gt;
* Compatible multi-société (un numéro WhatsApp par entité).&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:WhatsAppIA_inbox.png|Boîte de réception avec l&#039;agent IA&lt;br /&gt;
File:WhatsAppIA_send_invoice.png|Envoi d&#039;une facture PDF dans la conversation&lt;br /&gt;
File:WhatsAppIA_supplier_invoice.png|Facture fournisseur reçue par WhatsApp&lt;br /&gt;
File:WhatsAppIA_ai_log.png|Journal IA&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
* Dolibarr 19.0 ou plus, PHP 7.4 ou plus.&lt;br /&gt;
* Dolibarr accessible en &#039;&#039;&#039;HTTPS&#039;&#039;&#039; (exigé par Meta pour le webhook).&lt;br /&gt;
* Un compte Meta Business avec un numéro WhatsApp Business sur la Cloud API.&lt;br /&gt;
* Pour l&#039;agent IA : une clé API d&#039;un fournisseur IA pris en charge.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Acheter et télécharger le zip &#039;&#039;module_whatsappia-x.y.z.zip&#039;&#039; sur DoliStore.&lt;br /&gt;
# Aller dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyer le zip.&lt;br /&gt;
# Ou le décompresser manuellement dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/whatsappia&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications&#039;&#039;, activer &#039;&#039;&#039;WhatsApp IA&#039;&#039;&#039;.&lt;br /&gt;
# Ouvrir la page de configuration du module.&lt;br /&gt;
# Dans Meta Business Suite, créer un &#039;&#039;&#039;utilisateur système&#039;&#039;&#039; avec le contrôle total sur le compte WhatsApp Business (WABA) et générer un jeton permanent.&lt;br /&gt;
# Coller le jeton, l&#039;ID du numéro (Phone number ID) et l&#039;ID du WABA dans la configuration.&lt;br /&gt;
# Recopier l&#039;URL du webhook et le jeton de vérification affichés dans l&#039;application Meta (champ &#039;&#039;messages&#039;&#039;).&lt;br /&gt;
# Optionnel : activer l&#039;agent IA, choisir le fournisseur et coller votre clé.&lt;br /&gt;
# Donner les droits &#039;&#039;Lire les conversations WhatsApp&#039;&#039; et &#039;&#039;Répondre aux conversations WhatsApp&#039;&#039; aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
La tâche planifiée &#039;&#039;WhatsAppIAProcessQueue&#039;&#039; traite la file de l&#039;IA : vérifier que les tâches planifiées de Dolibarr tournent.&lt;br /&gt;
&lt;br /&gt;
== Droits ==&lt;br /&gt;
* Lire les conversations WhatsApp&lt;br /&gt;
* Répondre aux conversations WhatsApp&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;Le webhook renvoie 404&lt;br /&gt;
:Vérifier que le répertoire &#039;&#039;custom&#039;&#039; est déclaré dans &#039;&#039;conf.php&#039;&#039; (&#039;&#039;$dolibarr_main_url_root_alt&#039;&#039; et &#039;&#039;$dolibarr_main_document_root_alt&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
;Erreur Meta #10 (permission)&lt;br /&gt;
:L&#039;utilisateur système doit avoir le contrôle total sur le WABA, pas seulement une permission partielle.&lt;br /&gt;
&lt;br /&gt;
;Erreur Meta #131047&lt;br /&gt;
:La fenêtre de service client de 24 h est fermée. Seul un modèle de message approuvé peut être envoyé.&lt;br /&gt;
&lt;br /&gt;
;Un contact apparaît en « MA.123... » au lieu d&#039;un numéro&lt;br /&gt;
:Le client utilise un nom d&#039;utilisateur WhatsApp. Le module enregistre l&#039;identifiant WhatsApp et affiche le nom d&#039;utilisateur quand Meta le fournit.&lt;br /&gt;
&lt;br /&gt;
;Mes données partent-elles chez le fournisseur IA ?&lt;br /&gt;
:Seulement si l&#039;agent IA est activé : le message du client et les données renvoyées par les outils en lecture seule nécessaires à la réponse. L&#039;IA peut rester désactivée pour utiliser le module comme simple boîte partagée.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Modules complémentaires]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Auto_PMP_(FR)&amp;diff=69025</id>
		<title>Module Auto PMP (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Auto_PMP_(FR)&amp;diff=69025"/>
		<updated>2026-11-12T16:52:24Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Auto PMP 2.1.0 documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Titre de la page (FR) : Module Auto PMP (FR) --&amp;gt;&lt;br /&gt;
&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_Auto_PMP]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=AutoPMP&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2569&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Module Produits activé (module Marges conseillé pour voir les marges)&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=ID module 500000&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module Auto PMP (AutoPMP) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 2.1.0&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 500000&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 19.0 à 24.0&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Auto PMP&#039;&#039;&#039; ajoute un bouton &#039;&#039;&#039;« Actualiser Prix de Revient »&#039;&#039;&#039; sur les &#039;&#039;&#039;devis&#039;&#039;&#039;, &#039;&#039;&#039;commandes clients&#039;&#039;&#039; et &#039;&#039;&#039;factures clients&#039;&#039;&#039; en brouillon.&lt;br /&gt;
&lt;br /&gt;
Un clic copie le &#039;&#039;&#039;Prix Moyen Pondéré (PMP)&#039;&#039;&#039; de chaque produit dans le prix de revient de sa ligne, puis Dolibarr recalcule les marges. Plus besoin de saisir les prix de revient ligne par ligne, et vos marges correspondent à la vraie valeur du stock.&lt;br /&gt;
&lt;br /&gt;
Le PMP est calculé par Dolibarr lors des entrées en stock fournisseur. Auto PMP ne fait que le reprendre.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* Bouton à côté de &#039;&#039;Valider&#039;&#039;, &#039;&#039;Cloner&#039;&#039; et &#039;&#039;Supprimer&#039;&#039; sur les documents en brouillon.&lt;br /&gt;
* Popup de confirmation native de Dolibarr.&lt;br /&gt;
* Deux modes de mise à jour :&lt;br /&gt;
** &#039;&#039;&#039;Toutes les lignes&#039;&#039;&#039; : chaque ligne produit reçoit le PMP actuel, même si elle a déjà un prix de revient.&lt;br /&gt;
** &#039;&#039;&#039;Seulement les lignes avec prix de revient = 0&#039;&#039;&#039; : les lignes saisies à la main sont conservées.&lt;br /&gt;
* Les lignes libres et les produits sans PMP sont ignorés.&lt;br /&gt;
* Totaux et marges recalculés juste après la mise à jour.&lt;br /&gt;
* Le bouton n&#039;apparaît qu&#039;aux utilisateurs autorisés à modifier le document.&lt;br /&gt;
* Sûr : la mise à jour s&#039;exécute une fois, puis la page se recharge (un rafraîchissement ne la relance pas).&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:AutoPMP_before.png|Devis brouillon : prix de revient à 0, marge inconnue&lt;br /&gt;
File:AutoPMP_confirm.png|Popup de confirmation&lt;br /&gt;
File:AutoPMP_after.png|Après mise à jour : prix de revient = PMP, marge recalculée&lt;br /&gt;
File:AutoPMP_setup.png|Page de configuration&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Achetez et téléchargez le zip du module sur DoliStore.&lt;br /&gt;
# Allez dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyez le zip.&lt;br /&gt;
# Ou décompressez-le dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/autopmp&#039;&#039;.&lt;br /&gt;
# Activez le module &#039;&#039;&#039;Auto Prix de Revient&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Ouvrez &#039;&#039;Configuration &amp;gt; Modules/Applications &amp;gt; Auto Prix de Revient &amp;gt; Configuration&#039;&#039;.&lt;br /&gt;
# Cochez &#039;&#039;&#039;Activer le module&#039;&#039;&#039;.&lt;br /&gt;
# Choisissez le &#039;&#039;&#039;mode de mise à jour&#039;&#039;&#039; : toutes les lignes, ou seulement les lignes à prix de revient 0.&lt;br /&gt;
# Enregistrez.&lt;br /&gt;
&lt;br /&gt;
== Utilisation ==&lt;br /&gt;
# Ouvrez un devis, une commande ou une facture &#039;&#039;&#039;en brouillon&#039;&#039;&#039;.&lt;br /&gt;
# Cliquez sur &#039;&#039;&#039;Actualiser Prix de Revient&#039;&#039;&#039; en bas de la page.&lt;br /&gt;
# Confirmez : un message indique le nombre de lignes mises à jour et les marges sont actualisées.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;Le bouton n&#039;apparaît pas&lt;br /&gt;
:Le document doit être en brouillon, le module activé dans sa page de configuration, et vous devez avoir le droit de créer/modifier ce type de document.&lt;br /&gt;
&lt;br /&gt;
;Une ligne n&#039;a pas été mise à jour&lt;br /&gt;
:Les lignes libres et les produits dont le PMP vaut 0 sont ignorés. En mode « seulement prix de revient = 0 », les lignes qui ont déjà un prix de revient sont conservées.&lt;br /&gt;
&lt;br /&gt;
;D&#039;où vient le PMP ?&lt;br /&gt;
:Dolibarr le calcule lors des entrées en stock fournisseur. Pour y inclure le transport ou la douane, voir [[Module_Charges_PMP_(FR)|Module Charges PMP]].&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Catégorie:Modules complémentaires]]&lt;br /&gt;
[[Catégorie:DocUserFR]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Auto_PMP&amp;diff=69024</id>
		<title>Module Auto PMP</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Auto_PMP&amp;diff=69024"/>
		<updated>2026-11-12T16:52:21Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Auto PMP 2.1.0 documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page title (EN): Module Auto PMP --&amp;gt;&lt;br /&gt;
&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_Auto_PMP_(FR)]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=AutoPMP&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2569&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Products module enabled (Margins module recommended to see the margins)&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=Module ID 500000&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module Auto PMP (AutoPMP) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Name !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Publisher || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Status || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 2.1.0&lt;br /&gt;
|-&lt;br /&gt;
| Module ID || 500000&lt;br /&gt;
|-&lt;br /&gt;
| Dolibarr compatibility || 19.0 to 24.0&lt;br /&gt;
|-&lt;br /&gt;
| License || GPL v3 or later&lt;br /&gt;
|-&lt;br /&gt;
| Languages || English, French&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Auto PMP&#039;&#039;&#039; adds an &#039;&#039;&#039;&amp;quot;Update cost prices&amp;quot;&#039;&#039;&#039; button on draft &#039;&#039;&#039;proposals&#039;&#039;&#039;, &#039;&#039;&#039;sales orders&#039;&#039;&#039; and &#039;&#039;&#039;customer invoices&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
One click copies the &#039;&#039;&#039;weighted average price (PMP)&#039;&#039;&#039; of each product into the cost price of its line, then Dolibarr recalculates the margins. No more typing cost prices line by line, and your margins match the real stock value.&lt;br /&gt;
&lt;br /&gt;
The PMP itself is computed by Dolibarr when supplier goods enter the stock. Auto PMP only reuses it.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Button next to &#039;&#039;Validate&#039;&#039;, &#039;&#039;Clone&#039;&#039; and &#039;&#039;Delete&#039;&#039; on draft documents.&lt;br /&gt;
* Native Dolibarr confirmation popup.&lt;br /&gt;
* Two update modes:&lt;br /&gt;
** &#039;&#039;&#039;All lines&#039;&#039;&#039;: every product line gets the current PMP, even if it already has a cost price.&lt;br /&gt;
** &#039;&#039;&#039;Only lines with cost price = 0&#039;&#039;&#039;: lines you priced manually are kept.&lt;br /&gt;
* Free text lines and products without a PMP are skipped.&lt;br /&gt;
* Totals and margins are recalculated right after the update.&lt;br /&gt;
* The button is shown only to users allowed to edit the document.&lt;br /&gt;
* Safe: the update runs once, then the page reloads (a refresh does not run it again).&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:AutoPMP_before.png|Draft proposal: cost price at 0, margin unknown&lt;br /&gt;
File:AutoPMP_confirm.png|Confirmation popup&lt;br /&gt;
File:AutoPMP_after.png|After the update: cost price = PMP, margin recalculated&lt;br /&gt;
File:AutoPMP_setup.png|Setup page&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Buy and download the module zip from DoliStore.&lt;br /&gt;
# Go to &#039;&#039;Home &amp;gt; Setup &amp;gt; Modules/Applications &amp;gt; Deploy/install external module&#039;&#039; and upload the zip.&lt;br /&gt;
# Or unzip it manually into &#039;&#039;htdocs/custom/&#039;&#039; so you get &#039;&#039;htdocs/custom/autopmp&#039;&#039;.&lt;br /&gt;
# Enable the &#039;&#039;&#039;Auto PMP&#039;&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Open &#039;&#039;Setup &amp;gt; Modules/Applications &amp;gt; Auto PMP &amp;gt; Setup&#039;&#039;.&lt;br /&gt;
# Tick &#039;&#039;&#039;Enable the module&#039;&#039;&#039;.&lt;br /&gt;
# Choose the &#039;&#039;&#039;update mode&#039;&#039;&#039;: all lines, or only lines with a cost price of 0.&lt;br /&gt;
# Save.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
# Open a &#039;&#039;&#039;draft&#039;&#039;&#039; proposal, order or invoice.&lt;br /&gt;
# Click &#039;&#039;&#039;Update cost prices&#039;&#039;&#039; at the bottom of the page.&lt;br /&gt;
# Confirm: a message tells how many lines were updated, and the margins are refreshed.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;The button does not appear&lt;br /&gt;
:The document must be a draft, the module must be enabled in its setup page, and you need the right to create/modify this type of document.&lt;br /&gt;
&lt;br /&gt;
;A line was not updated&lt;br /&gt;
:Free text lines and products whose PMP is 0 are skipped. In &amp;quot;only lines with cost price = 0&amp;quot; mode, lines that already have a cost price are kept.&lt;br /&gt;
&lt;br /&gt;
;Where does the PMP come from?&lt;br /&gt;
:Dolibarr computes it on supplier stock entries. To include transport or customs fees in the PMP, see [[Module_Charges_PMP|Module Charges PMP]].&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* Email: contact@weglob.com&lt;br /&gt;
* Website: [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn: [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Category:DocUserEN]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:AutoPMP_setup.png&amp;diff=69023</id>
		<title>File:AutoPMP setup.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:AutoPMP_setup.png&amp;diff=69023"/>
		<updated>2026-11-12T16:52:21Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Auto PMP 2.1.0 screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Auto PMP 2.1.0 screenshot&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:AutoPMP_after.png&amp;diff=69022</id>
		<title>File:AutoPMP after.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:AutoPMP_after.png&amp;diff=69022"/>
		<updated>2026-11-12T16:52:19Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Auto PMP 2.1.0 screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Auto PMP 2.1.0 screenshot&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:AutoPMP_confirm.png&amp;diff=69021</id>
		<title>File:AutoPMP confirm.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:AutoPMP_confirm.png&amp;diff=69021"/>
		<updated>2026-11-12T16:52:17Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Auto PMP 2.1.0 screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Auto PMP 2.1.0 screenshot&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:AutoPMP_before.png&amp;diff=69020</id>
		<title>File:AutoPMP before.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:AutoPMP_before.png&amp;diff=69020"/>
		<updated>2026-11-12T16:52:14Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Auto PMP 2.1.0 screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Auto PMP 2.1.0 screenshot&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP_(FR)&amp;diff=69019</id>
		<title>Module Charges PMP (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP_(FR)&amp;diff=69019"/>
		<updated>2026-11-12T16:33:16Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Version 3.2.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_Charges_PMP]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=PMPCharges&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2867&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Modules Stock, Produits et Fournisseurs activés&lt;br /&gt;
|minversion=20.0&lt;br /&gt;
|note=ID module 500050&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module Charges PMP (PMPCharges) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 3.2.1&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 500050&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 20.0 et plus&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Charges PMP&#039;&#039;&#039; intègre les frais d&#039;approche (transport, douane, autres frais) dans le &#039;&#039;&#039;prix moyen pondéré (PMP)&#039;&#039;&#039; des produits lors des entrées en stock fournisseurs.&lt;br /&gt;
&lt;br /&gt;
Sans ce module, Dolibarr calcule le PMP à partir du seul prix d&#039;achat. Avec lui, le coût de revient réel est réparti sur les produits reçus : la valeur du stock et les marges reflètent le vrai coût.&lt;br /&gt;
&lt;br /&gt;
Le module reste aligné sur la logique native du stock Dolibarr :&lt;br /&gt;
* les charges sont appliquées au mouvement de stock réel (événement &#039;&#039;STOCK_MOVEMENT&#039;&#039;) ;&lt;br /&gt;
* elles sont saisies sur le document qui correspond à votre mode de stock ;&lt;br /&gt;
* elles sont verrouillées une fois appliquées ;&lt;br /&gt;
* elles sont restaurées si le mouvement de stock est annulé.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* Saisie des charges depuis la &#039;&#039;&#039;commande fournisseur&#039;&#039;&#039;, la &#039;&#039;&#039;facture fournisseur&#039;&#039;&#039; ou la &#039;&#039;&#039;réception&#039;&#039;&#039;, selon votre configuration du stock.&lt;br /&gt;
* Choix des factures de charges (transport, douane...) dans une liste de factures fournisseurs avec recherche, filtrée par entité.&lt;br /&gt;
* &#039;&#039;&#039;Bouton « Calculer le PMP »&#039;&#039;&#039; : aperçu du résultat avant le mouvement de stock.&lt;br /&gt;
* Répartition des charges par &#039;&#039;&#039;quantité&#039;&#039;&#039;, par &#039;&#039;&#039;valeur&#039;&#039;&#039; ou &#039;&#039;&#039;à parts égales&#039;&#039;&#039;.&lt;br /&gt;
* Option de mise à jour du &#039;&#039;&#039;prix de revient&#039;&#039;&#039; du produit.&lt;br /&gt;
* Protection contre la double application.&lt;br /&gt;
* &#039;&#039;&#039;Retour arrière&#039;&#039;&#039; : réception dévalidée ou réouverte, facture fournisseur dévalidée, commande fournisseur repassée en brouillon (avec mouvement de stock inverse).&lt;br /&gt;
* Compatible multi-société.&lt;br /&gt;
* Droits dédiés.&lt;br /&gt;
&lt;br /&gt;
== Règle de calcul ==&lt;br /&gt;
Dolibarr calcule d&#039;abord le PMP standard à l&#039;entrée en stock. Le module ajoute ensuite la charge :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PMP corrigé = PMP après mouvement + (charge allouée / stock réel après mouvement)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi les réceptions partielles et les documents successifs restent cohérents, sans repartir du prix d&#039;achat initial.&lt;br /&gt;
&lt;br /&gt;
== Modes de stock pris en charge ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option Dolibarr active !! Document de saisie des charges !! Application automatique&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER || Commande fournisseur || À l&#039;approbation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_BILL || Facture fournisseur || À la validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION || Réception || À la validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION_CLOSE || Réception || À la clôture&lt;br /&gt;
|}&lt;br /&gt;
Le mode &#039;&#039;STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER&#039;&#039; n&#039;est pas pris en charge.&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:PMPCharges_charges_block.png|Charges saisies sur une facture fournisseur&lt;br /&gt;
File:PMPCharges_pmp_preview.png|Aperçu du PMP avant le mouvement de stock&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Acheter et télécharger le zip du module sur DoliStore.&lt;br /&gt;
# Aller dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyer le zip.&lt;br /&gt;
# Ou le décompresser manuellement dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/pmpcharges&#039;&#039;.&lt;br /&gt;
# Activer le module &#039;&#039;&#039;PMPCharges&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Ouvrir &#039;&#039;Configuration &amp;gt; Modules/Applications &amp;gt; PMPCharges &amp;gt; Configuration&#039;&#039;.&lt;br /&gt;
# Choisir le &#039;&#039;&#039;type de répartition des charges&#039;&#039;&#039; : quantité, valeur ou parts égales.&lt;br /&gt;
# Choisir si le &#039;&#039;&#039;prix de revient du produit&#039;&#039;&#039; doit être mis à jour (oui/non).&lt;br /&gt;
# Vérifier le mode d&#039;entrée en stock fournisseur dans &#039;&#039;Configuration &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Droits ==&lt;br /&gt;
* Lire les charges PMP&lt;br /&gt;
* Créer/modifier les charges PMP&lt;br /&gt;
* Supprimer les charges PMP&lt;br /&gt;
* Calculer le PMP (aperçu)&lt;br /&gt;
&lt;br /&gt;
== Vérification rapide ==&lt;br /&gt;
# Créer un document fournisseur avec des produits (selon votre mode de stock).&lt;br /&gt;
# Ajouter une ou plusieurs charges dans le bloc PMPCharges.&lt;br /&gt;
# Cliquer sur &#039;&#039;&#039;Calculer le PMP&#039;&#039;&#039; pour l&#039;aperçu.&lt;br /&gt;
# Valider le document : le mouvement de stock applique le PMP corrigé et verrouille les charges.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;Je ne peux plus modifier les charges&lt;br /&gt;
:Elles sont verrouillées après application. Annulez le mouvement de stock (par exemple en repassant la réception en brouillon) pour les déverrouiller.&lt;br /&gt;
&lt;br /&gt;
;Le bloc des charges n&#039;apparaît pas&lt;br /&gt;
:Il s&#039;affiche uniquement sur le document qui correspond au mode de stock actif. Vérifiez &#039;&#039;Configuration &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
;Le PMP des produits déjà en stock change-t-il ?&lt;br /&gt;
:Uniquement via la formule ci-dessus, pour les produits du mouvement concerné.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Catégorie:Modules complémentaires]]&lt;br /&gt;
[[Catégorie:DocUserFR]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP&amp;diff=69018</id>
		<title>Module Charges PMP</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP&amp;diff=69018"/>
		<updated>2026-11-12T16:33:16Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Version 3.2.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_Charges_PMP_(FR)]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=PMPCharges&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2867&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Stock, Products and Suppliers modules enabled&lt;br /&gt;
|minversion=20.0&lt;br /&gt;
|note=Module ID 500050&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module Charges PMP (PMPCharges) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Name !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Publisher || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Status || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 3.2.1&lt;br /&gt;
|-&lt;br /&gt;
| Module ID || 500050&lt;br /&gt;
|-&lt;br /&gt;
| Dolibarr compatibility || 20.0 and later&lt;br /&gt;
|-&lt;br /&gt;
| License || GPL v3 or later&lt;br /&gt;
|-&lt;br /&gt;
| Languages || English, French&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Charges PMP&#039;&#039;&#039; adds extra purchase costs (transport, customs, other fees) into the &#039;&#039;&#039;weighted average price (PMP)&#039;&#039;&#039; of products when supplier goods enter the stock.&lt;br /&gt;
&lt;br /&gt;
Without this module, Dolibarr computes the PMP from the purchase price only. With it, the landed cost is spread over the received products, so your stock value and margins reflect the real cost.&lt;br /&gt;
&lt;br /&gt;
The module stays aligned with the native Dolibarr stock logic:&lt;br /&gt;
* the charges are applied at the real stock movement (&#039;&#039;STOCK_MOVEMENT&#039;&#039; event);&lt;br /&gt;
* they are entered on the document that matches your stock mode;&lt;br /&gt;
* they are locked once applied;&lt;br /&gt;
* they are restored if the stock movement is reversed.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Enter charges from the &#039;&#039;&#039;supplier order&#039;&#039;&#039;, &#039;&#039;&#039;supplier invoice&#039;&#039;&#039; or &#039;&#039;&#039;reception&#039;&#039;&#039;, depending on your stock setup.&lt;br /&gt;
* Pick the charge invoices (transport, customs...) from a searchable list of supplier invoices, filtered by entity.&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;Calculate PMP&amp;quot; button&#039;&#039;&#039;: preview the result before the stock movement.&lt;br /&gt;
* Allocation of charges by &#039;&#039;&#039;quantity&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; or &#039;&#039;&#039;equal share&#039;&#039;&#039;.&lt;br /&gt;
* Option to also update the product &#039;&#039;&#039;cost price&#039;&#039;&#039;.&lt;br /&gt;
* Protection against double application.&lt;br /&gt;
* &#039;&#039;&#039;Rollback&#039;&#039;&#039;: reception set back to draft or reopened, supplier invoice set back to draft, supplier order set back to draft (with reverse stock movement).&lt;br /&gt;
* Multi-company compatible.&lt;br /&gt;
* Dedicated permissions.&lt;br /&gt;
&lt;br /&gt;
== Calculation rule ==&lt;br /&gt;
Dolibarr first computes the standard PMP on the stock entry. The module then adds the charge:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
corrected PMP = PMP after movement + (allocated charge / real stock after movement)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This keeps partial receptions and successive documents consistent, without restarting from the initial purchase price.&lt;br /&gt;
&lt;br /&gt;
== Supported stock modes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Active Dolibarr option !! Document where charges are entered !! Automatic application&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER || Supplier order || On approval&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_BILL || Supplier invoice || On validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION || Reception || On validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION_CLOSE || Reception || On closing&lt;br /&gt;
|}&lt;br /&gt;
The mode &#039;&#039;STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER&#039;&#039; is not supported.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:PMPCharges_charges_block.png|Charges entered on a supplier invoice&lt;br /&gt;
File:PMPCharges_pmp_preview.png|PMP preview before the stock movement&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Buy and download the module zip from DoliStore.&lt;br /&gt;
# Go to &#039;&#039;Home &amp;gt; Setup &amp;gt; Modules/Applications &amp;gt; Deploy/install external module&#039;&#039; and upload the zip.&lt;br /&gt;
# Or unzip it manually into &#039;&#039;htdocs/custom/&#039;&#039; so you get &#039;&#039;htdocs/custom/pmpcharges&#039;&#039;.&lt;br /&gt;
# Enable the &#039;&#039;&#039;PMPCharges&#039;&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Open &#039;&#039;Setup &amp;gt; Modules/Applications &amp;gt; PMPCharges &amp;gt; Setup&#039;&#039;.&lt;br /&gt;
# Choose the &#039;&#039;&#039;charge allocation type&#039;&#039;&#039;: quantity, value or equal.&lt;br /&gt;
# Choose whether to &#039;&#039;&#039;update the product cost price&#039;&#039;&#039; (yes/no).&lt;br /&gt;
# Check your supplier stock entry mode in &#039;&#039;Setup &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* Read PMP charges&lt;br /&gt;
* Create/modify PMP charges&lt;br /&gt;
* Delete PMP charges&lt;br /&gt;
* Calculate PMP (preview)&lt;br /&gt;
&lt;br /&gt;
== Quick check ==&lt;br /&gt;
# Create a supplier document with products (according to your stock mode).&lt;br /&gt;
# Add one or more charges in the PMPCharges block.&lt;br /&gt;
# Click &#039;&#039;&#039;Calculate PMP&#039;&#039;&#039; to preview.&lt;br /&gt;
# Validate the document: the stock movement applies the corrected PMP and locks the charges.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;I cannot edit the charges any more&lt;br /&gt;
:They are locked after application. Reverse the stock movement (for example set the reception back to draft) to unlock them.&lt;br /&gt;
&lt;br /&gt;
;The charges block does not appear&lt;br /&gt;
:The block is shown on the document that matches the active stock mode only. Check &#039;&#039;Setup &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
;Does it change the PMP of products already in stock?&lt;br /&gt;
:Only through the formula above, for the products of the movement concerned.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* Email: contact@weglob.com&lt;br /&gt;
* Website: [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn: [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Category:DocUserEN]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI_(FR)&amp;diff=69017</id>
		<title>Module AIRA BI (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI_(FR)&amp;diff=69017"/>
		<updated>2026-11-12T16:33:15Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Version 1.4.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_AIRA_BI]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=AIRA BI&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2841&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Dolibarr 19.0+, PHP 8.0+, une clé API d&#039;un fournisseur IA&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=ID module 500100&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module AIRA BI =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 1.4.3&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 500100&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 19.0 et plus&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;AIRA BI&#039;&#039;&#039; est un assistant IA intégré à Dolibarr. Les utilisateurs posent leurs questions sur les données de l&#039;ERP en langage naturel et obtiennent la réponse en texte, en tableau ou en graphique.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
* &#039;&#039;ventes par mois sur 6 mois&#039;&#039;&lt;br /&gt;
* &#039;&#039;top 10 clients par chiffre d&#039;affaires&#039;&#039;&lt;br /&gt;
* &#039;&#039;factures impayées par client&#039;&#039;&lt;br /&gt;
* &#039;&#039;solde des comptes bancaires&#039;&#039;&lt;br /&gt;
* &#039;&#039;état des projets par statut&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le moteur suit un circuit contrôlé : &#039;&#039;&#039;question → contexte du schéma → plan IA → validation → SQL en lecture seule → affichage dans le chat&#039;&#039;&#039;. C&#039;est un assistant Dolibarr, pas un chatbot généraliste.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* Réponse en &#039;&#039;&#039;texte, tableau ou graphique&#039;&#039;&#039; selon la question.&lt;br /&gt;
* &#039;&#039;&#039;Mémoire de conversation&#039;&#039;&#039; : questions de suivi, affiner un filtre, demander une autre vue.&lt;br /&gt;
* Conversations enregistrées &#039;&#039;&#039;par utilisateur et par entité&#039;&#039;&#039;, réouverture ou suppression depuis le panneau latéral.&lt;br /&gt;
* &#039;&#039;&#039;Liens vers les rapports natifs&#039;&#039;&#039; (&#039;&#039;customreports.php&#039;&#039;) quand le résultat correspond à un rapport Dolibarr.&lt;br /&gt;
* Suggestions d&#039;accueil affichées seulement si l&#039;utilisateur a les droits nécessaires.&lt;br /&gt;
* Aide à l&#039;utilisation de Dolibarr (« comment créer une facture ? ») sans lecture de la base.&lt;br /&gt;
* Choix du fournisseur IA : &#039;&#039;&#039;OpenRouter&#039;&#039;&#039; (des centaines de modèles, dont des gratuits), &#039;&#039;&#039;OpenAI&#039;&#039;&#039;, &#039;&#039;&#039;Google Gemini&#039;&#039;&#039;, &#039;&#039;&#039;NVIDIA&#039;&#039;&#039;.&lt;br /&gt;
* Messages d&#039;erreur clairs (fournisseur, modèle, erreur technique) si l&#039;API IA échoue.&lt;br /&gt;
&lt;br /&gt;
== Sécurité ==&lt;br /&gt;
Chaque requête passe par un garde-fou SQL :&lt;br /&gt;
* &#039;&#039;SELECT&#039;&#039; uniquement, une seule instruction, sans commentaires ni variables.&lt;br /&gt;
* Aucune requête d&#039;écriture, aucun export (&#039;&#039;INTO OUTFILE&#039;&#039;), aucun schéma système.&lt;br /&gt;
* Liste blanche des tables métier : chaque table exige le module Dolibarr correspondant &#039;&#039;&#039;et&#039;&#039;&#039; le droit de l&#039;utilisateur (ex. factures : « Lire les factures »).&lt;br /&gt;
* Colonnes sensibles interdites (mots de passe, clés API, jetons).&lt;br /&gt;
* Filtre &#039;&#039;entity&#039;&#039; imposé (sûr en multi-société).&lt;br /&gt;
* Nombre de lignes et durée d&#039;exécution plafonnés.&lt;br /&gt;
* Exécution dans une transaction en lecture seule, ou avec un utilisateur MySQL en lecture seule (recommandé).&lt;br /&gt;
&lt;br /&gt;
Les clés API et le mot de passe MySQL lecture seule sont chiffrés en base et jamais réaffichés.&lt;br /&gt;
&lt;br /&gt;
== Confidentialité ==&lt;br /&gt;
Envoyé au fournisseur IA : la question, l&#039;historique de la conversation et la description des tables autorisées. &#039;&#039;&#039;Les résultats des requêtes ne sont pas envoyés.&#039;&#039;&#039; Les offres gratuites (modèles OpenRouter &#039;&#039;:free&#039;&#039;, Gemini gratuit, crédits d&#039;essai NVIDIA) peuvent conserver les requêtes : préférez une offre payante pour les données sensibles.&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:AIRA_BI_welcome.png|Écran d&#039;accueil et suggestions&lt;br /&gt;
File:AIRA_BI_chart.png|Réponse en graphique : ventes par mois&lt;br /&gt;
File:AIRA_BI_setup.png|Configuration : choix du fournisseur IA&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Acheter et télécharger le zip du module sur DoliStore.&lt;br /&gt;
# Aller dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyer le zip.&lt;br /&gt;
# Ou le décompresser manuellement dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/aichat&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Activer le module &#039;&#039;&#039;AIRA BI&#039;&#039;&#039;.&lt;br /&gt;
# Ouvrir la page de configuration du module.&lt;br /&gt;
# Choisir le fournisseur : OpenRouter, OpenAI, Google Gemini ou NVIDIA.&lt;br /&gt;
# Saisir la clé API (le bouton « Obtenir une clé » ouvre la page du fournisseur).&lt;br /&gt;
# Choisir le modèle. Pour OpenRouter, la liste vient du catalogue en direct avec prix et taille de contexte ; un avertissement s&#039;affiche si le modèle configuré a été retiré.&lt;br /&gt;
# Enregistrer.&lt;br /&gt;
# Optionnel mais recommandé : créer un utilisateur MySQL en lecture seule et le saisir dans la configuration :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;dolibarr_ro&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;motdepasse&#039;;&lt;br /&gt;
GRANT SELECT ON dolibarr.* TO &#039;dolibarr_ro&#039;@&#039;localhost&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Optionnel : activer la fonction BI / rapports de Dolibarr pour obtenir les liens &#039;&#039;customreports&#039;&#039; dans le chat.&lt;br /&gt;
&lt;br /&gt;
Le serveur Dolibarr doit joindre l&#039;API du fournisseur en HTTPS (paramètre PHP &#039;&#039;curl.cainfo&#039;&#039; renseigné avec les certificats racine).&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;L&#039;assistant répond par une erreur IA&lt;br /&gt;
:Vérifier la clé API, le quota et que le modèle est toujours disponible. Le message indique le fournisseur et le modèle utilisés.&lt;br /&gt;
&lt;br /&gt;
;« Aucune donnée trouvée »&lt;br /&gt;
:Aucun enregistrement Dolibarr ne correspond. Modifier la période ou le filtre.&lt;br /&gt;
&lt;br /&gt;
;Un utilisateur ne voit pas certaines suggestions ou reçoit un refus&lt;br /&gt;
:Il n&#039;a pas le droit Dolibarr sur le module concerné (factures, commandes, banque...). C&#039;est voulu.&lt;br /&gt;
&lt;br /&gt;
;Peut-il modifier mes données ?&lt;br /&gt;
:Non. Seules les requêtes &#039;&#039;SELECT&#039;&#039; en lecture seule sont autorisées.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Catégorie:Modules complémentaires]]&lt;br /&gt;
[[Catégorie:DocUserFR]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI&amp;diff=69016</id>
		<title>Module AIRA BI</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI&amp;diff=69016"/>
		<updated>2026-11-12T16:33:13Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Version 1.4.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_AIRA_BI_(FR)]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=AIRA BI&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2841&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Dolibarr 19.0+, PHP 8.0+, an AI provider API key&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=Module ID 500100&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module AIRA BI =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Name !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Publisher || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Status || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 1.4.3&lt;br /&gt;
|-&lt;br /&gt;
| Module ID || 500100&lt;br /&gt;
|-&lt;br /&gt;
| Dolibarr compatibility || 19.0 and later&lt;br /&gt;
|-&lt;br /&gt;
| License || GPL v3 or later&lt;br /&gt;
|-&lt;br /&gt;
| Languages || English, French&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;AIRA BI&#039;&#039;&#039; is an AI assistant built into Dolibarr. Users ask questions about their ERP data in plain language and get the answer as text, a table or a chart.&lt;br /&gt;
&lt;br /&gt;
Example questions:&lt;br /&gt;
* &#039;&#039;sales by month over 6 months&#039;&#039;&lt;br /&gt;
* &#039;&#039;top 10 customers by revenue&#039;&#039;&lt;br /&gt;
* &#039;&#039;unpaid invoices by customer&#039;&#039;&lt;br /&gt;
* &#039;&#039;bank account balances&#039;&#039;&lt;br /&gt;
* &#039;&#039;projects by status&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The engine follows a controlled flow: &#039;&#039;&#039;question → schema context → AI plan → validation → read-only SQL → display in the chat&#039;&#039;&#039;. It is a Dolibarr assistant, not a general-purpose chatbot.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Answers as &#039;&#039;&#039;text, table or chart&#039;&#039;&#039; depending on the question.&lt;br /&gt;
* &#039;&#039;&#039;Conversation memory&#039;&#039;&#039;: follow-up questions, refine a filter, ask for another view.&lt;br /&gt;
* Conversations saved &#039;&#039;&#039;per user and per entity&#039;&#039;&#039;, reopen or delete them from the sidebar.&lt;br /&gt;
* &#039;&#039;&#039;Links to native reports&#039;&#039;&#039; (&#039;&#039;customreports.php&#039;&#039;) when the result matches a Dolibarr report.&lt;br /&gt;
* Starter suggestions on the welcome screen, shown only when the user has the required rights.&lt;br /&gt;
* Help on Dolibarr usage (&amp;quot;how do I create an invoice?&amp;quot;) without reading the database.&lt;br /&gt;
* Choice of AI provider: &#039;&#039;&#039;OpenRouter&#039;&#039;&#039; (hundreds of models, some free), &#039;&#039;&#039;OpenAI&#039;&#039;&#039;, &#039;&#039;&#039;Google Gemini&#039;&#039;&#039;, &#039;&#039;&#039;NVIDIA&#039;&#039;&#039;.&lt;br /&gt;
* Clear error messages (provider, model, technical error) when the AI API fails.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
Every query goes through a SQL guard:&lt;br /&gt;
* &#039;&#039;SELECT&#039;&#039; only, a single statement, no comments or variables.&lt;br /&gt;
* No write queries, no export (&#039;&#039;INTO OUTFILE&#039;&#039;), no system schemas.&lt;br /&gt;
* Whitelist of business tables: each table needs the matching Dolibarr module &#039;&#039;&#039;and&#039;&#039;&#039; the user&#039;s permission (e.g. invoices require &amp;quot;Read invoices&amp;quot;).&lt;br /&gt;
* Sensitive columns are blocked (passwords, API keys, tokens).&lt;br /&gt;
* &#039;&#039;entity&#039;&#039; filter enforced (multi-company safe).&lt;br /&gt;
* Row count and execution time are capped.&lt;br /&gt;
* Runs in a read-only transaction, or with a read-only MySQL user (recommended).&lt;br /&gt;
&lt;br /&gt;
API keys and the read-only MySQL password are encrypted in the database and never displayed again.&lt;br /&gt;
&lt;br /&gt;
== Privacy ==&lt;br /&gt;
Sent to the AI provider: the question, the conversation history and the description of the allowed tables. &#039;&#039;&#039;Query results are not sent.&#039;&#039;&#039; Free offers (OpenRouter &#039;&#039;:free&#039;&#039; models, Gemini free tier, NVIDIA trial credits) may log prompts: prefer a paid offer for sensitive data.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:AIRA_BI_welcome.png|Welcome screen with suggestions&lt;br /&gt;
File:AIRA_BI_chart.png|Answer as a chart: sales by month&lt;br /&gt;
File:AIRA_BI_setup.png|Setup: choice of AI provider&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Buy and download the module zip from DoliStore.&lt;br /&gt;
# Go to &#039;&#039;Home &amp;gt; Setup &amp;gt; Modules/Applications &amp;gt; Deploy/install external module&#039;&#039; and upload the zip.&lt;br /&gt;
# Or unzip it manually into &#039;&#039;htdocs/custom/&#039;&#039; so you get &#039;&#039;htdocs/custom/aichat&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Enable the &#039;&#039;&#039;AIRA BI&#039;&#039;&#039; module.&lt;br /&gt;
# Open the module setup page.&lt;br /&gt;
# Choose the provider: OpenRouter, OpenAI, Google Gemini or NVIDIA.&lt;br /&gt;
# Enter the API key (a &amp;quot;Get a key&amp;quot; button opens the provider page).&lt;br /&gt;
# Choose the model. For OpenRouter, the list comes from the live catalog with prices and context size; a warning is shown if the configured model was removed.&lt;br /&gt;
# Save.&lt;br /&gt;
# Optional but recommended: create a read-only MySQL user and enter it in the setup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;dolibarr_ro&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;password&#039;;&lt;br /&gt;
GRANT SELECT ON dolibarr.* TO &#039;dolibarr_ro&#039;@&#039;localhost&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Optional: enable the Dolibarr BI / reports feature to get &#039;&#039;customreports&#039;&#039; links in the chat.&lt;br /&gt;
&lt;br /&gt;
The Dolibarr server must reach the provider API over HTTPS (PHP &#039;&#039;curl.cainfo&#039;&#039; set with root certificates).&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;The assistant answers with an AI error&lt;br /&gt;
:Check the API key, the quota and that the model is still available. The message shows the provider and model in use.&lt;br /&gt;
&lt;br /&gt;
;&amp;quot;No data found&amp;quot;&lt;br /&gt;
:No Dolibarr record matches. Change the period or the filter.&lt;br /&gt;
&lt;br /&gt;
;A user does not see some suggestions or gets a refusal&lt;br /&gt;
:The user lacks the Dolibarr permission on the module behind that data (invoices, orders, bank...). This is intended.&lt;br /&gt;
&lt;br /&gt;
;Can it modify my data?&lt;br /&gt;
:No. Only read-only &#039;&#039;SELECT&#039;&#039; queries are allowed.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* Email: contact@weglob.com&lt;br /&gt;
* Website: [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn: [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Category:DocUserEN]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=List_of_modules_id&amp;diff=69015</id>
		<title>List of modules id</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=List_of_modules_id&amp;diff=69015"/>
		<updated>2026-11-12T16:17:48Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Reserve ID 493072 - 493091 for Weglob&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
{{TemplateDocDevEs}}&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
{{TemplateDocDevZh}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page list all reserved modules numbers / ID.&lt;br /&gt;
&lt;br /&gt;
If you build or want to build your own modules, you should take an ID range here. Please pick range into existing holes first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=ID 0 - 94999=&lt;br /&gt;
This range is reserved for Dolibarr&#039;s internal core modules, so all modules available into the standard distribution at https://github.com/Dolibarr/dolibarr&lt;br /&gt;
&lt;br /&gt;
=ID 95000 - 99999=&lt;br /&gt;
This range is reserved for Dolibarr&#039;s community modules with sources hosted into the github repository: https://github.com/Dolibarr/dolibarr-community-modules&lt;br /&gt;
&lt;br /&gt;
=ID 100000 - 499999=&lt;br /&gt;
&lt;br /&gt;
Reserved area for editors in need for an ID range. You can edit this page to add your own range (take a range of 20 numbers only the first time, ask us for more)&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] If you reserve more than 10 at once, we may automatically change your reservation range without information and you may experience conflicts with other modules in a future, so please follow the rules! &lt;br /&gt;
&lt;br /&gt;
*ID 100000 - 100999: OpenThink (http://www.openthink.be) - Belgium&lt;br /&gt;
*ID 101000 - 101999: DoliCloud (https://www.dolicloud.com) - France&lt;br /&gt;
*ID 102000 - 102999: Tiaris (http://www.tiaris.fr) - France&lt;br /&gt;
*ID 103000 - 103999: Open-concept.pro (http://www.open-concept.pro) - France&lt;br /&gt;
*ID 104000 - 104999: ATM Consulting (http://www.atm-consulting.fr) - France&lt;br /&gt;
*ID 105000 - 105999: GPC.solutions - France&lt;br /&gt;
*ID 106000 - 106999: PHPASSO&lt;br /&gt;
*ID 107000 - 107999: TecLib (http://www.teclib.com) / Auguria (http://www.auguria.net) - France&lt;br /&gt;
*ID 108000 - 108999: ETHICWEB&lt;br /&gt;
*ID 109000 - 109999: Aplose ([http://www.aplose.fr https://www.aplose.fr]) - France&lt;br /&gt;
*ID 110000 - 110999: Association Dolibarr (https://www.dolibarr.org)&lt;br /&gt;
*ID 111000 - 111999: Asset IT (www.assetit.ch) - Suisse&lt;br /&gt;
*ID 112000 - 112999: Aarboard AG ([https://www.aarboard.ch www.aarboard.ch]) - Suisse&lt;br /&gt;
*ID 113000 - 113999: Asilib - Alexandre Spangaro&lt;br /&gt;
*ID 114000 - 114999: Iceleaf OÜ&lt;br /&gt;
*ID 115000 - 115999: 2A2C Conseil - Cyril ZEKSER&lt;br /&gt;
*ID 116000 - 116999: Wolftec GmbH&lt;br /&gt;
*ID 117000 - 117999: Oscim (http://www.oscim.fr)&lt;br /&gt;
*ID 118000 - 118999: Oarces Web (dev.oarces.com)&lt;br /&gt;
*ID 119000 - 119999: Manuel Berrocal - Absolacom&lt;br /&gt;
*ID 120000 - 120999: Régis Houssin (http://www.inodbox.com) - France&lt;br /&gt;
*ID 121000 - 121999: Oscss - Shop - France&lt;br /&gt;
*ID 122000 - 122999: MrSof - la Nation du Web&lt;br /&gt;
*ID 123000 - 123999: Bruno Généré (webiseasy.org)&lt;br /&gt;
*ID 124000 - 124999: 7reasons s.r.l. (www.7reasons.eu) - Austria&lt;br /&gt;
*ID 125000 - 125999: ProgSI (www.progsi.ma)&lt;br /&gt;
*ID 126000 - 126999: Catalanet&lt;br /&gt;
*ID 127000 - 127999: Virgilio Filho pt-BR Brasil (@dolibarr.br) - Brazil&lt;br /&gt;
*ID 128000 - 128999: Nicolas Frappé France (www.sospc.info)&lt;br /&gt;
*ID 129000 - 129999: Adeo-Informatique&lt;br /&gt;
*ID 130000 - 130999: Technicks ICT (http://www.technicks.eu) - Italy&lt;br /&gt;
*ID 131000 - 131999: Joan Louis (itaca.fr) - France&lt;br /&gt;
*ID 132000 - 132999: Jean-Marie Arsac (https://azimut.fr) - France&lt;br /&gt;
*ID 133000 - 133999: Oriel Systems Ltd, UK. (www.orielsystems.com)&lt;br /&gt;
*ID 134000 - 134999: ALSOFT PVT. LTD. (https://www.alsoft.org)&lt;br /&gt;
*ID 135000 - 135999: Net-Logic (https://netlogic.fr)&lt;br /&gt;
*ID 136000 - 136050: MONA.RE - France&lt;br /&gt;
*ID 136051 - 136099: La Vida Marketing&lt;br /&gt;
*ID 136100 - 136149: Synergies-Tech France. (https://www.synergies-france.fr/)&lt;br /&gt;
*ID 136150 - 136199: Lyta&lt;br /&gt;
*ID 136200 - 136219: Maison Théophile Leclerc&lt;br /&gt;
*ID 136220 - 136270: SegoFount - Spain&lt;br /&gt;
*ID 136271 - 136320: Labor Dispatch (Simon Sheng , China)&lt;br /&gt;
*ID 136321 - 136370: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 136371 - 136420: Daxit Solutions (https://www.daxit.be) [https://wiki.dolibarr.org/index.php/DAXIT-SOLUTIONS_List_of_modules_id Liste complète des modules Daxit]&lt;br /&gt;
*ID 136421 - 136470: HUSCH GmbH (https://husch-gmbh.de)&lt;br /&gt;
*ID 136471 - 138999: NSINFO (https://www.ns-info.fr)&lt;br /&gt;
*ID 139000 - 139999: Synergies-Tech France. (https://www.synergies-france.fr/)&lt;br /&gt;
*ID 140000 - 140999: Altairis (http://altairis.fr)&lt;br /&gt;
*ID 141000 - 141050: Projet2Team (https://www.projet2team.fr)&lt;br /&gt;
*ID 141051 - 141099: Elistair (http://elistair.com)&lt;br /&gt;
*ID 141100 - 141149: Blue Networks Technologies (https://www.blnt.fr)&lt;br /&gt;
*ID 141150 - 141199: Mainlab S.r.l. (https://www.mainlabonline.it) - Italy&lt;br /&gt;
*ID 141200 - 141249: Florian DUFOURG - France&lt;br /&gt;
*ID 141250 - 141299: SoftAddicts - Canada&lt;br /&gt;
*ID 141300 - 141349: Finanboo - (https://www.finanboo.com)&lt;br /&gt;
*ID 141350 - 141399: ConstruxZion Soft - Colombia (https://www.construxzionsoft.com.co)&lt;br /&gt;
*ID 141400 - 141450: COEXDIS - République Démocratique du Congo (https://www.coexdis.com)&lt;br /&gt;
*ID 141451 - 141501: HALFWARE - Algeria (https://www.half-ware.com)&lt;br /&gt;
*ID 141502 - 141552: Quantraum (https://quantraum.com)&lt;br /&gt;
*ID 141553 - 141603: Nateo Group&lt;br /&gt;
*ID 141604 - 141653: digital centric GmbH (https://www.dolicode.com)&lt;br /&gt;
*ID 141654 - 141699: Decrypting (https://www.decrypting.fr)&lt;br /&gt;
*ID 141700 - 141749: Zeise IT Consulting - Germany (https://www.zeise-it.de)&lt;br /&gt;
*ID 141750 - 141799: Data Rooster - France (https://datarooster.io)&lt;br /&gt;
*ID 141800 - 141849: IP Développement (https://www.ipdeveloppement.fr)&lt;br /&gt;
*ID 141850 - 141899: MSICCA | MRVL Soluciones de Ingeniería y Construcción, c.a (https://msicca.com)&lt;br /&gt;
*ID 141900 - 141949: THERSANE (https://www.thersane.fr)&lt;br /&gt;
*ID 141950 - 141999: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 142000 - 142049: ITANéA (https://www.itanea.fr)&lt;br /&gt;
*ID 142050 - 142099: ERP Consulting NZ ([https://www.erpconsulting.co.nz www.erpconsulting.co.nz])&lt;br /&gt;
*ID 142100 - 142149: Bloxera GmbH (https://www.bloxera.com)&lt;br /&gt;
*ID 142150 - 142199: Evangelos Souglakos - Greece&lt;br /&gt;
*ID 142200 - 142249: Luc CALARESU - France&lt;br /&gt;
*ID 142250 - 142299: OmnIT Services - Belgique (https://www.omnitservices.biz)&lt;br /&gt;
*ID 142300 - 142349: Gwadeyes - Guadeloupe (https://www.gwadeyes-informatique.com/)&lt;br /&gt;
*ID 142350 - 142399: Solution Libre (https://www.solution-libre.fr/)&lt;br /&gt;
*ID 142400 - 142449: Res Digital (https://res.digital)&lt;br /&gt;
*ID 142450 - 142499: itopie informatique (https://www.itopie.ch)&lt;br /&gt;
*ID 142500 - 142549: Weblinx.IT GbR (https://weblinx.it/) - Germany&lt;br /&gt;
*ID 142550 - 142599: ASCI-Automation - Mexico (https://asci-automation.com.mx/)&lt;br /&gt;
*ID 142600 - 142649: ZENKO Design - Japan / France / Spain&lt;br /&gt;
*ID 142650 - 142699: AWeerWolf&lt;br /&gt;
*ID 142700 - 148749: Lysis (https://lysis.net/)&lt;br /&gt;
*ID 142750 - 142769: Doliplug (https://www.doliplug.com)&lt;br /&gt;
*ID 142770 - 142799: PandaERP&lt;br /&gt;
*ID 142800 - 142849: Bloxera GmbH (https://www.bloxera.com)&lt;br /&gt;
*ID 142850 - 144999: Everlats S.L. - España (https://www.everlats.com)&lt;br /&gt;
*ID 145000 - 145299: Gestsuite ERP ([https://www.everlats.com https://www.gestsuite.com])&lt;br /&gt;
*ID 145500 - 145520: MANUELAZO (https://manuelazo.com)&lt;br /&gt;
*ID 148750 - 148759: Helios One Oy (heliosone.fi) - Finland - Helios Order Visibility&lt;br /&gt;
*ID 148760 - 148779: DINERGIE (https://www.dinergie.com) - France&lt;br /&gt;
*ID 148780 - 148799: AFRICODEX&lt;br /&gt;
*ID 148800 - 148809: FacturX API (https://facturxapi.com) - France&lt;br /&gt;
*ID 149000 - 149999: SydTech - America Central (https://www.sydtech.io/)&lt;br /&gt;
*ID 150000 - 150999: Jeffinfo&lt;br /&gt;
*ID 151000 - 151999: Konverseo (https://konverseo.com)&lt;br /&gt;
*ID 152000 - 152049: Tanguy Pénet (http://tanguype.net)&lt;br /&gt;
*ID 152050 - 152099: Web Solutions&lt;br /&gt;
*ID 152100 - 152149: MagicNet (https://www.magicnet.it)&lt;br /&gt;
*ID 152150 - 152199: Benjamin Falière (https://www.faliere.com)&lt;br /&gt;
*ID 152200 - 152249: Solauv&lt;br /&gt;
*ID 152250 - 156499: TecnoGestión Principado S.L. (https://www.tecnogestion.com) - Asturias - España&lt;br /&gt;
*ID 156500 - 156549: ACE Recycling  (https://www.acerecycling.net.au/)&lt;br /&gt;
*ID 156550 - 156599: Kreativität Works ([http://www.kreativitat.com http://kreativitat.com])&lt;br /&gt;
*ID 156600 - 156649: [https://pierre-couy.dev Pierre Couy]&lt;br /&gt;
*ID 156650 - 156699: CXI (https://cyrix.co.za)&lt;br /&gt;
*ID 156700 - 156749: Mustafa Kemerci - Turkiye&lt;br /&gt;
*ID 156750 - 156799: [https://de-grandpre.quebec de Grandpré Technologies] - Québec (Canada)&lt;br /&gt;
*ID 156800 - 156849: Draceo&lt;br /&gt;
*ID 156850 - 156899: Valleiweb&lt;br /&gt;
*ID 156900 - 159949: NEOVIAQ Advisory LU(https://www.neoviaq.com)&lt;br /&gt;
*ID 159950 - 159999: Arve et Giffre INFOGESTION (https://www.ag-infogestion.fr)&lt;br /&gt;
*ID 160000 - 160999: Charles-François BENKE (http://www.patas-monkey.com)&lt;br /&gt;
*ID 161000 - 161999: Abbes Bahfir (https://01consulting.eu)&lt;br /&gt;
*ID 162000 - 162999: Jacques Rébiscoul&lt;br /&gt;
*ID 163000 - 163999: Open-DSI (https://www.open-dsi.fr)&lt;br /&gt;
*ID 164000 - 164999: Pixelada S. Coop. And. (https://pixelada.org)&lt;br /&gt;
*ID 165000 - 165049: DovConnect&lt;br /&gt;
*ID 165050 - 165099: Mind Operated Systems (https://www.mosystems.biz)&lt;br /&gt;
*ID 165100 - 165150: SD-Formation (https://sdformation.fr)&lt;br /&gt;
*ID 165151 - 165199: NUM&#039;X (https://www.numx-sets.eu)&lt;br /&gt;
*ID 165200 - 165249: Benjam Préjent (https://www.benjam-prejent.fr)&lt;br /&gt;
*ID 165250 - 165299: Dhi Loka Private Limited, India (https://www.dhiloka.com)&lt;br /&gt;
*ID 165300 - 169999: Accellier Limited (https://www.accellier.com/)&lt;br /&gt;
*ID 170000 - 170999: TRIDENT CONSULTING LTD (www.tridentdxb.com)&lt;br /&gt;
*ID 171000 - 171999: LVSInformatique (www.lvsinformatique.com)&lt;br /&gt;
*ID 172000 - 172299: Ray Soft-Systems (https://www.ray-soft-systems.com)&lt;br /&gt;
*ID 172300 - 172349: Günter Lukas Consulting (https://gl.co.at)&lt;br /&gt;
*ID 172350 - 172399: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 172400 - 172449: Professional Structures Limited (https://pstructures.com)&lt;br /&gt;
*ID 172450 - 172699: IT-BS (https://www.it-bs.fr)&lt;br /&gt;
*ID 172700 - 172749: Indelog (https://www.indelog.fr)&lt;br /&gt;
*ID 172750 - 172799: NSINFO (https://www.ns-info.fr)&lt;br /&gt;
*ID 172800 - 172849: E-Concept Applications (https://e-concept-applications.fr)&lt;br /&gt;
*ID 172850 - 172899: B&amp;amp;R Stamm UG (https://stamm-ug.de)&lt;br /&gt;
*ID 172900 - 172949: Dolipive, support@dolipive.fr, www.dolipive.fr&lt;br /&gt;
*ID 172950 - 172999: CKD-Industrie (https://ckd-industrie.com/) - France&lt;br /&gt;
*ID 173000 - 173049: Aneosys (https://aneosys.fr) - France&lt;br /&gt;
*ID 173050 - 173099: Sebastian Schloßer - Germany&lt;br /&gt;
*ID 173100 - 173149: TecnoSoluciones (https://tecnosoluciones.com)&lt;br /&gt;
*ID 173150 - 173199: Digitalworks (https://www.digitalworks.fr) - France&lt;br /&gt;
*ID 173200 - 173249: UNi.D Consulting (https://www.unid-consulting.fr) - France&lt;br /&gt;
*ID 173250 - 173299: NetworkDigital(https://www.networkdigital.fr) - France&lt;br /&gt;
*ID 173300 - 173300: Módulo VeriFactu Dolibarr (https://verifactudolibarr.es/) - España&lt;br /&gt;
*ID 173301 - 173320: Sibanet (https://sibanet.net) - España&lt;br /&gt;
*ID 173321 - 173340: disQutons (https://wiki.dolibarr.org/index.php/Category:DisQutons) - France&lt;br /&gt;
*ID 173341 - 173360: Surática Software (https://suratica.es) - Spain&lt;br /&gt;
*ID 173361 - 173380: UpInvoice (https://upinvoice.eu) - Spain&lt;br /&gt;
*ID 173381 - 179999: Toutatis (https://toutatis.eu)&lt;br /&gt;
*ID 180000 - 180999: BM eXpert Labs&lt;br /&gt;
*ID 181000 - 181999: TI Sin Problemas (https://www.tisinproblemas.com)&lt;br /&gt;
*ID 182000 - 182049: Chipserv Pawel Wlizlo (https://www.testware.it)&lt;br /&gt;
*ID 182050 - 182070: Herolapse (https://herolapse.com/)&lt;br /&gt;
*ID 182061 - 182999: TMC&lt;br /&gt;
*ID 183000 - 183999: BB2A Anthony Berton (https://www.bb2a.fr)&lt;br /&gt;
*ID 184000 - 184999: DPS PRINTING &amp;amp; DOCUMENTS SOCIEDAD ANONIMA (https://www.dps-lat.com)&lt;br /&gt;
*ID 185000 - 185049: Telioskour (https://github.com/telioskour)&lt;br /&gt;
*ID 185050 - 185099: Moko Consulting ([[Moko Consulting]] || https://mokoconsulting.tech)&lt;br /&gt;
*ID 185100 - 185149: Sinabe (https://sinabe.ch) - Suisse&lt;br /&gt;
*ID 185150 - 185169: Anatole Conseil (https://anatoleconseil.com/)&lt;br /&gt;
*ID 185170 - 185189: cferoiu&lt;br /&gt;
*ID 185190 - 185209: Guillemonde (https://guillemonde.family)&lt;br /&gt;
*ID 185210 - 185229: ITized - Finta Ionut (https://itized.com)&lt;br /&gt;
*ID 185230 - 185249: svewa (https://github.com/svewa/)&lt;br /&gt;
*ID 185250 - 185269: Clément Jaunay (https://clement-jny.fr/ || contact@clement-jny.fr)&lt;br /&gt;
*ID 185270 - 185289: AMB Technologies (https://www.ambts.fr)&lt;br /&gt;
*ID 185290 - 185299: VIOLET IT UG (https://violet-it.de)&lt;br /&gt;
*ID 185300 - 185319: lorem.site &#039;&#039;&#039;(&#039;&#039;&#039;https://lorem.site/&#039;&#039;&#039;)&#039;&#039;&#039;&lt;br /&gt;
*ID 185320 - 185340: Rentageek  (https://rentageek.hu) Hungary&lt;br /&gt;
*ID 185341 - 185360: Hamzavi Infotech (&amp;lt;nowiki&amp;gt;https://www.hamzaviinfotech.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 185361 - 185380: La souris de Gutenberg (&amp;lt;nowiki&amp;gt;https://www.lasourisdegutenberg.fr&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 185381 - 185400: LodinPay (https://www.lodinpay.io)&lt;br /&gt;
*ID 185401 - 185420: Avertissance (https://avertissance.fr). France&lt;br /&gt;
*ID 185421 - 185849: TH Investissements / Matelas No Stress - France (internal ERP / production / logistics modules)&lt;br /&gt;
*ID 185850 - 185899: B&amp;amp;R Stamm UG (&amp;lt;nowiki&amp;gt;https://stamm-ug.de&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 185900 - 185919: OpenLine Solutions - Olaf John (https://openlinesolutions.de) - Germany&lt;br /&gt;
*ID 185920 - 189999: Abadia Tecnologica - (https://abadiatecnologica.com) - Spain&lt;br /&gt;
*ID 190000 - 190999: Diciannove (http://19.coop)&lt;br /&gt;
*ID 191000 - 191999: Elonet (https://elonet.fr)&lt;br /&gt;
*ID 192000 - 192049: IDFOR Consulting (https://www.idfor-consulting.fr/)&lt;br /&gt;
*ID 192050 - 192069: Stogger (&amp;lt;nowiki&amp;gt;https://stogger.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 192070 - 192090: Protectora&lt;br /&gt;
*ID 192091 - 192110: CoopCircuits - OpenFoodNetwork (https://coopcircuits.fr/)&lt;br /&gt;
*ID 192111 - 192130: Saidigit - Belgique&lt;br /&gt;
*ID 192131 - 192150: Lia Concept (https://lia-concept.fr)&lt;br /&gt;
*ID 192151 - 192999: GHM LABS (https://ghm-labs.ma/)&lt;br /&gt;
*ID 193000 - 193020: Forlead (https://forlead.fr/)&lt;br /&gt;
*ID 193021 - 193041: Doliway (https://doliway.fr)&lt;br /&gt;
*ID 193042 - 193062: ERPkit ( https://erpkit.app )&lt;br /&gt;
*ID 193063 - 193083: Eric FALCON&lt;br /&gt;
*ID 193084 - 193103: Ienx2&lt;br /&gt;
*ID 193104 - 193123: OpenLine Solutions - Olaf John (https://openlinesolutions.de) - Germany&lt;br /&gt;
*ID 193124 - 193144: zeug.it - Germany&lt;br /&gt;
*ID 193145 - 193164: Alpenia (https://alpenia.app)&lt;br /&gt;
*ID 193165 - 193174: Nicolas Gracia - France&lt;br /&gt;
*ID 193174 - 193879: Ronald ASSOUS - OBS - France&lt;br /&gt;
*ID 193880 - 193899: Ideal Solutions&lt;br /&gt;
*ID 193900 - 193919: BRiCK (https://justbrick.fr)&lt;br /&gt;
*ID 193920 - 193929: &#039;&#039;&#039;DoliHub&#039;&#039;&#039; (ergoCogn, [https://dolihub.ch dolihub.ch]) - Switzerland&lt;br /&gt;
*ID 193930 - 193939: Unified Software&lt;br /&gt;
*ID 193940 - 193949: &#039;&#039;&#039;Anatole Conseil (&amp;lt;nowiki&amp;gt;https://anatoleconseil.com/&amp;lt;/nowiki&amp;gt;)&#039;&#039;&#039;&lt;br /&gt;
*ID 193950 - 193959: KIZILTANLAR - Ayhan Kızıltan - Türkiye&lt;br /&gt;
*ID 193960 - 193969: DesignShot (https://design-shot.com) | Germany&lt;br /&gt;
*ID 193970 - 193979: Yurexa (&amp;lt;nowiki&amp;gt;https://ko-fi.com/yurexa&amp;lt;/nowiki&amp;gt;) - France&lt;br /&gt;
*ID 193980 - 193989: Tekynod Sàrl (https://tekynod.ch) - Switzerland&lt;br /&gt;
*ID 193990 - 193999: &#039;&#039;&#039;DEVTHIS&#039;&#039;&#039; (https://devthis.fr) - France&lt;br /&gt;
*ID 194000 - 194019: Integmia&lt;br /&gt;
*ID 194020 - 194039: Goeger-IT (https://www.goeger-it.de) - Germany&lt;br /&gt;
*ID 194040 - 194050: &#039;&#039;&#039;Cédric Roy - France&#039;&#039;&#039;&lt;br /&gt;
*ID 194051 - 194060: &#039;&#039;&#039;Anatole Conseil (&amp;lt;nowiki&amp;gt;https://anatoleconseil.com/&amp;lt;/nowiki&amp;gt;)&#039;&#039;&#039;&lt;br /&gt;
*ID 194061 - 194070: &#039;&#039;&#039;R. Juan - GMAO+ - France&#039;&#039;&#039;&lt;br /&gt;
*ID 194071 - 194080: Idoo (https://idoo.mx) - Mexico&lt;br /&gt;
*ID 194081 - 194090: FlowMatrix AI (https://flowmatrixai.com)&lt;br /&gt;
*ID 194091 - 194100: M Burak Şentürk (https://buraksenturk.net)&lt;br /&gt;
*ID 194101 - 194110: Master AI VC ([[User:Danny.wu|Danny.wu]]) (https://www.masteraivc.com) - Taiwan&lt;br /&gt;
*ID 194111 - 194120: Pichisoft (Pichinov) (https://www.pichinov.com) - France&lt;br /&gt;
*ID 194121 - 194130: Luckidea (https://www.luckidea.fr) - France&lt;br /&gt;
*ID 194131 - 194140: Studio Viking  (&amp;lt;nowiki&amp;gt;https://www.studio-viking.fr&amp;lt;/nowiki&amp;gt;) - France&lt;br /&gt;
*ID 194141 - 194150: timaub (https://timaub.fr) - France&lt;br /&gt;
*ID 194411 - 194420: Welters Datentechnik (https://welters.de)&lt;br /&gt;
*ID 194421 - 194430: Altaxia (https://www.altaxia.fr)&lt;br /&gt;
*ID 194431 - 194451: Profy Solutions (https://projectfactory.rs/)&lt;br /&gt;
*ID 194152 - 194161: Theo Pequignot (https://theopequignot.fr) - France&lt;br /&gt;
*ID 194162 - 194171: Personalised AI Solutions MCP Connect (Spain)&lt;br /&gt;
*ID 194172 - 194181: M2engineering GmbH (https://m-2-engineering.com) - Germany -&lt;br /&gt;
*ID 194182 - 194201: Reed Hill Consulting Ltd (https://reedhill.co.uk) - United Kingdom&lt;br /&gt;
*ID 194202 - 194211: AuVo Design (https://auvo-design.de) - Germany&lt;br /&gt;
*ID 194212 - 194250: edvGO (https://edvGO.de) - Germany&lt;br /&gt;
*ID 194251 - 194260: DoliSwiss (https://www.doliswiss.ch) - Switzerland&lt;br /&gt;
*ID 194261 - 194270: Place du Numérique - (https://pldn.fr) - France&lt;br /&gt;
*ID 194271 - 194280: Said Ahmed El Hachlafi - HuellaFiscal (&amp;lt;nowiki&amp;gt;https://store.publisima.com&amp;lt;/nowiki&amp;gt;) - Spain&lt;br /&gt;
*ID 194281 – 194309: Zach Melo - zachmelo.com - Canada&lt;br /&gt;
*ID 194310 - 194320: Dolibarr Module Solution - https://dolibarrmodulesolution.com/ - France&lt;br /&gt;
*ID 194321 - 194330: MAS PROJECTS SAC (https://masprojects.com) - Peru&lt;br /&gt;
*ID 194331 - 194341: CEOS-IT (https://www.ceos-it.com) - France&lt;br /&gt;
*ID 194342 - 194351: Youseeme / Facture-X (https://facturex.eu) - France&lt;br /&gt;
*ID 194352 - 194361: Anexum GmbH (https://anexum.eu) - Austria&lt;br /&gt;
*ID 194362 - 194382: Avgp Controle (&amp;lt;nowiki&amp;gt;https://www.avgp-controle.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 194383 - 197979 : Michael Struller&lt;br /&gt;
*ID 197980 - 197989: Mercury Labs SAGL (https://mercurylabs.ch) - Swiss Banking - Switzerland&lt;br /&gt;
*ID 197990 - 197999: Mercury Labs SAGL (https://mercurylabs.ch) - Swiss Salaries - Switzerland&lt;br /&gt;
*ID 198000 - 198999: dolibaTeam&lt;br /&gt;
*ID 199000 - 199999: RFMS&lt;br /&gt;
*ID 200000 - 200999: Noxiome&lt;br /&gt;
*ID 201000 - 201999: Sasa Ostrouska (saxa)&lt;br /&gt;
*ID 202000 - 202999: Z-Application&lt;br /&gt;
*ID 203000 - 203099: Elidee - elidee.com&lt;br /&gt;
*ID 203100 - 203999: Garcia MICHEL (soamichel.fr)&lt;br /&gt;
*ID 204000 - 204999: Ari Elbaz elarifr - accedinfo.com&lt;br /&gt;
*ID 205000 - 205999: Kreiz IT&lt;br /&gt;
*ID 206000 - 206999: GBINFO (www.gbinfo.fr)&lt;br /&gt;
*ID 207000 - 207099: MacroProg (https://www.macroprog.com)&lt;br /&gt;
*ID 207100 - 207149: Reactiva Software&lt;br /&gt;
*ID 207150 - 207199: Ndejje University Water Research and Development Centre ([https://github.com/NDUWRDC/LIMS/])&lt;br /&gt;
*ID 207200 - 207299: Massaoud Bouzenad ([https://www.dzprod.net dzprod.net])&lt;br /&gt;
*ID 207300 - 207349: Ksar&lt;br /&gt;
*ID 207350 - 207399: Easylinux (www.easylinux.fr)&lt;br /&gt;
*ID 207400 - 207449: Arthur LENOBLE&lt;br /&gt;
*ID 207450 - 207499: Vaicop SAS de CV (México)&lt;br /&gt;
*ID 207500 - 207520: Frankie Wong - UK&lt;br /&gt;
*ID 207521 - 207540: Fyssec ([https://fyssec.fr/ fyssec.fr/])&lt;br /&gt;
*ID 207541 - 207560: My easy Office SAS ([https://www.myeasyoffice.fr www.myeasyoffice.fr])&lt;br /&gt;
*ID 207561 - 207580: All-Lock Védelem Kft.&lt;br /&gt;
*ID 207581 - 207599: Zenitique ([https://www.zenitique.fr www.zenitique.fr])&lt;br /&gt;
*ID 207600 - 207609: Vasile Panciuc - ProductExpiryIO - Moldova&lt;br /&gt;
*ID 207610 - 207619: Kunisolutions (https://kunisolutions.com)&lt;br /&gt;
*ID 207620 - 207629: INCREATION - France - ListColumnsManager*&lt;br /&gt;
*ID 207630 - 207639: DI404 (https://www.di404.fr)&lt;br /&gt;
*ID 207640 - 207649: Kajoz Business Hub - Zambia (https://kajozbizhub.africa)&lt;br /&gt;
*ID 207650 - 207679: Septmr (https://www.septmr.com)&lt;br /&gt;
*ID 207680 - 207689: Camile Vahviraki, Evoludata - Canada (https://evoludata.com/)&lt;br /&gt;
*ID 207690 - 207730: &#039;&#039;&#039;KSI (https://www.ksidol.io&amp;lt;nowiki/&amp;gt;)&#039;&#039;&#039;&lt;br /&gt;
*ID 207730 - 207760: &#039;&#039;&#039;KSI (https://www.ksidol.io&amp;lt;nowiki/&amp;gt;)&#039;&#039;&#039;&lt;br /&gt;
*ID 209990 - 209999: doliTeam&lt;br /&gt;
*ID 210000 - 210100: Lemon (https://hellolemon.fr)&lt;br /&gt;
*ID 210101 - 210120: Cebrian IT ([[cebrian-it.com]])&lt;br /&gt;
*ID 210121 - 210130: Vasile Panciuc - Warehouse Scanner Pro&lt;br /&gt;
*ID 210131 - 210140: Vasile Panciuc - PanciucSoft - Moldova&lt;br /&gt;
*ID 210141 - 210145: Michael Struller&lt;br /&gt;
*ID 210146 - 210166: Sud Informatique France (https://sudinformatique.com)&lt;br /&gt;
*ID 210167 - 210186: Bakchich - Annual Reviews / Entretiens annuels (entretienannuel) - France&lt;br /&gt;
*ID 210187 - 210196: DolibStar&lt;br /&gt;
*ID 210197 - 210206: DolibStar&lt;br /&gt;
*ID 210207 - 210216: GD Agence (https://www.gd-agence.fr) - France&lt;br /&gt;
*&#039;&#039;&#039;ID 210217 - 210999: Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*ID 212100 - 212149: Audio Vidéo Technologies (https://www.avtek.fr)&lt;br /&gt;
*ID 212150 - 212169: AI MYA GROUP ([https://Www.AI-MYA-GROUP.com www.AI-MYA-GROUP.com])&lt;br /&gt;
*ID 212170 - 212189: DoliPro Suite - Carlosh7 ([https://github.com/carlosh7/DoliPro-Suite DoliPro-Suite])&lt;br /&gt;
*ID 212190 - 213999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 214000 - 214049: X-Boss&lt;br /&gt;
*ID 214050 - 221999: PixelJM&lt;br /&gt;
*ID 220000 - 220050: Apex Tech (https://apextechmods.com)&lt;br /&gt;
*ID 220051 - 220100: Technology Xchange Solutions (https://www.txscorp.com)&lt;br /&gt;
*ID 222000 - 222999:  dolibit  (https://www.dolibit.de)&lt;br /&gt;
*ID 223000 - 223049: Tráfico Canada&lt;br /&gt;
*ID 223050 - 223099: VLTN (https://vltn.sh)&lt;br /&gt;
*ID 223100 - 229949: Dazax.io (https://www.dazax.io)&lt;br /&gt;
*ID 229950 - 229999: Solucions Informàtiques, Serveis i Innovació SLU (https://6innova.es)&lt;br /&gt;
*ID 230000 - 230049: Unareil (https://www.unareil.eu)&lt;br /&gt;
*ID 230050 - 230099: Lyra Network (https://www.lyra.com/)&lt;br /&gt;
*ID 230100 - 230149: Gheorghe Iftimi - CTW - RO&lt;br /&gt;
*ID 230150 - 230199: MEMA Machinery &amp;amp; Tools (https://www.mema.be)&lt;br /&gt;
*ID 230200 - 230249: Teleassist&lt;br /&gt;
*ID 230250 - 230299: Nh Developer&lt;br /&gt;
*ID 230300 - 230499: Chickenforce/code-chicken, IT Services Hahn (https://github.com/code-chicken [http://itservices-hahn.de/ https://itservices-hahn.de])&lt;br /&gt;
*ID 230500 - 230549: Hidup Consulting (https://consulting.hidup.io)&lt;br /&gt;
*ID 230550 - 230599: CMR Conseil (https://www.weblockup.fr)&lt;br /&gt;
*ID 230600 - 230649: aFreeMind Studio&lt;br /&gt;
*ID 230650 - 230699: Unideal (https://www.uni-deal.com)&lt;br /&gt;
*ID 230700 - 230749: DevLansdes (https://devlandes.com/)&lt;br /&gt;
*ID 230750 - 230769  Kristof56 / Serpette &amp;amp; Cie /&lt;br /&gt;
*ID 230770 - 230789: Webelys (&amp;lt;nowiki&amp;gt;https://webelys.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 230790 - 230799: X Poitou Network (&amp;lt;nowiki&amp;gt;https://www.xpoitou.fr&amp;lt;/nowiki&amp;gt;) - France&lt;br /&gt;
*ID 230800 - 230999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 231000 - 231039: inno3 (&amp;lt;nowiki&amp;gt;https://inno3.fr&amp;lt;/nowiki&amp;gt;) - France - suite de modules open source Dolibarr (inno3dashboard, meetingnotes, supportcredits, caldavbridge, frameworkprojects, ...)&lt;br /&gt;
*ID 231040 - 231199: SBINFO - France - (https://sbinfo.fr)&lt;br /&gt;
*ID 231200 - 231219: Mugisha || Modules ERP personnalisés (facturation, RH, intégration)&lt;br /&gt;
*ID 231220 - 231229: Wdes SAS (https://wdes.fr) - France&lt;br /&gt;
*ID 231230 - 231239: WEBMAY (&amp;lt;nowiki&amp;gt;https://webmay.fr&amp;lt;/nowiki&amp;gt;) - France&lt;br /&gt;
*ID 231240 - 231249: DoliCare - Gerhard Peilstöcker (&amp;lt;nowiki&amp;gt;https://dolicare.de&amp;lt;/nowiki&amp;gt;) - Germany - zugferd (231240)&lt;br /&gt;
*ID 231250 - 249999: &amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;Free (take ranges of 10 only please at once, ask us for more)&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*ID 250000 - 250019: Barnecki Spirits (https://github.com/Barnecki)&lt;br /&gt;
*ID 250020 - 250039: NEXORA COMMERCE (https://nexoratoolbox.com) - France&lt;br /&gt;
*ID 250040 - 262699: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 262700 - 262799: Scopen (https://www.scopen.fr)&lt;br /&gt;
*ID 262800 - 262849: Christophe BATTAREL EI&lt;br /&gt;
*ID 262850 - 262870: Nicolaus Hofer - Autriche&lt;br /&gt;
*ID 262871 - 262890: Knot Tools (&amp;lt;nowiki&amp;gt;https://knot.tools&amp;lt;/nowiki&amp;gt;) - France&lt;br /&gt;
*ID 262891 - 271799: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 271800 - 271849: bee solutions sàrl (Switzerland)&lt;br /&gt;
*ID 271850 - 272999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 273000 - 273019: Taler (https://taler.net)&lt;br /&gt;
*ID 273020 - 274199: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 274200 - 274249: Mathilde MAROCCO (https://mminformatique.fr)&lt;br /&gt;
*ID 274250 - 274299: Nerv Project (www.nerv-project.eu)&lt;br /&gt;
*ID 274300 - 274349: Knowhere Consulting S.L. (https://www.knowhere-consulting.eu)&lt;br /&gt;
*ID 274350 - 274399: Milen karaganski (https://blacktiehost.com)&lt;br /&gt;
*ID 274400 - 274449: Vincent MAURY ([https://www.timgroup.fr www.timgroup.fr])&lt;br /&gt;
*ID 274450 - 274499: Daraelmin&lt;br /&gt;
*ID 274500 - 274549: Emilie LAFORET (http://www.ermvallon.com)&lt;br /&gt;
*ID 274550 - 274559: ControlHN (https://www.controlhn.com) - Honduras&lt;br /&gt;
*ID 274560 - 278999: Free (take ranges of 10 only please at once, ask us for more)&lt;br /&gt;
*ID 279000 - 279049: VSDigital Electronics (https://vsdigital.ar) - Argentina&lt;br /&gt;
*ID 279050 - 279959: Saar Systems (https://www.saarsystems.de) - Germany&lt;br /&gt;
*ID 279060 - 279999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 280000 - 280049: Bingroup (https://www.beinng.com)&lt;br /&gt;
*ID 280050 - 280099: Medialta (https://medialta.com)&lt;br /&gt;
*ID 280100 - 280149: Cédric Ancelin - Ancode (https://www.dolistore.com/fr/recherche?search_query=ancode)&lt;br /&gt;
*ID 280150 - 280169: Rafael CF (https://virtualmachine.digital) - México&lt;br /&gt;
*ID 280170 - 289999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 290000 - 290099: BNS - Project doliBRA ([https://www.beinng.com https://www.bns.net.br]) - Brasil&lt;br /&gt;
*ID 290100 - 290109: Karelia Labs (https://karelialabs.com) - KLiasse (290100, Liasse fiscale 2033), KTse (290101, TSE for TakePOS)&lt;br /&gt;
*ID 290110 - 299999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 300000 - 300049: RapidProgress (https://www.rapidprogress.eu) - Bulgaria&lt;br /&gt;
*ID 300050 - 300099: M@ Solution (https://www.ma-solution.fr/)&lt;br /&gt;
*ID 300100 - 300149: LAVA RUN (https://www.lavarun.re)&lt;br /&gt;
*ID 300150 - 300199: PsyCrow Code&lt;br /&gt;
*ID 300200 - 300249: Computences (https://www.computences.com/)&lt;br /&gt;
*ID 300250 - 300299: LEVEL IT (https://levelit.com.ar)&lt;br /&gt;
*ID 300300 - 300349: Progiseize (https://progiseize.fr)&lt;br /&gt;
*ID 300350 - 300399: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 300400 - 300449: Anouar Touati&lt;br /&gt;
*ID 300450 - 300499: Martin Danger&lt;br /&gt;
*ID 300500 - 300999: dolibaTeam&lt;br /&gt;
*ID 301000 - 301299: DOLIBA TEAM&lt;br /&gt;
*ID 301300 - 301499: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 301500 - 301549: Tom Trust - International&lt;br /&gt;
*ID 301550 - 301599: MB Informatique (https://www.mb-informatique.fr)&lt;br /&gt;
*ID 301600 - 302479: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 302480 - 302499: akyras (https://akyras.fr)&lt;br /&gt;
*ID 302500 - 302549: Diamubi (https://diamubi.com)&lt;br /&gt;
*ID 302550 - 302599: Datolab (https://www.datolab.com)&lt;br /&gt;
*ID 302600 - 302649: DuMaCo (https://www.dumaco.de)&lt;br /&gt;
*ID 302650 - 302699: Resilio SA&lt;br /&gt;
*ID 302700 - 302749: Aroga&lt;br /&gt;
*ID 302750 - 302799: Productivix (https://www.productivix.com)&lt;br /&gt;
*ID 302800 - 302849: Slibzz&lt;br /&gt;
*ID 302850 - 302899: idea design (https://ideadesign.dz)&lt;br /&gt;
*ID 302900 - 302949: AL MISBAH INFORMATIQUE (https://www.almisbah.ma)&lt;br /&gt;
*ID 302950 - 302999: Atis Solutions - France&lt;br /&gt;
*ID 303000 - 303499: Obixav - Nigeria&lt;br /&gt;
*ID 303500 - 303549: buschler plus GmbH, Germany (https://buschler.plus)&lt;br /&gt;
*ID 303550 - 303599: Prestalidaire - France (https://prestalidaire.com)&lt;br /&gt;
*ID 303600 - 303619: Apertice - France (https://apertice.fr)&lt;br /&gt;
*ID 303620 - 303629: Arcchester (https://arcchester.com) - Focus: 303620&lt;br /&gt;
*ID 303630 - 308879: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 308880 – 308889: ZLO Technologies (https://www.zlotech.net) - Togo&lt;br /&gt;
*ID 308890 - 309999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 310000 - 310049: Neilson Dufour (&amp;lt;nowiki&amp;gt;https://hypercode.ca&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 310050 - 313999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 314000 - 314049: Ruemmler IT Solutions (https://www.ruemmler.net)&lt;br /&gt;
*ID 314050 - 314059: Qwimo - Belgique (https://qwimo.com)&lt;br /&gt;
*ID 314060 - 314149: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 314150 - 314199: Benoît PASCAL&lt;br /&gt;
*ID 314200 - 319999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 320000 - 320999: Novus Studios (www.novusstudios.it)&lt;br /&gt;
*ID 321000 - 321999: AtooNet (http://www.atoo-net.com)&lt;br /&gt;
*ID 322000 - 322049: Doymer Consultores&lt;br /&gt;
*ID 322050 - 329999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 330000 - 330049: XTEC Industries (www.xtec-ind.com)&lt;br /&gt;
*ID 330050 - 330099: 10100 S.R.L. - (www.10100.to)&lt;br /&gt;
*ID 330100 - 330149: AES Dana SRL (https://aes-dana.be)&lt;br /&gt;
*ID 330150 - 330199: Freshcore (https://www.freshcore.fr)&lt;br /&gt;
*ID 330200 - 331999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 332000 - 332099: Gecka (https://gecka.nc)&lt;br /&gt;
*ID 332100 - 332149: Agence Milkshake (http://agencemilkshake.com)&lt;br /&gt;
*ID 332150 - 332199: Daniel Prowald IT – Service (https://prowald-it.de)&lt;br /&gt;
*ID 332200 - 332249: UNITICE (https://unitice.com)&lt;br /&gt;
*ID 332250 - 332299: Sidonie Moulart&lt;br /&gt;
*ID 332300 - 332349: LTDJ (Antonin MARCHAL - Le Temple du Jeu)&lt;br /&gt;
*ID 332350 - 333299: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 333300 - 333349: Sense Africa (http://sense.africa)&lt;br /&gt;
*ID 333350 - 333369: Orion module&lt;br /&gt;
*ID 333370 - 339999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 340000 - 340049: M34D (https://m34d.com)&lt;br /&gt;
*ID 340050 - 340069: WiwIT&lt;br /&gt;
*ID 340070 - 340089: TAD-IT &amp;amp; SERVICES ([https://tadit-services.com/ https://tadit-services.com])&lt;br /&gt;
*ID 340090 - 349999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 350000 - 350049: SOUNDOU &amp;amp; MIDAS (https://www.soundou.org/)&lt;br /&gt;
*ID 350050 - 350099: Ildefonso González (https://igontek.es)&lt;br /&gt;
*ID 350100 - 350149: 7Kas Servicios de Internet, S.L. (https://7kas.com)&lt;br /&gt;
*ID 350150 - 350169: Silias (https://silias.ch)&lt;br /&gt;
*ID 350170 - 350999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 351000 - 351049: P&#039;tite Tête (https://ptitetete.com) - France&lt;br /&gt;
*ID 351050 - 358999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 359000 - 359049: Milen Karaganski0&lt;br /&gt;
*ID 359050 - 398999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 400000 - 400999: 2byte.es (http://www.2byte.es)&lt;br /&gt;
*ID 401000 - 401999: B&amp;amp;D Informática&lt;br /&gt;
*ID 402000 - 402999: Marcos García de La Fuente (marcosgdf)&lt;br /&gt;
*ID 403000 - 403999: Sergibyte&lt;br /&gt;
*ID 404000 - 404999: Aikhan&lt;br /&gt;
*ID 405000 - 405999: AIME (http://www.aime.mx)&lt;br /&gt;
*ID 406000 - 406999: Som Núvol (https://somnuvol.coop)&lt;br /&gt;
*ID 407000 - 407019: I-Motion SARL&lt;br /&gt;
*ID 407020 - 407029: valitool GmbH (https://valitool.org)&lt;br /&gt;
*ID 407030 - 408999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 409000 - 409999: LliureTIC (https://www.lliuretic.cat)&lt;br /&gt;
*ID 410000 - 410999: DoliGov&lt;br /&gt;
*ID 411000 - 411049: GATTEK SARL (https://www.ga-ttek.com)&lt;br /&gt;
*ID 411050 - 419999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 420000 - 420099: BBS Concept&lt;br /&gt;
*ID 420100 - 420199: LeMousticProduction (www.lemousticproduction.info) -&amp;lt; module DoliRH&lt;br /&gt;
*ID 420200 - 421199: VatCheck (www.abnc.be)&lt;br /&gt;
*ID 421200 - 421249: Dolix (https://dolix.fr)&lt;br /&gt;
*ID 421250 - 422199: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 422200 - 422999: Artaban (http://artaban.fr)&lt;br /&gt;
*ID 423000 - 423049: cyberesprit&lt;br /&gt;
*ID 423050 - 423099: R.Bossard&lt;br /&gt;
*ID 423100 - 423199: Joliciel (www.joliciel.fr)&lt;br /&gt;
*ID 423200 - 423299: Pragma-tech (www.pragma-tech.fr)&lt;br /&gt;
*ID 423300 - 423399: Pragma-tech (www.pragma-tech.fr)&lt;br /&gt;
*ID 423399 - 423999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 424000 - 424019: Philazerty ([https://www.philazerty.fr www.philazerty.fr])&lt;br /&gt;
*ID 424020 - 424039&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Studio 3 Points ([https://www.studio3points.ch www.studio3points.ch]) - Suisse&lt;br /&gt;
*ID 424040 - 424049: INTECH (https://www.intech.re) - Réunion&lt;br /&gt;
*ID 424050 - 424099: Pragma-tech (www.pragma-tech.fr)&lt;br /&gt;
*ID 424100 - 424149: Ohoo Solutions (http://www.ohoosolutions.com)&lt;br /&gt;
*ID 424150 - 424199: DAGARCAM Informática (https://www.dagarcam.com/)&lt;br /&gt;
*ID 424200 - 424999: Lab51 (https://github.com/lab51org)&lt;br /&gt;
*ID 425000 - 425999: Sébastien SERRE Thivinfo (www.thivinfo.com)&lt;br /&gt;
*ID 426000 - 426099: Arkesis-Solution&lt;br /&gt;
*ID 426100 - 426149: GetLandy (www.getlandy.com)&lt;br /&gt;
*ID 426150 - 426649: OOB Software&lt;br /&gt;
*ID 426650 - 426849: Soft-Task Serviços e Sistemas (www.soft-task.com.br)&lt;br /&gt;
*ID 426850 - 426999: Bruno Caldas (https://github.com/BCaldas)&lt;br /&gt;
*ID 427000 - 427999: Kevin GUERRIER (alias xcl.saian)&lt;br /&gt;
*ID 428000 - 428099: af83&lt;br /&gt;
*ID 428100 - 428199: Arnaud Serrut - Adalon&lt;br /&gt;
*ID 428200 - 428249: imschweiler consulting (http://www.imschweiler-consulting.de&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
*ID 428250 - 428299: AL1FO&lt;br /&gt;
*ID 428300 - 428349: Federico García-Patiño Barbolani (&amp;lt;federico.garcia.patino@gmail.com&amp;gt;)&lt;br /&gt;
*ID 428350 - 428399: INTM Groupe - France (www.intm.com)&lt;br /&gt;
*ID 428400 - 428449: Nick Fragoulis - Greece&lt;br /&gt;
*ID 428450 - 428499: Kontava - France ([https://kontava.fr kontava.fr)]&lt;br /&gt;
*ID 428500 - 428549: hkwhitten - USA&lt;br /&gt;
*ID 428550 - 428999: SmartOne&lt;br /&gt;
*ID 429000 - 429999: induslab&lt;br /&gt;
*ID 430000 - 430099: Mixity sprl (www.mixity.be)&lt;br /&gt;
*ID 430100 - 430199: sgiraud&lt;br /&gt;
*ID 430200 - 430299: Merlion TI (www.merlion-si.com.br)&lt;br /&gt;
*ID 430300 - 431299: Libre Expert (www.libre-expert.com)&lt;br /&gt;
*ID 431300 - 431399: ptibogxiv (www.ptibogxiv.net)&lt;br /&gt;
*ID 431400 - 431499: Befox (www.befox.fr)&lt;br /&gt;
*ID 431500 - 431599: rue Béjo (www.ruebejo.fr)&lt;br /&gt;
*ID 431600 - 431699: Avizzeo (www.avizzeo.com)&lt;br /&gt;
*ID 431700 - 432199: Multisistemas (www.multisistemas.com.sv)&lt;br /&gt;
*ID 432200 - 432399: Burbuja - Chile (www.burbuja.cl)&lt;br /&gt;
*ID 432400 - 433399: INOVEA CONSEIL (https://www.inovea-conseil.com)&lt;br /&gt;
*ID 433400 - 434399: Rachid HRICH - Maroc (HricH ServiceS.)&lt;br /&gt;
*ID 434400 - 435399: Lance Bleakley - LanceIT (www.lanceit.net)&lt;br /&gt;
*ID 435400 - 435419: Victorien LOS - France&lt;br /&gt;
*ID 435420 - 435439: Clément ESTREM - France&lt;br /&gt;
*ID 435440 - 435999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 436000 - 436099: SOWEBIO ([https://www.soweb.io www.soweb.io])&lt;br /&gt;
*ID 436100 - 436199: CAP-REL (www.cap-rel.fr)&lt;br /&gt;
*ID 436200 - 436300: TDE-INFORMATIQUE (www.tde-informatique.fr)&lt;br /&gt;
*ID 436301 - 436349: Evarisk ([https://www.evarisk.com/id-module-dolibarr/ www.evarisk.com])&lt;br /&gt;
*ID 436350 - 436399: Eoxia ([https://www.eoxia.com/dolibarr/modules/ www.eoxia.com])&lt;br /&gt;
*ID 436400 - 437399: Mohamed AHERDANE - Morocco - IT Consultant ( www.wave.ma )&lt;br /&gt;
*ID 437400 - 437449: Martin Neubauer - Germany&lt;br /&gt;
*ID 437450 - 437599: Club1click (www.club1click.es)&lt;br /&gt;
*ID 437600 - 437629: Coulon Vincent (https://github.com/HoverEpic)&lt;br /&gt;
*ID 437630 - 437649: Aytechnet (https://www.aytechnet.fr/) - François Pons&lt;br /&gt;
*ID 437650 - 437699: LibreMaster (https://libremaster.com) - Christophe T.&lt;br /&gt;
*ID 437700 - 437749: STELLAR Broadband (https://www.stellarbb.com) - U.S.A. - Philip Laycock&lt;br /&gt;
*ID 437750 - 437799: DIGITA.LU Ajous Solutions&lt;br /&gt;
*ID 437800 - 437850: iProspective (https://iprospective.fr) - Mathieu Moulin&lt;br /&gt;
*ID 437851 - 437900: Theobald Groupe.&lt;br /&gt;
*ID 437901 - 437950: Neuronnexion (http://neuronnexion.coop)&lt;br /&gt;
*ID 437951 - 437952: jmbc - APIA-ASSO (https://www.apia-asso.fr)&lt;br /&gt;
*ID 437953 - 438002: IPCZEN SARL (https://www.ipczeninformatique.fr/)&lt;br /&gt;
*ID 438003 - 438052: FESF IT Department (https://fesf.org.pk)&lt;br /&gt;
*ID 438053 - 438103: Pilot Engineering team&lt;br /&gt;
*ID 438104 - 438153: u2042 (https://u2042.com)&lt;br /&gt;
*ID 438154 - 438204: Djair E Pereira (ocultooooo@gmail.com) - Brasil&lt;br /&gt;
*ID 438205 - 438255: yoandm (https://yoandm.com)&lt;br /&gt;
*ID 438256 - 438299: PTMSoft (&amp;lt;nowiki&amp;gt;https://www.ptmsoft.fr&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
*ID 438300 - 438309: ProAudioGC - France - DoliCasta&lt;br /&gt;
*ID 438310 - 438399: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 438400 - 439399: Tetras Libre - France - Développement logiciels libres (www.tetras-libre.fr)&lt;br /&gt;
*ID 439400 - 440399: Dolibarr-pro - France - Développement Dolibarr (www.dolibarr-pro.com)&lt;br /&gt;
*ID 440400 - 441399: Quidlab Co., Ltd - Thailand - ( www.quidlab.com )&lt;br /&gt;
*ID 441400 - 442399: Ide@log - France - (https://www.idealog-info.net) - Laurent Leblanc&lt;br /&gt;
*ID 442400 - 443399: Valerio Bianchi (www.valeriobianchi.com)&lt;br /&gt;
*ID 443400 - 444399: delassalle - France - (www.delassalle.fr) - Joseph Delassalle&lt;br /&gt;
*ID 444400 - 445399: Webartis - Maroc - (www.webartis.net) - François Dry&lt;br /&gt;
*ID 445400 - 445499: SCOP Au-delà des nuages - France&lt;br /&gt;
*ID 445500 - 445549: X Net Systems - Egypt - (https://www.xneteg.com)&lt;br /&gt;
*ID 445550 - 445569: Schiefer.IT - Austria ([https://schiefer.it schiefer.it])&lt;br /&gt;
*ID 445570 - 445999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 446000 - 446999: iouston (http://www.iouston.com) - France - Julien Marchand&lt;br /&gt;
*ID 447000 - 447999: rSanjoSEO - Rafael San José Tovar (www.rsanjoseo.com) - Spain&lt;br /&gt;
*ID 448000 - 448999: Code 42 (www.code42.fr)&lt;br /&gt;
*ID 449000 - 449999: TakePOS (www.takepos.com)&lt;br /&gt;
*ID 450000 - 450999: Pierre ARDOIN&lt;br /&gt;
*ID 451000 - 451999: Éditeur depordi.fr&lt;br /&gt;
*ID 452000 - 452999: Dylan NAKONG&lt;br /&gt;
*ID 453000 - 453999: Menahd Ouchenir - France - menahd-ouchenir.com&lt;br /&gt;
*ID 454000 - 454999: Withheld - Canada&lt;br /&gt;
*ID 455000 - 455999: Gaëtan MAISON - Info Libre @ Dom - France (https://www.infolibreadom.com)&lt;br /&gt;
*ID 456000 - 456999: Laurent LEBLEU - B.L.C. - Blue Line Company - Lille - France (www.bluelinecompany.fr/dolibarr)&lt;br /&gt;
*ID 457000 - 457999: Sébastien BOUCHER&lt;br /&gt;
*ID 458000 - 458999: Lester HERNÁNDEZ - Argentina - (freelancerlrhd@gmail.com)&lt;br /&gt;
*ID 459000 - 459999: Infopen - France&lt;br /&gt;
*ID 460000 - 460049: torvista - Spain&lt;br /&gt;
*ID 460050 - 460099: ADVAISION.com (Belgique www.advaision.com)&lt;br /&gt;
*ID 460100 - 460119: Proximatic Digital - Spain (https://www.proximatic.digital)&lt;br /&gt;
*ID 460120 - 460129: Karite d&#039;Or SARL - Burkina Faso (https://dolibarr.karite-dor.com) - module RHBurkina&lt;br /&gt;
*ID 460130 - 460139: INTECH (&amp;lt;nowiki&amp;gt;https://www.intech.re&amp;lt;/nowiki&amp;gt;) - Réunion&lt;br /&gt;
*ID 460140 - 460149: NitPit3D - France (https://www.nitpit3d.com) - modules [[Module Google Review Request|Google Review Request]] (460140), [[Module Reorder Reminder|Reorder Reminder]] (460141), [[Module Win Back Dormant Customers|Win Back Dormant Customers]] (460142)&lt;br /&gt;
*ID 460150 - 460999: Free (take ranges of 10 only please at once, ask us for more)&lt;br /&gt;
*ID 461000 - 461999: MEGALOGI - Maroc (www.erpcloud.ma)&lt;br /&gt;
*ID 462000 - 462999: Making Digital (www.making-digital.fr) - France&lt;br /&gt;
*ID 463000 - 463999: linx s.r.l.s.&lt;br /&gt;
*ID 464000 - 464999: NimbleCubed Inc. (www.nimblecubed.com)&lt;br /&gt;
*ID 465000 - 465999: Artefacts (www.artefacts.coop) - Pascal Daugeron&lt;br /&gt;
*ID 466000 - 466999: CDM Consultores - (www.cdm.guru)&lt;br /&gt;
*ID 467000 - 467999: M71 Service GmbH - (www.m71-service.de)&lt;br /&gt;
*ID 468000 - 468049: Clément Segonzac - France (clement.segonzac@gmail.com)&lt;br /&gt;
*ID 468050 - 468099: Flavien Belli - France (https://github.com/Marshlyin || belliflaviencontactpro@gmail.com)&lt;br /&gt;
*ID 468100 - 468119: Chl (https://code.bugness.org/Dolibarr)&lt;br /&gt;
*ID 468120 - 468169: Commotron GmbH (https://www.commotron.com/)&lt;br /&gt;
*ID 468170 - 468219: Infans Group (franck.lauby@infans.fr)&lt;br /&gt;
*ID 468175 - 468199: Gaëlle Rauffet - France (kiwiscan.net)&lt;br /&gt;
*ID 468200 - 468249: Paulo Oliveira - Brasil (paulorcdo@gmail.com)&lt;br /&gt;
*ID 468250 - 468269: CD-Systems - France (https://www.cd-systems.fr)&lt;br /&gt;
*ID 468270 - 468299: Nicolas Testori&lt;br /&gt;
*ID 468300 - 468349: Uvensys - Germany (https://uvensys.de)&lt;br /&gt;
*ID 468350 - 468399: Laudeco - Belgium (http://github.com/laudeco)&lt;br /&gt;
*ID 468400 - 468449: Alexis LAURIER - France (https://www.alexislaurier.fr)&lt;br /&gt;
*ID 468450 - 468499: Mehdi Belkhayat - Maroc (https://opensi.ma)&lt;br /&gt;
*ID 468500 - 468599: InvIT GmbH - Germany (https://invit.sh)&lt;br /&gt;
*ID 468600 - 468649: Ricardo Sequeira - Portugal (https://ricardo-sequeira.com)&lt;br /&gt;
*ID 468650 - 468699: J-IT - Belgique (https://www.j-it.be)&lt;br /&gt;
*ID 468700 - 468749: Fidesio - France (https://www.fidesio.com/)&lt;br /&gt;
*ID 468750 - 468799: Sgestion - Spain (http://www.sgestion.net/)&lt;br /&gt;
*ID 468800 - 468849: Denis JULIEN - Brasil (matrinxa@free.fr)&lt;br /&gt;
*ID 468850 - 468899: Mmariko - Module GED - Effios&lt;br /&gt;
*ID 468900 - 468949: Maazou Amadou Abdoul aziz - Maroc (yaronfada@gmail.com)&lt;br /&gt;
*ID 468950 - 468999: Alexis LAURIER - France (https://www.alexislaurier.fr)&lt;br /&gt;
*ID 469000 - 469049: John Livingston (https://github.com/JohnXLivingston/)&lt;br /&gt;
*ID 469050 - 469099: Macrorom ICT-services (https://macrorom.nl/)&lt;br /&gt;
*ID 469100 - 469149: HABOT IT - France (https://habot.it)&lt;br /&gt;
*ID 469150 - 469159: CaribbeanConsult.Com CCC - France Guadeloupe (https://dolibarr.ccc.gp)&lt;br /&gt;
*ID 469160 - 469171: GMBG - Portugal&lt;br /&gt;
*ID 469172 - 469199: BGi Lda - Portugal&lt;br /&gt;
*ID 469200 - 469219: elsotec GmbH&lt;br /&gt;
*ID 469220 - 469299: MODUL DISTRIBUTION - France&lt;br /&gt;
*ID 469300 - 469319: Experts Conseils Chanton - Grégoire Chanton (https://www.experts-conseils.ch) - Switzerland&lt;br /&gt;
*ID 469320 - 469329: Experts Conseils Chanton - Grégoire Chanton (https://www.experts-conseils.ch) - Switzerland - Terrain&lt;br /&gt;
*ID 469330 - 469339: Experts Conseils Chanton - Grégoire Chanton (https://www.experts-conseils.ch) - Switzerland - Doli Local Edit&lt;br /&gt;
*ID 469340 - 469949: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 469950 - 469999: Goldoweb (http://goldoweb.com)&lt;br /&gt;
*ID 470000 - 470999: Reindeer Digital (https://rdeer.cz)&lt;br /&gt;
*ID 471000 - 471099: CAP-REL (www.cap-rel.fr)&lt;br /&gt;
*ID 471100 - 471199: M. Morillon&lt;br /&gt;
*ID 471200 - 471209: Pablo Nuñez&lt;br /&gt;
*ID 471210 - 471300: FANEL A.Ş  (https://www.fanel.com.tr)&lt;br /&gt;
*ID 471310 - 471319: Cepuder Group Ltd (https://cepuder.com)&lt;br /&gt;
*ID 471320 - 480999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 481000 - 481999: Alhaidab-ITIS (https://alhaidab.dolibarr.sd)&lt;br /&gt;
*ID 482000 - 482999: Basix IT (https://www.basix.de)&lt;br /&gt;
*ID 483000 - 483049: SASCO SpA (https://www.sasco.cl)&lt;br /&gt;
*ID 483050 - 483099: WIP Engineering (https://www.wip-gmbh.com)&lt;br /&gt;
*ID 483100 - 483149: J.Kaiser&lt;br /&gt;
*ID 483150 - 483199: CodLines (https://www.codlines.com)&lt;br /&gt;
*ID 483200 - 483249: BleepalSoftware (https://bleepal.com)&lt;br /&gt;
*ID 483250 - 483269: OPlibris (https://oplibris.org/)&lt;br /&gt;
*ID 483300 - 483309: Modvanta&lt;br /&gt;
*ID 483310 - 483319: Modvanta&lt;br /&gt;
*ID 483320 - 483329: Modvanta&lt;br /&gt;
*ID 485000 - 485049: Gest Info Service Plus (contact@gest-plus.fr)&lt;br /&gt;
*ID 485050 - 485069: DJOB&#039; Services&lt;br /&gt;
*ID 485070 - 485079: Arobase Pixel (https://www.arobase-pixel.fr/) - France&lt;br /&gt;
*ID 485080 - 485089: Graphphon_Togo (&amp;lt;nowiki&amp;gt;https://www.graphphon.com)-Togo(Afrique&amp;lt;/nowiki&amp;gt; de l&#039;Ouest)&lt;br /&gt;
*ID 485100 - 485199: EasySoft Tech S.L. - Spain (https://easysoft.es)&lt;br /&gt;
*ID 490000 - 490049: VOLD (https://www.voldgroup.com)&lt;br /&gt;
*ID 490050 - 490249: QUANTIVO (http://quantivo.eu/)&lt;br /&gt;
*ID 490250 - 490299: VOLD (https://www.voldgroup.com)&lt;br /&gt;
*ID 490300 - 490309: Synezia (https://www.synezia.fr) - France&lt;br /&gt;
*ID 490310 - 490319: Benjamin Marchand EI (https://doliai.news-cap.com) - France&lt;br /&gt;
*ID 490320 - 490999: Free (take ranges of 10 only please at once, ask us for more)&lt;br /&gt;
*ID 491000 - 491049: NORD ERP CRM (https://www.nord-erp-crm.fr/)&lt;br /&gt;
*ID 491050 - 491099: KJR-online (https://kjr-online.fr/)&lt;br /&gt;
*ID 491100 - 491149: eNova&lt;br /&gt;
*ID 491150 - 491199: App 4 Business&lt;br /&gt;
*ID 491200 - 491249: Mil24 (http://www.mil24.com.py)&lt;br /&gt;
*ID 491250 - 491299: M2AM&lt;br /&gt;
*ID 491300 - 491349: luigifab (https://github.com/luigifab), also reuse id:105009 for Sentry fork&lt;br /&gt;
*ID 491350 - 491399: Frédéric France (https://github.com/frederic34)&lt;br /&gt;
*ID 491400 - 491449: E-dem (https://www.e-dem.com/)&lt;br /&gt;
*ID 491450 - 491499: Burofree (https://burofreeai.es)&lt;br /&gt;
*ID 491500 - 491549: EMDELEN (https://emdelen.fr/)&lt;br /&gt;
*ID 491550 - 491599: eSoUrCeS Technologie (https://techno.esources.ca/) - Canada&lt;br /&gt;
*ID 491600 - 491649: GoSouce Peru - Peru&lt;br /&gt;
*ID 491650 - 491669: Kaféin Studio (https://kafein.studio) - France&lt;br /&gt;
*ID 491670 - 491699: Neykinfo  - France&lt;br /&gt;
*ID 491700 - 491709: Bank Match&lt;br /&gt;
*ID 491710 - 491719: activiert IT (https://activiert.de/) - Germany&lt;br /&gt;
*ID 491720 - 491729: DoliLink (https://www.dolilink.app) - France&lt;br /&gt;
*ID 491730 - 491739: Dolibarr User Australia (dolibarruseraustralia@gmail.com) - Australia&lt;br /&gt;
*ID 491740 - 491749: ODOIP TELECOM (https://www.odoip.fr) - France&lt;br /&gt;
*ID 491750 - 491759: Lanzware (https://www.lanz-it-solutions.de/lanzware/) - Germany&lt;br /&gt;
*ID 491760 - 491999: &#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 492000 - 492020: Anura (https://www.anura.fr/)&lt;br /&gt;
*ID 492021 - 492030: Marino Sedda - DoLib (https://www.dolib.it) - Italy&lt;br /&gt;
*ID 492031 - 492940: Lucky Ranasolonirina - Madagascar&lt;br /&gt;
*ID 492041 - 492990:&#039;&#039;&#039;Free (take ranges of 10 only please at once, ask us for more)&#039;&#039;&#039;&lt;br /&gt;
*ID 492991 - 492999: bcs - Germany (sellleads.de@gmail.com)&lt;br /&gt;
*ID 493000 - 493020: Bourez Bastien EI (https://bastien-b.fr/)&lt;br /&gt;
*ID 493021 - 493040 Pluginar (https://pluginar.com.ar/) - Argentina&lt;br /&gt;
*ID 493051 - 493071: benhmida ilyess (bhilyess98@gmail.com)&lt;br /&gt;
*ID 493072 - 493091: Weglob (https://weglob.com) - Morocco&lt;br /&gt;
*ID 493101 - 493120: George TS, George SP (gspanos@makeasite.gr)&lt;br /&gt;
*ID 493121 - 493140: BavariaPixel GbR&lt;br /&gt;
*ID 493150 - 493179: KSI (https://www.ksidol.io)&lt;br /&gt;
*ID 493180 - 493210: KSI (https://www.ksidol.io)&lt;br /&gt;
*ID 493200 - 493219: Stéphane Mallet (https://framagit.org/Steph501/dolibarr-mod-autoreminder)&lt;br /&gt;
*ID 493220 - 493239: TBNETSYS (www.tbnetsys.fr)&lt;br /&gt;
*ID 493240 - 493259: PEREL&lt;br /&gt;
*ID 493260 - 493269: Thermasse (https://www.thermasse.fr) - France&lt;br /&gt;
*ID 493270 - 493290: LogicMod (https://logicmod.ca) - Canada&lt;br /&gt;
*ID 493291 - 493310: NANAKA BUSINESS SOLUTIONS (https://www.nanaka.re) - La Réunion, France&lt;br /&gt;
*ID 495000 - 495009: JB SMT Informatique (https://www.jbsmt.fr)&lt;br /&gt;
*ID 495010 - 495029: Vankenhove Finance (https://www.vankenhovefinance.com) - France - Solaria&lt;br /&gt;
*ID 499001 - 499020: IT GENIUSES (https://www.itgeniuses.com)&lt;br /&gt;
*ID 499051 - 499071: KREATIV PROJECT MANAGEMENT&lt;br /&gt;
*ID 499072 - 499082: RIAS BAIXAS RENTALS (https://riasbaixasrentals.com) - Vigo, Spain&lt;br /&gt;
*ID 499083 - 499092: NEXTWAYS - LEBANON&lt;br /&gt;
*ID 499093 - 499299: DOLINN By BGI&lt;br /&gt;
&lt;br /&gt;
DO NOT ADD RECORD HERE, PLEASE FILL HOLES FIRST !!!!&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
=ID &amp;gt; 500000=&lt;br /&gt;
&lt;br /&gt;
This range can&#039;t be reserved. It is a common range. If you don&#039;t plan to distribute your module, you can use an ID in this range with no need to reserve it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have reserved ids and need some, please don&#039;t use hazardous number and use a number higher than 500000, but it is better to ask a wiki account, and reserve your own range by editing the  100000 - 499999 range (10 ids at once).&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP_(FR)&amp;diff=69014</id>
		<title>Module Charges PMP (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP_(FR)&amp;diff=69014"/>
		<updated>2026-11-12T16:15:57Z</updated>

		<summary type="html">&lt;p&gt;Weglob: New page: Module Charges PMP (FR) (Weglob module documentation)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_Charges_PMP]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=PMPCharges&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2867&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Modules Stock, Produits et Fournisseurs activés&lt;br /&gt;
|minversion=20.0&lt;br /&gt;
|note=ID module 500050&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module Charges PMP (PMPCharges) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 3.2.0&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 500050&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 20.0 et plus&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Charges PMP&#039;&#039;&#039; intègre les frais d&#039;approche (transport, douane, autres frais) dans le &#039;&#039;&#039;prix moyen pondéré (PMP)&#039;&#039;&#039; des produits lors des entrées en stock fournisseurs.&lt;br /&gt;
&lt;br /&gt;
Sans ce module, Dolibarr calcule le PMP à partir du seul prix d&#039;achat. Avec lui, le coût de revient réel est réparti sur les produits reçus : la valeur du stock et les marges reflètent le vrai coût.&lt;br /&gt;
&lt;br /&gt;
Le module reste aligné sur la logique native du stock Dolibarr :&lt;br /&gt;
* les charges sont appliquées au mouvement de stock réel (événement &#039;&#039;STOCK_MOVEMENT&#039;&#039;) ;&lt;br /&gt;
* elles sont saisies sur le document qui correspond à votre mode de stock ;&lt;br /&gt;
* elles sont verrouillées une fois appliquées ;&lt;br /&gt;
* elles sont restaurées si le mouvement de stock est annulé.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* Saisie des charges depuis la &#039;&#039;&#039;commande fournisseur&#039;&#039;&#039;, la &#039;&#039;&#039;facture fournisseur&#039;&#039;&#039; ou la &#039;&#039;&#039;réception&#039;&#039;&#039;, selon votre configuration du stock.&lt;br /&gt;
* Choix des factures de charges (transport, douane...) dans une liste de factures fournisseurs avec recherche, filtrée par entité.&lt;br /&gt;
* &#039;&#039;&#039;Bouton « Calculer le PMP »&#039;&#039;&#039; : aperçu du résultat avant le mouvement de stock.&lt;br /&gt;
* Répartition des charges par &#039;&#039;&#039;quantité&#039;&#039;&#039;, par &#039;&#039;&#039;valeur&#039;&#039;&#039; ou &#039;&#039;&#039;à parts égales&#039;&#039;&#039;.&lt;br /&gt;
* Option de mise à jour du &#039;&#039;&#039;prix de revient&#039;&#039;&#039; du produit.&lt;br /&gt;
* Protection contre la double application.&lt;br /&gt;
* &#039;&#039;&#039;Retour arrière&#039;&#039;&#039; : réception dévalidée ou réouverte, facture fournisseur dévalidée, commande fournisseur repassée en brouillon (avec mouvement de stock inverse).&lt;br /&gt;
* Compatible multi-société.&lt;br /&gt;
* Droits dédiés.&lt;br /&gt;
&lt;br /&gt;
== Règle de calcul ==&lt;br /&gt;
Dolibarr calcule d&#039;abord le PMP standard à l&#039;entrée en stock. Le module ajoute ensuite la charge :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PMP corrigé = PMP après mouvement + (charge allouée / stock réel après mouvement)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi les réceptions partielles et les documents successifs restent cohérents, sans repartir du prix d&#039;achat initial.&lt;br /&gt;
&lt;br /&gt;
== Modes de stock pris en charge ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option Dolibarr active !! Document de saisie des charges !! Application automatique&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER || Commande fournisseur || À l&#039;approbation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_BILL || Facture fournisseur || À la validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION || Réception || À la validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION_CLOSE || Réception || À la clôture&lt;br /&gt;
|}&lt;br /&gt;
Le mode &#039;&#039;STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER&#039;&#039; n&#039;est pas pris en charge.&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:PMPCharges_charges_block.png|Charges saisies sur une facture fournisseur&lt;br /&gt;
File:PMPCharges_pmp_preview.png|Aperçu du PMP avant le mouvement de stock&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Acheter et télécharger le zip du module sur DoliStore.&lt;br /&gt;
# Aller dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyer le zip.&lt;br /&gt;
# Ou le décompresser manuellement dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/pmpcharges&#039;&#039;.&lt;br /&gt;
# Activer le module &#039;&#039;&#039;PMPCharges&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Ouvrir &#039;&#039;Configuration &amp;gt; Modules/Applications &amp;gt; PMPCharges &amp;gt; Configuration&#039;&#039;.&lt;br /&gt;
# Choisir le &#039;&#039;&#039;type de répartition des charges&#039;&#039;&#039; : quantité, valeur ou parts égales.&lt;br /&gt;
# Choisir si le &#039;&#039;&#039;prix de revient du produit&#039;&#039;&#039; doit être mis à jour (oui/non).&lt;br /&gt;
# Vérifier le mode d&#039;entrée en stock fournisseur dans &#039;&#039;Configuration &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Droits ==&lt;br /&gt;
* Lire les charges PMP&lt;br /&gt;
* Créer/modifier les charges PMP&lt;br /&gt;
* Supprimer les charges PMP&lt;br /&gt;
* Calculer le PMP (aperçu)&lt;br /&gt;
&lt;br /&gt;
== Vérification rapide ==&lt;br /&gt;
# Créer un document fournisseur avec des produits (selon votre mode de stock).&lt;br /&gt;
# Ajouter une ou plusieurs charges dans le bloc PMPCharges.&lt;br /&gt;
# Cliquer sur &#039;&#039;&#039;Calculer le PMP&#039;&#039;&#039; pour l&#039;aperçu.&lt;br /&gt;
# Valider le document : le mouvement de stock applique le PMP corrigé et verrouille les charges.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;Je ne peux plus modifier les charges&lt;br /&gt;
:Elles sont verrouillées après application. Annulez le mouvement de stock (par exemple en repassant la réception en brouillon) pour les déverrouiller.&lt;br /&gt;
&lt;br /&gt;
;Le bloc des charges n&#039;apparaît pas&lt;br /&gt;
:Il s&#039;affiche uniquement sur le document qui correspond au mode de stock actif. Vérifiez &#039;&#039;Configuration &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
;Le PMP des produits déjà en stock change-t-il ?&lt;br /&gt;
:Uniquement via la formule ci-dessus, pour les produits du mouvement concerné.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Catégorie:Modules complémentaires]]&lt;br /&gt;
[[Catégorie:DocUserFR]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP&amp;diff=69013</id>
		<title>Module Charges PMP</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Charges_PMP&amp;diff=69013"/>
		<updated>2026-11-12T16:15:55Z</updated>

		<summary type="html">&lt;p&gt;Weglob: New page: Module Charges PMP (Weglob module documentation)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_Charges_PMP_(FR)]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=PMPCharges&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2867&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Stock, Products and Suppliers modules enabled&lt;br /&gt;
|minversion=20.0&lt;br /&gt;
|note=Module ID 500050&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module Charges PMP (PMPCharges) =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Name !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Publisher || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Status || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 3.2.0&lt;br /&gt;
|-&lt;br /&gt;
| Module ID || 500050&lt;br /&gt;
|-&lt;br /&gt;
| Dolibarr compatibility || 20.0 and later&lt;br /&gt;
|-&lt;br /&gt;
| License || GPL v3 or later&lt;br /&gt;
|-&lt;br /&gt;
| Languages || English, French&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Charges PMP&#039;&#039;&#039; adds extra purchase costs (transport, customs, other fees) into the &#039;&#039;&#039;weighted average price (PMP)&#039;&#039;&#039; of products when supplier goods enter the stock.&lt;br /&gt;
&lt;br /&gt;
Without this module, Dolibarr computes the PMP from the purchase price only. With it, the landed cost is spread over the received products, so your stock value and margins reflect the real cost.&lt;br /&gt;
&lt;br /&gt;
The module stays aligned with the native Dolibarr stock logic:&lt;br /&gt;
* the charges are applied at the real stock movement (&#039;&#039;STOCK_MOVEMENT&#039;&#039; event);&lt;br /&gt;
* they are entered on the document that matches your stock mode;&lt;br /&gt;
* they are locked once applied;&lt;br /&gt;
* they are restored if the stock movement is reversed.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Enter charges from the &#039;&#039;&#039;supplier order&#039;&#039;&#039;, &#039;&#039;&#039;supplier invoice&#039;&#039;&#039; or &#039;&#039;&#039;reception&#039;&#039;&#039;, depending on your stock setup.&lt;br /&gt;
* Pick the charge invoices (transport, customs...) from a searchable list of supplier invoices, filtered by entity.&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;Calculate PMP&amp;quot; button&#039;&#039;&#039;: preview the result before the stock movement.&lt;br /&gt;
* Allocation of charges by &#039;&#039;&#039;quantity&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; or &#039;&#039;&#039;equal share&#039;&#039;&#039;.&lt;br /&gt;
* Option to also update the product &#039;&#039;&#039;cost price&#039;&#039;&#039;.&lt;br /&gt;
* Protection against double application.&lt;br /&gt;
* &#039;&#039;&#039;Rollback&#039;&#039;&#039;: reception set back to draft or reopened, supplier invoice set back to draft, supplier order set back to draft (with reverse stock movement).&lt;br /&gt;
* Multi-company compatible.&lt;br /&gt;
* Dedicated permissions.&lt;br /&gt;
&lt;br /&gt;
== Calculation rule ==&lt;br /&gt;
Dolibarr first computes the standard PMP on the stock entry. The module then adds the charge:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
corrected PMP = PMP after movement + (allocated charge / real stock after movement)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This keeps partial receptions and successive documents consistent, without restarting from the initial purchase price.&lt;br /&gt;
&lt;br /&gt;
== Supported stock modes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Active Dolibarr option !! Document where charges are entered !! Automatic application&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER || Supplier order || On approval&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_SUPPLIER_BILL || Supplier invoice || On validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION || Reception || On validation&lt;br /&gt;
|-&lt;br /&gt;
| STOCK_CALCULATE_ON_RECEPTION_CLOSE || Reception || On closing&lt;br /&gt;
|}&lt;br /&gt;
The mode &#039;&#039;STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER&#039;&#039; is not supported.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:PMPCharges_charges_block.png|Charges entered on a supplier invoice&lt;br /&gt;
File:PMPCharges_pmp_preview.png|PMP preview before the stock movement&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Buy and download the module zip from DoliStore.&lt;br /&gt;
# Go to &#039;&#039;Home &amp;gt; Setup &amp;gt; Modules/Applications &amp;gt; Deploy/install external module&#039;&#039; and upload the zip.&lt;br /&gt;
# Or unzip it manually into &#039;&#039;htdocs/custom/&#039;&#039; so you get &#039;&#039;htdocs/custom/pmpcharges&#039;&#039;.&lt;br /&gt;
# Enable the &#039;&#039;&#039;PMPCharges&#039;&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Open &#039;&#039;Setup &amp;gt; Modules/Applications &amp;gt; PMPCharges &amp;gt; Setup&#039;&#039;.&lt;br /&gt;
# Choose the &#039;&#039;&#039;charge allocation type&#039;&#039;&#039;: quantity, value or equal.&lt;br /&gt;
# Choose whether to &#039;&#039;&#039;update the product cost price&#039;&#039;&#039; (yes/no).&lt;br /&gt;
# Check your supplier stock entry mode in &#039;&#039;Setup &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* Read PMP charges&lt;br /&gt;
* Create/modify PMP charges&lt;br /&gt;
* Delete PMP charges&lt;br /&gt;
* Calculate PMP (preview)&lt;br /&gt;
&lt;br /&gt;
== Quick check ==&lt;br /&gt;
# Create a supplier document with products (according to your stock mode).&lt;br /&gt;
# Add one or more charges in the PMPCharges block.&lt;br /&gt;
# Click &#039;&#039;&#039;Calculate PMP&#039;&#039;&#039; to preview.&lt;br /&gt;
# Validate the document: the stock movement applies the corrected PMP and locks the charges.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;I cannot edit the charges any more&lt;br /&gt;
:They are locked after application. Reverse the stock movement (for example set the reception back to draft) to unlock them.&lt;br /&gt;
&lt;br /&gt;
;The charges block does not appear&lt;br /&gt;
:The block is shown on the document that matches the active stock mode only. Check &#039;&#039;Setup &amp;gt; Stock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
;Does it change the PMP of products already in stock?&lt;br /&gt;
:Only through the formula above, for the products of the movement concerned.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* Email: contact@weglob.com&lt;br /&gt;
* Website: [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn: [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Category:DocUserEN]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI_(FR)&amp;diff=69012</id>
		<title>Module AIRA BI (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI_(FR)&amp;diff=69012"/>
		<updated>2026-11-12T16:15:55Z</updated>

		<summary type="html">&lt;p&gt;Weglob: New page: Module AIRA BI (FR) (Weglob module documentation)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_AIRA_BI]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=AIRA BI&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2841&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Dolibarr 19.0+, PHP 8.0+, une clé API d&#039;un fournisseur IA&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=ID module 500100&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module AIRA BI =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 1.4.2&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 500100&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 19.0 et plus&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;AIRA BI&#039;&#039;&#039; est un assistant IA intégré à Dolibarr. Les utilisateurs posent leurs questions sur les données de l&#039;ERP en langage naturel et obtiennent la réponse en texte, en tableau ou en graphique.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
* &#039;&#039;ventes par mois sur 6 mois&#039;&#039;&lt;br /&gt;
* &#039;&#039;top 10 clients par chiffre d&#039;affaires&#039;&#039;&lt;br /&gt;
* &#039;&#039;factures impayées par client&#039;&#039;&lt;br /&gt;
* &#039;&#039;solde des comptes bancaires&#039;&#039;&lt;br /&gt;
* &#039;&#039;état des projets par statut&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le moteur suit un circuit contrôlé : &#039;&#039;&#039;question → contexte du schéma → plan IA → validation → SQL en lecture seule → affichage dans le chat&#039;&#039;&#039;. C&#039;est un assistant Dolibarr, pas un chatbot généraliste.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* Réponse en &#039;&#039;&#039;texte, tableau ou graphique&#039;&#039;&#039; selon la question.&lt;br /&gt;
* &#039;&#039;&#039;Mémoire de conversation&#039;&#039;&#039; : questions de suivi, affiner un filtre, demander une autre vue.&lt;br /&gt;
* Conversations enregistrées &#039;&#039;&#039;par utilisateur et par entité&#039;&#039;&#039;, réouverture ou suppression depuis le panneau latéral.&lt;br /&gt;
* &#039;&#039;&#039;Liens vers les rapports natifs&#039;&#039;&#039; (&#039;&#039;customreports.php&#039;&#039;) quand le résultat correspond à un rapport Dolibarr.&lt;br /&gt;
* Suggestions d&#039;accueil affichées seulement si l&#039;utilisateur a les droits nécessaires.&lt;br /&gt;
* Aide à l&#039;utilisation de Dolibarr (« comment créer une facture ? ») sans lecture de la base.&lt;br /&gt;
* Choix du fournisseur IA : &#039;&#039;&#039;OpenRouter&#039;&#039;&#039; (des centaines de modèles, dont des gratuits), &#039;&#039;&#039;OpenAI&#039;&#039;&#039;, &#039;&#039;&#039;Google Gemini&#039;&#039;&#039;, &#039;&#039;&#039;NVIDIA&#039;&#039;&#039;.&lt;br /&gt;
* Messages d&#039;erreur clairs (fournisseur, modèle, erreur technique) si l&#039;API IA échoue.&lt;br /&gt;
&lt;br /&gt;
== Sécurité ==&lt;br /&gt;
Chaque requête passe par un garde-fou SQL :&lt;br /&gt;
* &#039;&#039;SELECT&#039;&#039; uniquement, une seule instruction, sans commentaires ni variables.&lt;br /&gt;
* Aucune requête d&#039;écriture, aucun export (&#039;&#039;INTO OUTFILE&#039;&#039;), aucun schéma système.&lt;br /&gt;
* Liste blanche des tables métier : chaque table exige le module Dolibarr correspondant &#039;&#039;&#039;et&#039;&#039;&#039; le droit de l&#039;utilisateur (ex. factures : « Lire les factures »).&lt;br /&gt;
* Colonnes sensibles interdites (mots de passe, clés API, jetons).&lt;br /&gt;
* Filtre &#039;&#039;entity&#039;&#039; imposé (sûr en multi-société).&lt;br /&gt;
* Nombre de lignes et durée d&#039;exécution plafonnés.&lt;br /&gt;
* Exécution dans une transaction en lecture seule, ou avec un utilisateur MySQL en lecture seule (recommandé).&lt;br /&gt;
&lt;br /&gt;
Les clés API et le mot de passe MySQL lecture seule sont chiffrés en base et jamais réaffichés.&lt;br /&gt;
&lt;br /&gt;
== Confidentialité ==&lt;br /&gt;
Envoyé au fournisseur IA : la question, l&#039;historique de la conversation et la description des tables autorisées. &#039;&#039;&#039;Les résultats des requêtes ne sont pas envoyés.&#039;&#039;&#039; Les offres gratuites (modèles OpenRouter &#039;&#039;:free&#039;&#039;, Gemini gratuit, crédits d&#039;essai NVIDIA) peuvent conserver les requêtes : préférez une offre payante pour les données sensibles.&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:AIRA_BI_welcome.png|Écran d&#039;accueil et suggestions&lt;br /&gt;
File:AIRA_BI_chart.png|Réponse en graphique : ventes par mois&lt;br /&gt;
File:AIRA_BI_setup.png|Configuration : choix du fournisseur IA&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Acheter et télécharger le zip du module sur DoliStore.&lt;br /&gt;
# Aller dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyer le zip.&lt;br /&gt;
# Ou le décompresser manuellement dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/aichat&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Activer le module &#039;&#039;&#039;AIRA BI&#039;&#039;&#039;.&lt;br /&gt;
# Ouvrir la page de configuration du module.&lt;br /&gt;
# Choisir le fournisseur : OpenRouter, OpenAI, Google Gemini ou NVIDIA.&lt;br /&gt;
# Saisir la clé API (le bouton « Obtenir une clé » ouvre la page du fournisseur).&lt;br /&gt;
# Choisir le modèle. Pour OpenRouter, la liste vient du catalogue en direct avec prix et taille de contexte ; un avertissement s&#039;affiche si le modèle configuré a été retiré.&lt;br /&gt;
# Enregistrer.&lt;br /&gt;
# Optionnel mais recommandé : créer un utilisateur MySQL en lecture seule et le saisir dans la configuration :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;dolibarr_ro&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;motdepasse&#039;;&lt;br /&gt;
GRANT SELECT ON dolibarr.* TO &#039;dolibarr_ro&#039;@&#039;localhost&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Optionnel : activer la fonction BI / rapports de Dolibarr pour obtenir les liens &#039;&#039;customreports&#039;&#039; dans le chat.&lt;br /&gt;
&lt;br /&gt;
Le serveur Dolibarr doit joindre l&#039;API du fournisseur en HTTPS (paramètre PHP &#039;&#039;curl.cainfo&#039;&#039; renseigné avec les certificats racine).&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;L&#039;assistant répond par une erreur IA&lt;br /&gt;
:Vérifier la clé API, le quota et que le modèle est toujours disponible. Le message indique le fournisseur et le modèle utilisés.&lt;br /&gt;
&lt;br /&gt;
;« Aucune donnée trouvée »&lt;br /&gt;
:Aucun enregistrement Dolibarr ne correspond. Modifier la période ou le filtre.&lt;br /&gt;
&lt;br /&gt;
;Un utilisateur ne voit pas certaines suggestions ou reçoit un refus&lt;br /&gt;
:Il n&#039;a pas le droit Dolibarr sur le module concerné (factures, commandes, banque...). C&#039;est voulu.&lt;br /&gt;
&lt;br /&gt;
;Peut-il modifier mes données ?&lt;br /&gt;
:Non. Seules les requêtes &#039;&#039;SELECT&#039;&#039; en lecture seule sont autorisées.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Catégorie:Modules complémentaires]]&lt;br /&gt;
[[Catégorie:DocUserFR]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI&amp;diff=69011</id>
		<title>Module AIRA BI</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_AIRA_BI&amp;diff=69011"/>
		<updated>2026-11-12T16:15:53Z</updated>

		<summary type="html">&lt;p&gt;Weglob: New page: Module AIRA BI (Weglob module documentation)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_AIRA_BI_(FR)]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=AIRA BI&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com/product.php?id=2841&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Dolibarr 19.0+, PHP 8.0+, an AI provider API key&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=Module ID 500100&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module AIRA BI =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Name !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Publisher || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Status || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 1.4.2&lt;br /&gt;
|-&lt;br /&gt;
| Module ID || 500100&lt;br /&gt;
|-&lt;br /&gt;
| Dolibarr compatibility || 19.0 and later&lt;br /&gt;
|-&lt;br /&gt;
| License || GPL v3 or later&lt;br /&gt;
|-&lt;br /&gt;
| Languages || English, French&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;AIRA BI&#039;&#039;&#039; is an AI assistant built into Dolibarr. Users ask questions about their ERP data in plain language and get the answer as text, a table or a chart.&lt;br /&gt;
&lt;br /&gt;
Example questions:&lt;br /&gt;
* &#039;&#039;sales by month over 6 months&#039;&#039;&lt;br /&gt;
* &#039;&#039;top 10 customers by revenue&#039;&#039;&lt;br /&gt;
* &#039;&#039;unpaid invoices by customer&#039;&#039;&lt;br /&gt;
* &#039;&#039;bank account balances&#039;&#039;&lt;br /&gt;
* &#039;&#039;projects by status&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The engine follows a controlled flow: &#039;&#039;&#039;question → schema context → AI plan → validation → read-only SQL → display in the chat&#039;&#039;&#039;. It is a Dolibarr assistant, not a general-purpose chatbot.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Answers as &#039;&#039;&#039;text, table or chart&#039;&#039;&#039; depending on the question.&lt;br /&gt;
* &#039;&#039;&#039;Conversation memory&#039;&#039;&#039;: follow-up questions, refine a filter, ask for another view.&lt;br /&gt;
* Conversations saved &#039;&#039;&#039;per user and per entity&#039;&#039;&#039;, reopen or delete them from the sidebar.&lt;br /&gt;
* &#039;&#039;&#039;Links to native reports&#039;&#039;&#039; (&#039;&#039;customreports.php&#039;&#039;) when the result matches a Dolibarr report.&lt;br /&gt;
* Starter suggestions on the welcome screen, shown only when the user has the required rights.&lt;br /&gt;
* Help on Dolibarr usage (&amp;quot;how do I create an invoice?&amp;quot;) without reading the database.&lt;br /&gt;
* Choice of AI provider: &#039;&#039;&#039;OpenRouter&#039;&#039;&#039; (hundreds of models, some free), &#039;&#039;&#039;OpenAI&#039;&#039;&#039;, &#039;&#039;&#039;Google Gemini&#039;&#039;&#039;, &#039;&#039;&#039;NVIDIA&#039;&#039;&#039;.&lt;br /&gt;
* Clear error messages (provider, model, technical error) when the AI API fails.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
Every query goes through a SQL guard:&lt;br /&gt;
* &#039;&#039;SELECT&#039;&#039; only, a single statement, no comments or variables.&lt;br /&gt;
* No write queries, no export (&#039;&#039;INTO OUTFILE&#039;&#039;), no system schemas.&lt;br /&gt;
* Whitelist of business tables: each table needs the matching Dolibarr module &#039;&#039;&#039;and&#039;&#039;&#039; the user&#039;s permission (e.g. invoices require &amp;quot;Read invoices&amp;quot;).&lt;br /&gt;
* Sensitive columns are blocked (passwords, API keys, tokens).&lt;br /&gt;
* &#039;&#039;entity&#039;&#039; filter enforced (multi-company safe).&lt;br /&gt;
* Row count and execution time are capped.&lt;br /&gt;
* Runs in a read-only transaction, or with a read-only MySQL user (recommended).&lt;br /&gt;
&lt;br /&gt;
API keys and the read-only MySQL password are encrypted in the database and never displayed again.&lt;br /&gt;
&lt;br /&gt;
== Privacy ==&lt;br /&gt;
Sent to the AI provider: the question, the conversation history and the description of the allowed tables. &#039;&#039;&#039;Query results are not sent.&#039;&#039;&#039; Free offers (OpenRouter &#039;&#039;:free&#039;&#039; models, Gemini free tier, NVIDIA trial credits) may log prompts: prefer a paid offer for sensitive data.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:AIRA_BI_welcome.png|Welcome screen with suggestions&lt;br /&gt;
File:AIRA_BI_chart.png|Answer as a chart: sales by month&lt;br /&gt;
File:AIRA_BI_setup.png|Setup: choice of AI provider&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Buy and download the module zip from DoliStore.&lt;br /&gt;
# Go to &#039;&#039;Home &amp;gt; Setup &amp;gt; Modules/Applications &amp;gt; Deploy/install external module&#039;&#039; and upload the zip.&lt;br /&gt;
# Or unzip it manually into &#039;&#039;htdocs/custom/&#039;&#039; so you get &#039;&#039;htdocs/custom/aichat&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Enable the &#039;&#039;&#039;AIRA BI&#039;&#039;&#039; module.&lt;br /&gt;
# Open the module setup page.&lt;br /&gt;
# Choose the provider: OpenRouter, OpenAI, Google Gemini or NVIDIA.&lt;br /&gt;
# Enter the API key (a &amp;quot;Get a key&amp;quot; button opens the provider page).&lt;br /&gt;
# Choose the model. For OpenRouter, the list comes from the live catalog with prices and context size; a warning is shown if the configured model was removed.&lt;br /&gt;
# Save.&lt;br /&gt;
# Optional but recommended: create a read-only MySQL user and enter it in the setup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;dolibarr_ro&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;password&#039;;&lt;br /&gt;
GRANT SELECT ON dolibarr.* TO &#039;dolibarr_ro&#039;@&#039;localhost&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Optional: enable the Dolibarr BI / reports feature to get &#039;&#039;customreports&#039;&#039; links in the chat.&lt;br /&gt;
&lt;br /&gt;
The Dolibarr server must reach the provider API over HTTPS (PHP &#039;&#039;curl.cainfo&#039;&#039; set with root certificates).&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;The assistant answers with an AI error&lt;br /&gt;
:Check the API key, the quota and that the model is still available. The message shows the provider and model in use.&lt;br /&gt;
&lt;br /&gt;
;&amp;quot;No data found&amp;quot;&lt;br /&gt;
:No Dolibarr record matches. Change the period or the filter.&lt;br /&gt;
&lt;br /&gt;
;A user does not see some suggestions or gets a refusal&lt;br /&gt;
:The user lacks the Dolibarr permission on the module behind that data (invoices, orders, bank...). This is intended.&lt;br /&gt;
&lt;br /&gt;
;Can it modify my data?&lt;br /&gt;
:No. Only read-only &#039;&#039;SELECT&#039;&#039; queries are allowed.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* Email: contact@weglob.com&lt;br /&gt;
* Website: [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn: [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Category:DocUserEN]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_WhatsApp_IA_(FR)&amp;diff=69010</id>
		<title>Module WhatsApp IA (FR)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_WhatsApp_IA_(FR)&amp;diff=69010"/>
		<updated>2026-11-12T16:15:53Z</updated>

		<summary type="html">&lt;p&gt;Weglob: New page: Module WhatsApp IA (FR) (Weglob module documentation)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[en:Module_WhatsApp_IA]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=WhatsAppIA&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Dolibarr 19.0+, PHP 7.4+, un numéro WhatsApp Business Cloud API (Meta), HTTPS&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=ID module 517300&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module WhatsApp IA =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| Éditeur || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Statut || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 1.0.0&lt;br /&gt;
|-&lt;br /&gt;
| ID module || 517300&lt;br /&gt;
|-&lt;br /&gt;
| Compatibilité Dolibarr || 19.0 et plus&lt;br /&gt;
|-&lt;br /&gt;
| Licence || GPL v3 ou ultérieure&lt;br /&gt;
|-&lt;br /&gt;
| Langues || Français, anglais&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;WhatsApp IA&#039;&#039;&#039; connecte Dolibarr à l&#039;API officielle &#039;&#039;&#039;WhatsApp Business Cloud de Meta&#039;&#039;&#039;. Votre équipe traite les conversations WhatsApp directement dans Dolibarr, et un agent IA optionnel répond aux clients avec les vraies données de l&#039;ERP (factures, commandes, produits, stock).&lt;br /&gt;
&lt;br /&gt;
Les messages sont rattachés aux tiers : chaque échange reste dans l&#039;historique du client ou du fournisseur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
* &#039;&#039;&#039;Boîte de réception partagée&#039;&#039;&#039; dans Dolibarr : liste des conversations, compteurs de non-lus, réponse depuis le navigateur.&lt;br /&gt;
* &#039;&#039;&#039;Rattachement automatique aux tiers&#039;&#039;&#039; par numéro de téléphone.&lt;br /&gt;
* &#039;&#039;&#039;Envoi de documents&#039;&#039;&#039; : facture, devis ou commande en PDF envoyé dans la conversation depuis la fiche Dolibarr.&lt;br /&gt;
* &#039;&#039;&#039;Agent IA&#039;&#039;&#039; (optionnel) : répond à « quel est mon solde ? », « où en est ma commande ? » grâce à des outils en lecture seule sur les données Dolibarr.&lt;br /&gt;
* &#039;&#039;&#039;Transfert à un humain&#039;&#039;&#039; : en cas de doute, l&#039;IA passe la main et crée une tâche pour l&#039;équipe.&lt;br /&gt;
* &#039;&#039;&#039;Factures fournisseurs par WhatsApp&#039;&#039;&#039; : un fournisseur ou un salarié envoie une photo ou un PDF, le module crée une facture fournisseur brouillon.&lt;br /&gt;
* &#039;&#039;&#039;Journal IA&#039;&#039;&#039; : question, outils utilisés, réponse, résultat et coût estimé de chaque traitement.&lt;br /&gt;
* Prise en charge des &#039;&#039;&#039;noms d&#039;utilisateur WhatsApp&#039;&#039;&#039; (contacts sans numéro visible).&lt;br /&gt;
* Compatible multi-société (un numéro WhatsApp par entité).&lt;br /&gt;
&lt;br /&gt;
== Captures d&#039;écran ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:WhatsAppIA_inbox.png|Boîte de réception avec l&#039;agent IA&lt;br /&gt;
File:WhatsAppIA_send_invoice.png|Envoi d&#039;une facture PDF dans la conversation&lt;br /&gt;
File:WhatsAppIA_supplier_invoice.png|Facture fournisseur reçue par WhatsApp&lt;br /&gt;
File:WhatsAppIA_ai_log.png|Journal IA&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
* Dolibarr 19.0 ou plus, PHP 7.4 ou plus.&lt;br /&gt;
* Dolibarr accessible en &#039;&#039;&#039;HTTPS&#039;&#039;&#039; (exigé par Meta pour le webhook).&lt;br /&gt;
* Un compte Meta Business avec un numéro WhatsApp Business sur la Cloud API.&lt;br /&gt;
* Pour l&#039;agent IA : une clé API d&#039;un fournisseur IA pris en charge.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Acheter et télécharger le zip &#039;&#039;module_whatsappia-x.y.z.zip&#039;&#039; sur DoliStore.&lt;br /&gt;
# Aller dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications &amp;gt; Déployer/installer un module externe&#039;&#039; et envoyer le zip.&lt;br /&gt;
# Ou le décompresser manuellement dans &#039;&#039;htdocs/custom/&#039;&#039; pour obtenir &#039;&#039;htdocs/custom/whatsappia&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Dans &#039;&#039;Accueil &amp;gt; Configuration &amp;gt; Modules/Applications&#039;&#039;, activer &#039;&#039;&#039;WhatsApp IA&#039;&#039;&#039;.&lt;br /&gt;
# Ouvrir la page de configuration du module.&lt;br /&gt;
# Dans Meta Business Suite, créer un &#039;&#039;&#039;utilisateur système&#039;&#039;&#039; avec le contrôle total sur le compte WhatsApp Business (WABA) et générer un jeton permanent.&lt;br /&gt;
# Coller le jeton, l&#039;ID du numéro (Phone number ID) et l&#039;ID du WABA dans la configuration.&lt;br /&gt;
# Recopier l&#039;URL du webhook et le jeton de vérification affichés dans l&#039;application Meta (champ &#039;&#039;messages&#039;&#039;).&lt;br /&gt;
# Optionnel : activer l&#039;agent IA, choisir le fournisseur et coller votre clé.&lt;br /&gt;
# Donner les droits &#039;&#039;Lire les conversations WhatsApp&#039;&#039; et &#039;&#039;Répondre aux conversations WhatsApp&#039;&#039; aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
La tâche planifiée &#039;&#039;WhatsAppIAProcessQueue&#039;&#039; traite la file de l&#039;IA : vérifier que les tâches planifiées de Dolibarr tournent.&lt;br /&gt;
&lt;br /&gt;
== Droits ==&lt;br /&gt;
* Lire les conversations WhatsApp&lt;br /&gt;
* Répondre aux conversations WhatsApp&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;Le webhook renvoie 404&lt;br /&gt;
:Vérifier que le répertoire &#039;&#039;custom&#039;&#039; est déclaré dans &#039;&#039;conf.php&#039;&#039; (&#039;&#039;$dolibarr_main_url_root_alt&#039;&#039; et &#039;&#039;$dolibarr_main_document_root_alt&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
;Erreur Meta #10 (permission)&lt;br /&gt;
:L&#039;utilisateur système doit avoir le contrôle total sur le WABA, pas seulement une permission partielle.&lt;br /&gt;
&lt;br /&gt;
;Erreur Meta #131047&lt;br /&gt;
:La fenêtre de service client de 24 h est fermée. Seul un modèle de message approuvé peut être envoyé.&lt;br /&gt;
&lt;br /&gt;
;Un contact apparaît en « MA.123... » au lieu d&#039;un numéro&lt;br /&gt;
:Le client utilise un nom d&#039;utilisateur WhatsApp. Le module enregistre l&#039;identifiant WhatsApp et affiche le nom d&#039;utilisateur quand Meta le fournit.&lt;br /&gt;
&lt;br /&gt;
;Mes données partent-elles chez le fournisseur IA ?&lt;br /&gt;
:Seulement si l&#039;agent IA est activé : le message du client et les données renvoyées par les outils en lecture seule nécessaires à la réponse. L&#039;IA peut rester désactivée pour utiliser le module comme simple boîte partagée.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* E-mail : contact@weglob.com&lt;br /&gt;
* Site : [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn : [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Catégorie:Modules complémentaires]]&lt;br /&gt;
[[Catégorie:DocUserFR]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_WhatsApp_IA&amp;diff=69009</id>
		<title>Module WhatsApp IA</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_WhatsApp_IA&amp;diff=69009"/>
		<updated>2026-11-12T16:15:50Z</updated>

		<summary type="html">&lt;p&gt;Weglob: New page: Module WhatsApp IA (Weglob module documentation)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_WhatsApp_IA_(FR)]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=WhatsAppIA&lt;br /&gt;
|editor=Weglob&lt;br /&gt;
|web=https://weglob.com&lt;br /&gt;
|webbuy=https://www.dolistore.com&lt;br /&gt;
|status=stable&lt;br /&gt;
|prerequisites=Dolibarr 19.0+, PHP 7.4+, a Meta WhatsApp Business Cloud API number, HTTPS&lt;br /&gt;
|minversion=19.0&lt;br /&gt;
|note=Module ID 517300&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Module WhatsApp IA =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Name !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Publisher || Weglob&lt;br /&gt;
|-&lt;br /&gt;
| Status || Stable&lt;br /&gt;
|-&lt;br /&gt;
| Version || 1.0.0&lt;br /&gt;
|-&lt;br /&gt;
| Module ID || 517300&lt;br /&gt;
|-&lt;br /&gt;
| Dolibarr compatibility || 19.0 and later&lt;br /&gt;
|-&lt;br /&gt;
| License || GPL v3 or later&lt;br /&gt;
|-&lt;br /&gt;
| Languages || English, French&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;WhatsApp IA&#039;&#039;&#039; connects Dolibarr to the official &#039;&#039;&#039;Meta WhatsApp Business Cloud API&#039;&#039;&#039;. Your team handles WhatsApp conversations directly inside Dolibarr, and an optional AI agent answers customers using your real ERP data (invoices, orders, products, stock).&lt;br /&gt;
&lt;br /&gt;
Messages are linked to third parties, so every exchange stays in the history of the customer or supplier.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* &#039;&#039;&#039;Shared inbox&#039;&#039;&#039; in Dolibarr: list of conversations, unread counters, reply from the browser.&lt;br /&gt;
* &#039;&#039;&#039;Automatic link to third parties&#039;&#039;&#039; from the phone number.&lt;br /&gt;
* &#039;&#039;&#039;Send documents&#039;&#039;&#039;: send an invoice, proposal or order PDF in the chat from the Dolibarr card.&lt;br /&gt;
* &#039;&#039;&#039;AI agent&#039;&#039;&#039; (optional): answers questions such as &amp;quot;what is my balance?&amp;quot;, &amp;quot;where is my order?&amp;quot;, using read-only tools on Dolibarr data.&lt;br /&gt;
* &#039;&#039;&#039;Handoff to a human&#039;&#039;&#039;: when the AI is not sure, it hands the conversation over and creates a task for the team.&lt;br /&gt;
* &#039;&#039;&#039;Supplier invoices by WhatsApp&#039;&#039;&#039;: a supplier or employee sends a photo or PDF, the module creates a draft supplier invoice.&lt;br /&gt;
* &#039;&#039;&#039;AI log&#039;&#039;&#039;: question, tools used, answer, outcome and estimated cost for each AI run.&lt;br /&gt;
* &#039;&#039;&#039;WhatsApp usernames&#039;&#039;&#039; supported (contacts without a visible phone number).&lt;br /&gt;
* Multi-company compatible (one WhatsApp number per entity).&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&amp;lt;gallery widths=400 heights=250&amp;gt;&lt;br /&gt;
File:WhatsAppIA_inbox.png|Inbox with the AI agent&lt;br /&gt;
File:WhatsAppIA_send_invoice.png|Send an invoice PDF in the chat&lt;br /&gt;
File:WhatsAppIA_supplier_invoice.png|Supplier invoice received by WhatsApp&lt;br /&gt;
File:WhatsAppIA_ai_log.png|AI log&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
* Dolibarr 19.0 or later, PHP 7.4 or later.&lt;br /&gt;
* Dolibarr reachable over &#039;&#039;&#039;HTTPS&#039;&#039;&#039; (required by Meta for the webhook).&lt;br /&gt;
* A Meta Business account with a WhatsApp Business number on the Cloud API.&lt;br /&gt;
* For the AI agent: an API key from a supported AI provider.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Buy and download the zip &#039;&#039;module_whatsappia-x.y.z.zip&#039;&#039; from DoliStore.&lt;br /&gt;
# Go to &#039;&#039;Home &amp;gt; Setup &amp;gt; Modules/Applications &amp;gt; Deploy/install external module&#039;&#039; and upload the zip.&lt;br /&gt;
# Or unzip it manually into &#039;&#039;htdocs/custom/&#039;&#039; so you get &#039;&#039;htdocs/custom/whatsappia&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
# Go to &#039;&#039;Home &amp;gt; Setup &amp;gt; Modules/Applications&#039;&#039; and enable &#039;&#039;&#039;WhatsApp IA&#039;&#039;&#039;.&lt;br /&gt;
# Open the module setup page.&lt;br /&gt;
# In Meta Business Suite, create a &#039;&#039;&#039;system user&#039;&#039;&#039; with full control on the WhatsApp Business Account (WABA) and generate a permanent token.&lt;br /&gt;
# Paste the token, the Phone number ID and the WABA ID in the setup page.&lt;br /&gt;
# Copy the webhook URL and verify token shown in the setup page into your Meta app (field &#039;&#039;messages&#039;&#039;).&lt;br /&gt;
# Optional: enable the AI agent, choose the provider and paste your key.&lt;br /&gt;
# Give the rights &#039;&#039;Read WhatsApp conversations&#039;&#039; and &#039;&#039;Reply to WhatsApp conversations&#039;&#039; to the users concerned.&lt;br /&gt;
&lt;br /&gt;
The scheduled job &#039;&#039;WhatsAppIAProcessQueue&#039;&#039; processes the AI queue. Make sure Dolibarr cron jobs are running.&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* Read WhatsApp conversations&lt;br /&gt;
* Reply to WhatsApp conversations&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
;The webhook returns 404&lt;br /&gt;
:Check that the &#039;&#039;custom&#039;&#039; directory is declared in &#039;&#039;conf.php&#039;&#039; (&#039;&#039;$dolibarr_main_url_root_alt&#039;&#039; and &#039;&#039;$dolibarr_main_document_root_alt&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
;Meta error #10 (permission)&lt;br /&gt;
:The system user needs full control on the WABA, not only a partial permission.&lt;br /&gt;
&lt;br /&gt;
;Meta error #131047&lt;br /&gt;
:The 24 hour customer service window is closed. Only an approved template message can be sent.&lt;br /&gt;
&lt;br /&gt;
;A contact appears as &amp;quot;MA.123...&amp;quot; instead of a phone number&lt;br /&gt;
:The customer uses a WhatsApp username. The module stores the WhatsApp user ID and shows the username when Meta provides it.&lt;br /&gt;
&lt;br /&gt;
;Is my data sent to the AI provider?&lt;br /&gt;
:Only when the AI agent is enabled: the customer message and the data returned by the read-only tools needed to answer. You can leave the AI off and use the module as a simple shared inbox.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* Email: contact@weglob.com&lt;br /&gt;
* Website: [https://weglob.com weglob.com]&lt;br /&gt;
* LinkedIn: [https://www.linkedin.com/in/mohamed-aggoubi/ Mohamed Aggoubi]&lt;br /&gt;
&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
[[Category:DocUserEN]]&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:WhatsAppIA_supplier_invoice.png&amp;diff=69008</id>
		<title>File:WhatsAppIA supplier invoice.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:WhatsAppIA_supplier_invoice.png&amp;diff=69008"/>
		<updated>2026-11-12T16:15:23Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the WhatsApp IA module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module WhatsApp IA]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:WhatsAppIA_send_invoice.png&amp;diff=69007</id>
		<title>File:WhatsAppIA send invoice.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:WhatsAppIA_send_invoice.png&amp;diff=69007"/>
		<updated>2026-11-12T16:15:21Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the WhatsApp IA module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module WhatsApp IA]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:WhatsAppIA_inbox.png&amp;diff=69006</id>
		<title>File:WhatsAppIA inbox.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:WhatsAppIA_inbox.png&amp;diff=69006"/>
		<updated>2026-11-12T16:15:19Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the WhatsApp IA module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module WhatsApp IA]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:WhatsAppIA_ai_log.png&amp;diff=69005</id>
		<title>File:WhatsAppIA ai log.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:WhatsAppIA_ai_log.png&amp;diff=69005"/>
		<updated>2026-11-12T16:15:17Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the WhatsApp IA module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module WhatsApp IA]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:PMPCharges_pmp_preview.png&amp;diff=69004</id>
		<title>File:PMPCharges pmp preview.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:PMPCharges_pmp_preview.png&amp;diff=69004"/>
		<updated>2026-11-12T16:15:16Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the Charges PMP module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module Charges PMP]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:PMPCharges_charges_block.png&amp;diff=69003</id>
		<title>File:PMPCharges charges block.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:PMPCharges_charges_block.png&amp;diff=69003"/>
		<updated>2026-11-12T16:15:14Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the Charges PMP module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module Charges PMP]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:AIRA_BI_welcome.png&amp;diff=69002</id>
		<title>File:AIRA BI welcome.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:AIRA_BI_welcome.png&amp;diff=69002"/>
		<updated>2026-11-12T16:15:13Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the AIRA BI module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module AIRA BI]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:AIRA_BI_setup.png&amp;diff=69001</id>
		<title>File:AIRA BI setup.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:AIRA_BI_setup.png&amp;diff=69001"/>
		<updated>2026-11-12T16:15:11Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the AIRA BI module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module AIRA BI]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:AIRA_BI_chart.png&amp;diff=69000</id>
		<title>File:AIRA BI chart.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:AIRA_BI_chart.png&amp;diff=69000"/>
		<updated>2026-11-12T16:15:07Z</updated>

		<summary type="html">&lt;p&gt;Weglob: Screenshot of the AIRA BI module (Weglob)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the [[Module AIRA BI]] Dolibarr module, published by Weglob. Fictional demo data.&lt;/div&gt;</summary>
		<author><name>Weglob</name></author>
	</entry>
</feed>