diff --git a/3/ecolyo.915a866471c5813daba0.js b/3/ecolyo.81b42e8f408e27697e26.js
similarity index 98%
rename from 3/ecolyo.915a866471c5813daba0.js
rename to 3/ecolyo.81b42e8f408e27697e26.js
index fec5a083dbdeb38679a019fd3b6d95fa9636d512..9c0a1737bc94f5abe71efe291690c5152aa077ab 100644
--- a/3/ecolyo.915a866471c5813daba0.js
+++ b/3/ecolyo.81b42e8f408e27697e26.js
@@ -1086,31 +1086,32 @@ var SgeInit = function SgeInit(_ref) {
             switch (_context.prev = _context.next) {
               case 0:
                 if (!sgeConnect.shouldLaunchAccount) {
-                  _context.next = 9;
+                  _context.next = 10;
                   break;
                 }
 
                 dispatch((0, _global.updateSgeStore)(_objectSpread(_objectSpread({}, sgeConnect), {}, {
                   shouldLaunchAccount: false
                 })));
+                dispatch((0, _global.setShouldRefreshConsent)(false));
 
                 if (account) {
-                  _context.next = 7;
+                  _context.next = 8;
                   break;
                 }
 
-                _context.next = 5;
+                _context.next = 6;
                 return connect();
 
-              case 5:
-                _context.next = 9;
+              case 6:
+                _context.next = 10;
                 break;
 
-              case 7:
-                _context.next = 9;
+              case 8:
+                _context.next = 10;
                 return update();
 
-              case 9:
+              case 10:
               case "end":
                 return _context.stop();
             }
@@ -1428,12 +1429,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
 
 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
 
-function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
-
-function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
-
-function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
-
 var ConsumptionView = function ConsumptionView(_ref) {
   var fluidType = _ref.fluidType;
   var client = (0, _cozyClient.useClient)();
@@ -1522,6 +1517,15 @@ var ConsumptionView = function ConsumptionView(_ref) {
       }
     }, _callee);
   })), [client, dispatch]);
+  var handleCloseExpirationModal = (0, _react.useCallback)(function (fluidtype) {
+    if (fluidtype === _fluid.FluidType.GAS) {
+      setopenExpiredConsentModal(false);
+    }
+
+    if (fluidtype === _fluid.FluidType.ELECTRICITY) {
+      console.log('should delete enedis');
+    }
+  }, []);
   (0, _react.useEffect)(function () {
     setIsFluidKonnected((0, _utils.isKonnectorActive)(fluidStatus, fluidType));
 
@@ -1533,27 +1537,30 @@ var ConsumptionView = function ConsumptionView(_ref) {
     dispatch((0, _chart.setLoading)(true));
   }, [dispatch]);
   (0, _react.useEffect)(function () {
+    var _fluidStatus$FluidTyp, _fluidStatus$FluidTyp2, _fluidStatus$FluidTyp3;
+
     var subscribed = true; //Check if some fluids have expired consent error
 
-    var expiredConsents = [];
+    var expiredConsents = []; //Check for GRDF consent expiration
 
-    var _iterator = _createForOfIteratorHelper(fluidStatus),
-        _step;
+    var gasError = (_fluidStatus$FluidTyp = fluidStatus[_fluid.FluidType.GAS].connection.triggerState) === null || _fluidStatus$FluidTyp === void 0 ? void 0 : _fluidStatus$FluidTyp.last_error;
 
-    try {
-      for (_iterator.s(); !(_step = _iterator.n()).done;) {
-        var _fluid$connection$tri;
+    if (gasError && (0, _utils.getKonnectorUpdateError)(gasError) === 'error_update_oauth') {
+      expiredConsents.push(fluidStatus[_fluid.FluidType.GAS].fluidType);
+    } //Check for Enedis SGE Consent Expiration
 
-        var fluid = _step.value;
 
-        if ((_fluid$connection$tri = fluid.connection.triggerState) !== null && _fluid$connection$tri !== void 0 && _fluid$connection$tri.last_error && (0, _utils.getKonnectorUpdateError)(fluid.connection.triggerState.last_error) === 'error_update_oauth') {
-          expiredConsents.push(fluid.fluidType);
-        }
-      }
-    } catch (err) {
-      _iterator.e(err);
-    } finally {
-      _iterator.f();
+    var today = _luxon.DateTime.local().setZone('utc', {
+      keepLocalTime: true
+    }).startOf('day').toISO();
+
+    var sgeExpirationDate = (_fluidStatus$FluidTyp2 = fluidStatus[_fluid.FluidType.ELECTRICITY].connection.account) === null || _fluidStatus$FluidTyp2 === void 0 ? void 0 : (_fluidStatus$FluidTyp3 = _fluidStatus$FluidTyp2.data) === null || _fluidStatus$FluidTyp3 === void 0 ? void 0 : _fluidStatus$FluidTyp3.expirationDate;
+    var isoExpirationDate = sgeExpirationDate ? _luxon.DateTime.fromISO(sgeExpirationDate).setZone('utc', {
+      keepLocalTime: true
+    }).startOf('day').toISO() : '';
+
+    if (isoExpirationDate <= today) {
+      expiredConsents.push(fluidStatus[_fluid.FluidType.ELECTRICITY].fluidType);
     }
 
     if (subscribed) setconsentExpiredFluids(expiredConsents);
@@ -1614,10 +1621,13 @@ var ConsumptionView = function ConsumptionView(_ref) {
     return /*#__PURE__*/_react.default.createElement(_ExpiredConsentModal.default, {
       key: fluid,
       open: openExpiredConsentModal,
-      handleCloseClick: function handleCloseClick() {
-        return setopenExpiredConsentModal(false);
-      },
-      fluidType: fluid
+      handleCloseClick: handleCloseExpirationModal,
+      fluidType: fluid,
+      toggleModal: function toggleModal() {
+        return setopenExpiredConsentModal(function (prev) {
+          return !prev;
+        });
+      }
     });
   }));
 };
@@ -2543,6 +2553,44 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
       return t("konnector_options.label_connect_to_".concat(_fluid.FluidType[fluidStatus.fluidType].toLowerCase()));
     }
   }, [fluidStatus.connection.account, fluidStatus.fluidType, fluidStatus.status, isOutdatedData, t]);
+  (0, _react.useEffect)(function () {
+    // If user has selected accept button on Expired consent modal, then delete its account
+    function deleteAccountForConsentRefresh() {
+      return _deleteAccountForConsentRefresh.apply(this, arguments);
+    }
+
+    function _deleteAccountForConsentRefresh() {
+      _deleteAccountForConsentRefresh = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
+        var accountService;
+        return _regenerator.default.wrap(function _callee8$(_context8) {
+          while (1) {
+            switch (_context8.prev = _context8.next) {
+              case 0:
+                if (!(shouldRefreshConsent && account)) {
+                  _context8.next = 6;
+                  break;
+                }
+
+                accountService = new _account.default(client);
+                _context8.next = 4;
+                return accountService.deleteAccount(account);
+
+              case 4:
+                _context8.next = 6;
+                return handleAccountDeletion();
+
+              case 6:
+              case "end":
+                return _context8.stop();
+            }
+          }
+        }, _callee8);
+      }));
+      return _deleteAccountForConsentRefresh.apply(this, arguments);
+    }
+
+    deleteAccountForConsentRefresh();
+  }, [account, client, handleAccountDeletion, shouldRefreshConsent]);
   (0, _react.useEffect)(function () {
     var subscribed = true;
 
@@ -2551,14 +2599,14 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
     }
 
     function _getData() {
-      _getData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
+      _getData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
         var connectionFlow;
-        return _regenerator.default.wrap(function _callee8$(_context8) {
+        return _regenerator.default.wrap(function _callee9$(_context9) {
           while (1) {
-            switch (_context8.prev = _context8.next) {
+            switch (_context9.prev = _context9.next) {
               case 0:
                 if (!(fluidStatus.connection.shouldLaunchKonnector && !(0, _triggers.isKonnectorRunning)(trigger))) {
-                  _context8.next = 8;
+                  _context9.next = 8;
                   break;
                 }
 
@@ -2569,7 +2617,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
                 }
 
                 connectionFlow = new _ConnectionFlow.default(client, trigger, konnector);
-                _context8.next = 5;
+                _context9.next = 5;
                 return connectionFlow.launch();
 
               case 5:
@@ -2589,59 +2637,21 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
 
               case 8:
               case "end":
-                return _context8.stop();
+                return _context9.stop();
             }
           }
-        }, _callee8);
+        }, _callee9);
       }));
       return _getData.apply(this, arguments);
     }
 
-    getData();
+    !shouldRefreshConsent && getData();
     var dateChartService = new _dateChart.default();
     setIsOutdatedData(dateChartService.isDataOutdated(fluidStatus.lastDataDate, fluidType));
     return function () {
       subscribed = false;
     };
-  }, [client, konnector, trigger, fluidStatus.connection, fluidStatus.connection.shouldLaunchKonnector, fluidStatus.connection.isUpdating, fluidStatus.fluidType, callbackResponse, setActive, fluidStatus.lastDataDate, fluidType, sendUsageEventError, fluidSlug, sendUsageEventSuccess]);
-  (0, _react.useEffect)(function () {
-    // If user has selected accept button on Expired consent modal, then delete its account
-    function deleteAccountForConsentRefresh() {
-      return _deleteAccountForConsentRefresh.apply(this, arguments);
-    }
-
-    function _deleteAccountForConsentRefresh() {
-      _deleteAccountForConsentRefresh = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
-        var accountService;
-        return _regenerator.default.wrap(function _callee9$(_context9) {
-          while (1) {
-            switch (_context9.prev = _context9.next) {
-              case 0:
-                if (!(shouldRefreshConsent && account)) {
-                  _context9.next = 6;
-                  break;
-                }
-
-                accountService = new _account.default(client);
-                _context9.next = 4;
-                return accountService.deleteAccount(account);
-
-              case 4:
-                _context9.next = 6;
-                return handleAccountDeletion();
-
-              case 6:
-              case "end":
-                return _context9.stop();
-            }
-          }
-        }, _callee9);
-      }));
-      return _deleteAccountForConsentRefresh.apply(this, arguments);
-    }
-
-    deleteAccountForConsentRefresh();
-  }, [account, client, handleAccountDeletion, shouldRefreshConsent]);
+  }, [client, konnector, trigger, fluidStatus.connection, fluidStatus.connection.shouldLaunchKonnector, fluidStatus.connection.isUpdating, fluidStatus.fluidType, callbackResponse, setActive, fluidStatus.lastDataDate, fluidType, sendUsageEventError, fluidSlug, sendUsageEventSuccess, shouldRefreshConsent]);
   return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !isDisconnected ? /*#__PURE__*/_react.default.createElement(_core.Accordion, {
     expanded: active,
     onChange: toggleAccordion,
@@ -6531,20 +6541,47 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
 var ExpiredConsentModal = function ExpiredConsentModal(_ref) {
   var open = _ref.open,
       handleCloseClick = _ref.handleCloseClick,
-      fluidType = _ref.fluidType;
+      fluidType = _ref.fluidType,
+      toggleModal = _ref.toggleModal;
 
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
 
   var history = (0, _reactRouterDom.useHistory)();
   var dispatch = (0, _reactRedux.useDispatch)();
+
+  var _useSelector = (0, _reactRedux.useSelector)(function (state) {
+    return state.ecolyo.global;
+  }),
+      fluidStatus = _useSelector.fluidStatus;
+
   var launchUpdateConsent = (0, _react.useCallback)(function () {
-    dispatch((0, _global.setShouldRefreshConsent)(true));
+    if (fluidType === _fluid.FluidType.ELECTRICITY) {
+      var _fluidStatus$FluidTyp;
+
+      var accountData = (_fluidStatus$FluidTyp = fluidStatus[_fluid.FluidType.ELECTRICITY].connection.account) === null || _fluidStatus$FluidTyp === void 0 ? void 0 : _fluidStatus$FluidTyp.auth; //store the previous account data since the onDelete will remove account from DB
+
+      dispatch((0, _global.updateSgeStore)({
+        currentStep: 0,
+        firstName: accountData.firstname,
+        lastName: accountData.lastname,
+        pdl: parseInt(accountData.pointId),
+        address: accountData.address,
+        zipCode: parseInt(accountData.postalCode),
+        city: accountData.city,
+        dataConsent: true,
+        pdlConfirm: true,
+        shouldLaunchAccount: true
+      }));
+    }
+
+    toggleModal();
     history.push("/consumption/".concat(_fluid.FluidType[fluidType].toLocaleLowerCase()));
-  }, [dispatch, fluidType, history]);
+    dispatch((0, _global.setShouldRefreshConsent)(true));
+  }, [dispatch, fluidStatus, fluidType, history, toggleModal]);
   return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
     open: open,
-    onClose: handleCloseClick,
+    onClose: toggleModal,
     "aria-labelledby": 'accessibility-title',
     classes: {
       root: 'modal-root',
@@ -6555,7 +6592,7 @@ var ExpiredConsentModal = function ExpiredConsentModal(_ref) {
   }, t('consumption_visualizer.modal.window_title')), /*#__PURE__*/_react.default.createElement(_core.IconButton, {
     "aria-label": t('consumption_visualizer.modal.close'),
     className: "modal-paper-close-button",
-    onClick: handleCloseClick
+    onClick: toggleModal
   }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
     icon: _close.default,
     size: 16
@@ -6576,7 +6613,9 @@ var ExpiredConsentModal = function ExpiredConsentModal(_ref) {
     className: "buttons"
   }, /*#__PURE__*/_react.default.createElement(_core.Button, {
     "aria-label": t('consent_outdated.later'),
-    onClick: handleCloseClick,
+    onClick: function onClick() {
+      return handleCloseClick(fluidType);
+    },
     classes: {
       root: 'btn-secondary-positive',
       label: 'text-16-normal'
diff --git a/app/ecolyo.53432c39ba4cb66e5239.js b/app/ecolyo.418ab4376440e8de288f.js
similarity index 99%
rename from app/ecolyo.53432c39ba4cb66e5239.js
rename to app/ecolyo.418ab4376440e8de288f.js
index 0197210f4a5ede932d0297ff9be8a9a25900740d..4911af885ffa9e02ecfba5d98d482b6bbfdf0862 100644
--- a/app/ecolyo.53432c39ba4cb66e5239.js
+++ b/app/ecolyo.418ab4376440e8de288f.js
@@ -64,7 +64,7 @@
 /******/
 /******/ 	// script path function
 /******/ 	function jsonpScriptSrc(chunkId) {
-/******/ 		return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"2":"4e0ea28c29b22ff83353","3":"915a866471c5813daba0","4":"5e481431cf0b2359d58d","5":"8f0e8caf7949bcc0f768","6":"cf316224f80d91ba8e19","7":"8e0088481e1baf094fa4","8":"2de7ef350ec3c23cc49b","9":"86cadd702f6ebcc5f72c","10":"1823bf23fa5cf052fd8e"}[chunkId] + ".js"
+/******/ 		return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"2":"4e0ea28c29b22ff83353","3":"81b42e8f408e27697e26","4":"5e481431cf0b2359d58d","5":"8f0e8caf7949bcc0f768","6":"cf316224f80d91ba8e19","7":"8e0088481e1baf094fa4","8":"2de7ef350ec3c23cc49b","9":"86cadd702f6ebcc5f72c","10":"1823bf23fa5cf052fd8e"}[chunkId] + ".js"
 /******/ 	}
 /******/
 /******/ 	// The require function
diff --git a/index.html b/index.html
index 1981157a23e540ba50d5c2ff6aa1b92e89f2ecc0..07b52e5dd85b5a8a1b4381344e0f788470f45bbf 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.3a3b55374a0c451856ca.js"></script><script src="app/ecolyo.53432c39ba4cb66e5239.js"></script></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.3a3b55374a0c451856ca.js"></script><script src="app/ecolyo.418ab4376440e8de288f.js"></script></div></body></html>
\ No newline at end of file