diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php
index 86813222b6dc4a92237af4f5e0e648e6c0f38698..7e63dad93e93e577fa007e8c8ac4e798c6a2aa57 100644
--- a/htdocs/supplier_proposal/card.php
+++ b/htdocs/supplier_proposal/card.php
@@ -441,6 +441,14 @@ if (empty($reshook))
 		}
 	}
 
+	// Close proposal
+	else if ($action == 'close' && $user->rights->supplier_proposal->cloturer && ! GETPOST('cancel')) {
+		// prevent browser refresh from reopening proposal several times
+		if ($object->statut == 2) {
+			$object->setStatut(4);
+		}
+	}
+
 	// Set accepted/refused
 	else if ($action == 'setstatut' && $user->rights->supplier_proposal->cloturer && ! GETPOST('cancel')) {
 		if (! GETPOST('statut')) {
@@ -1768,6 +1776,12 @@ if ($action == 'create')
 					print '>' . $langs->trans('SetAcceptedRefused') . '</a></div>';
 				}
 
+				// Close
+				if ($object->statut == 2 && $user->rights->supplier_proposal->cloturer) {
+				    print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&amp;action=close' . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#close') . '"';
+				    print '>' . $langs->trans('Close') . '</a></div>';
+				}
+
 				// Clone
 				if ($user->rights->supplier_proposal->creer) {
 					print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&amp;socid=' . $object->socid . '&amp;action=clone&amp;object=' . $object->element . '">' . $langs->trans("ToClone") . '</a></div>';