diff --git a/misc/purgedemo/README b/misc/purgedemo/README
new file mode 100644
index 0000000000000000000000000000000000000000..b23c3545f89ec98a9395f397b4eb8294a18f7bf8
--- /dev/null
+++ b/misc/purgedemo/README
@@ -0,0 +1,5 @@
+purgedemo.sh purge les factures, les propales, les produits et les soci�t�s de la base de d�monstration
+faite un chmod 700 *.sh
+puis ./purgedemo.sh pour executer l'interface.
+
+l'installation du package "dialog" est indispensable.
diff --git a/misc/purgedemo/purge-banque.sql b/misc/purgedemo/purge-banque.sql
new file mode 100644
index 0000000000000000000000000000000000000000..8b91417128ca8ac7648e7280e428a36d1206004d
--- /dev/null
+++ b/misc/purgedemo/purge-banque.sql
@@ -0,0 +1,10 @@
+
+delete from llx_bank;
+
+delete from llx_bank_account;
+
+delete from llx_bank_categ;
+
+delete from llx_bank_class;
+
+delete from llx_bank_url;
diff --git a/misc/purgedemo/purge-facture.sql b/misc/purgedemo/purge-facture.sql
new file mode 100644
index 0000000000000000000000000000000000000000..c11317f266f1d801a9f02909a39bbacc8e49eb3a
--- /dev/null
+++ b/misc/purgedemo/purge-facture.sql
@@ -0,0 +1,17 @@
+
+delete from llx_fa_pr;
+
+delete from llx_facturedet;
+
+delete from llx_facturedet_rec;
+
+delete from llx_facture_rec;
+
+delete from llx_facture_tva_sum;
+
+delete from llx_paiement_facture;
+
+delete from llx_paiement;
+
+delete from llx_facture;
+
diff --git a/misc/purgedemo/purge-produit.sql b/misc/purgedemo/purge-produit.sql
new file mode 100644
index 0000000000000000000000000000000000000000..b8f63b38cfea4570aef5e20c5438b9274c5cc811
--- /dev/null
+++ b/misc/purgedemo/purge-produit.sql
@@ -0,0 +1,4 @@
+
+delete from llx_product;
+
+delete from llx_product_price;
\ No newline at end of file
diff --git a/misc/purgedemo/purge-propale.sql b/misc/purgedemo/purge-propale.sql
new file mode 100644
index 0000000000000000000000000000000000000000..9994e242b88075b5c2ae2ee7cd24a035dcefe71d
--- /dev/null
+++ b/misc/purgedemo/purge-propale.sql
@@ -0,0 +1,6 @@
+
+delete from llx_propaldet;
+
+delete from llx_propal;
+
+delete from llx_co_pr;
diff --git a/misc/purgedemo/purge-societe.sql b/misc/purgedemo/purge-societe.sql
new file mode 100644
index 0000000000000000000000000000000000000000..409b55b7e9dc20a02873e76c132bccc6a41f5c4b
--- /dev/null
+++ b/misc/purgedemo/purge-societe.sql
@@ -0,0 +1,10 @@
+
+delete from llx_socpeople;
+
+delete from llx_societe_rib;
+
+delete from llx_societe_remise;
+
+delete from llx_societe_remise_except;
+
+delete from llx_societe;
diff --git a/misc/purgedemo/purgebanque.sh b/misc/purgedemo/purgebanque.sh
new file mode 100644
index 0000000000000000000000000000000000000000..c05a212720f23edd5af74cb8a495965738e74433
--- /dev/null
+++ b/misc/purgedemo/purgebanque.sh
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge de la banque
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des banques" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des banques" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des banques" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des banques" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des banques #######"
+mysql -u$admin -p$passwd $base < purge-banque.sql
diff --git a/misc/purgedemo/purgedemo.sh b/misc/purgedemo/purgedemo.sh
new file mode 100644
index 0000000000000000000000000000000000000000..9b66ecf52102037384658d64670c26262b0acad5
--- /dev/null
+++ b/misc/purgedemo/purgedemo.sh
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+#
+# ---------------------------- globales
+# ---------------------------- base mysql
+DIALOG=${DIALOG=dialog}
+fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+trap "rm -f $fichtemp" 0 1 2 5 15
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+valret=$?
+case $valret in
+  0)
+base=`cat $fichtemp`;;
+  1)
+exit;;
+  255)
+exit;;
+esac
+# ---------------------------- compte admin mysql
+DIALOG=${DIALOG=dialog}
+fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+trap "rm -f $fichtemp" 0 1 2 5 15
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+
+valret=$?
+
+case $valret in
+  0)
+admin=`cat $fichtemp`;;
+  1)
+exit;;
+  255)
+exit;;
+esac
+# ---------------------------- mot de passe admin mysql
+DIALOG=${DIALOG=dialog}
+fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+trap "rm -f $fichtemp" 0 1 2 5 15
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+
+valret=$?
+
+case $valret in
+  0)
+passwd=`cat $fichtemp`;;
+  1)
+exit;;
+  255)
+exit;;
+esac
+# ---------------------------- chemin d'acc�s du r�pertoire documents
+DIALOG=${DIALOG=dialog}
+fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+trap "rm -f $fichtemp" 0 1 2 5 15
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+
+valret=$?
+
+case $valret in
+  0)
+docs=`cat $fichtemp`;;
+  1)
+exit;;
+  255)
+exit;;
+esac
+# ---------------------------- confirmation
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "confirmez-vous ces informations ? \n base Mysql : '$base' \n compte admin : '$admin' \n mot de passe : '$passwd' \n r�pertoire documents : '$docs'" 15 40
+
+case $? in
+        0)      echo "Ok, d�but du processus...";;
+        1)      exit;;
+        255)    exit;;
+esac
+# ---------------------------- purge des propales
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les propales ?" 10 30
+
+case $? in
+        0)      "./purgepropale.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
+# ---------------------------- purge des factures
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les factures ?" 10 30
+
+case $? in
+        0)      "./purgefacture.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
+# ---------------------------- purge des soci�t�s
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les soci�t�s (clients et fournisseurs) ?" 10 30
+
+case $? in
+        0)      "./purgesociete.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
+# ---------------------------- purge des produits
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les produits ?" 10 30
+
+case $? in
+        0)      "./purgeproduit.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
+# ---------------------------- purge des banques
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les banques ?" 10 30
+
+case $? in
+        0)      "./purgebanque.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
\ No newline at end of file
diff --git a/misc/purgedemo/purgefacture.sh b/misc/purgedemo/purgefacture.sh
new file mode 100644
index 0000000000000000000000000000000000000000..7efd4261a12b9f10238e2e85fd9546eafb99da0d
--- /dev/null
+++ b/misc/purgedemo/purgefacture.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge des factures
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des factures" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des factures" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des factures" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des factures" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des factures #######"
+mysql -u$admin -p$passwd $base < purge-facture.sql
+rm -rf $docs/facture/*
+mkdir $docs/facture/images
+chmod 2755 $docs/facture/images
+chown www-data $docs/facture/images
diff --git a/misc/purgedemo/purgeproduit.sh b/misc/purgedemo/purgeproduit.sh
new file mode 100644
index 0000000000000000000000000000000000000000..de3ea67de15427b1c3abac9abfd9d89df65eae00
--- /dev/null
+++ b/misc/purgedemo/purgeproduit.sh
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge des produits
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des produits" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des produits" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des produits" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des produits" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des produits #######"
+mysql -u$admin -p$passwd $base < purge-produit.sql
+rm -rf $docs/produit/*
diff --git a/misc/purgedemo/purgepropale.sh b/misc/purgedemo/purgepropale.sh
new file mode 100644
index 0000000000000000000000000000000000000000..6247d534bb56b1909f96b15762d37b873332dccc
--- /dev/null
+++ b/misc/purgedemo/purgepropale.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge des propales
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des propales" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des propales" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des propales" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des propales" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des propales #######"
+mysql -u$admin -p$passwd $base < purge-propale.sql
+rm -rf $docs/propale/*
+mkdir $docs/propale/images
+chmod 2755 $docs/propale/images
+chown www-data $docs/propale/images
diff --git a/misc/purgedemo/purgesociete.sh b/misc/purgedemo/purgesociete.sh
new file mode 100644
index 0000000000000000000000000000000000000000..00fe892a544f90731980ab2b0e601f09a27ee8e7
--- /dev/null
+++ b/misc/purgedemo/purgesociete.sh
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge des soci�t�s (clients et fournisseurs)
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des soci�t�s (clients et fournisseurs)" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des soci�t�s (clients et fournisseurs)" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des soci�t�s (clients et fournisseurs)" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des soci�t�s (clients et fournisseurs)" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des soci�t�s (clients et fournisseurs) #######"
+mysql -u$admin -p$passwd $base < purge-societe.sql
+rm -rf $docs/societe/*