diff --git a/class/actions_priseo.class.php b/class/actions_priseo.class.php
new file mode 100644
index 0000000..109fdfe
--- /dev/null
+++ b/class/actions_priseo.class.php
@@ -0,0 +1,110 @@
+
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * \file class/actions_priseo.class.php
+ * \ingroup priseo
+ * \brief Priseo hook overload
+ */
+
+// Load Dolibarr librairies
+require_once DOL_DOCUMENT_ROOT . '/product/class/productbatch.class.php';
+
+// Load Saturne libraries
+require_once DOL_DOCUMENT_ROOT . '/custom/saturne/lib/object.lib.php';
+
+require_once 'competitorprice.class.php';
+
+/**
+ * Class ActionsPriseo
+ */
+class ActionsPriseo {
+ /**
+ * @var DoliDB Database handler
+ */
+ public $db;
+
+ /**
+ * @var string Error string
+ */
+ public $error;
+
+ /**
+ * @var string[] Array of error strings
+ */
+ public $errors = [];
+
+ /**
+ * @var array Hook results. Propagated to $hookmanager->resArray for later reuse
+ */
+ public $results = [];
+
+ /**
+ * @var string String displayed by executeHook() immediately after return
+ */
+ public $resprints;
+
+ /**
+ * @var string Module name
+ */
+ public $moduleName = 'Priseo';
+
+
+ /**
+ * Constructor
+ *
+ * @param DoliDB $db Database handler
+ */
+ public function __construct($db)
+ {
+ $this->db = $db;
+ }
+
+ /**
+ * Overloading the printCommonFooter function : replacing the parent's function with the one below
+ *
+ * @param array $parameters Hook metadatas (context, etc...)
+ * @return int < 0 on error, 0 on success, 1 to replace standard code
+ */
+ public function printCommonFooter($parameters)
+ {
+ global $db, $object;
+
+ if ($parameters['currentcontext'] == 'productpricecard') {
+ $Priseo = new CompetitorPrice($db);
+
+ $prices = $Priseo->fetchAll('DESC','amount_ht',0,0, ['customsql' => 't.status >= ' . $Priseo::STATUS_DRAFT . ' AND t.fk_product = ' . $object->id]);
+ if (is_array($prices) && !empty($prices)) {
+ $maxPrices = array_shift($prices);
+ $minPrices = end($prices);
+
+ $out = '
';
+ $out .= $this->moduleName . ' (' . $object->date_creation . ') | ';
+ $out .= $object->price < $minPrices->amount_ht ? price($object->price, 0, '', 1, -1, -1, 'auto') : price($minPrices->amount_ht, 0, '', 1, -1, -1, 'auto');
+ $out .= ' <= ' . price($object->price, 0, '', 1, -1, -1, 'auto') . ' <= ';
+ $out .= $maxPrices->amount_ht < $object->price ? price($object->price, 0, '', 1, -1, -1, 'auto') : price($maxPrices->amount_ht, 0, '', 1, -1, -1, 'auto');
+ $out .= ' |
';
+ ?>
+
+ [],
// Set here all hooks context managed by module. To find available hook context, make a "grep -r '>initHooks(' *" on source code. You can also set hook context to 'all'
'hooks' => [
+ 'productpricecard'
// 'data' => array(
// 'hookcontext1',
// 'hookcontext2',