diff --git a/src/components/Home/ConsumptionView.spec.tsx b/src/components/Home/ConsumptionView.spec.tsx
index 704f02b8e0dbcf6d44a505ba5d87320ecdf46ae9..b8ac9f486ce1abddb7ffaaae82a13cb85648c1d1 100644
--- a/src/components/Home/ConsumptionView.spec.tsx
+++ b/src/components/Home/ConsumptionView.spec.tsx
@@ -102,6 +102,7 @@ describe('ConsumptionView component', () => {
         fluidStatus: mockFluidStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
     })
     const wrapper = mount(
       <Provider store={store}>
@@ -129,6 +130,7 @@ describe('ConsumptionView component', () => {
         fluidStatus: mockFluidStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
     })
     const wrapper = mount(
       <Provider store={store}>
@@ -151,6 +153,7 @@ describe('ConsumptionView component', () => {
         fluidStatus: mockInitialEcolyoState.global.fluidStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
     })
     mount(
       <Provider store={store}>
@@ -171,6 +174,7 @@ describe('ConsumptionView component', () => {
         fluidStatus: [],
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
       fluidStatus: [],
     })
     const wrapper = mount(
@@ -194,6 +198,7 @@ describe('ConsumptionView component', () => {
         fluidStatus: updatedStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
       fluidStatus: updatedStatus,
     })
     const wrapper = mount(
@@ -217,6 +222,7 @@ describe('ConsumptionView component', () => {
         fluidStatus: updatedStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
     })
     const wrapper = mount(
       <Provider store={store}>
@@ -240,8 +246,8 @@ describe('ConsumptionView component', () => {
       global: {
         fluidStatus: updatedStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
-        openPartnersIssueModal: { ...mockedPartnersIssueModal, egl: true },
       },
+      modal: { partnersIssueModal: { ...mockedPartnersIssueModal, egl: true } },
     })
     useDispatchSpy.mockReturnValue(jest.fn())
     mockUpdateProfile.mockResolvedValue(mockTestProfile1)
@@ -264,8 +270,8 @@ describe('ConsumptionView component', () => {
       global: {
         fluidStatus: updatedStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
-        openPartnersIssueModal: false,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
     })
     useDispatchSpy.mockReturnValue(jest.fn())
     const wrapper = mount(
@@ -287,8 +293,8 @@ describe('ConsumptionView component', () => {
       global: {
         fluidStatus: updatedStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
-        openPartnersIssueModal: mockedPartnersIssueModal,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
     })
     useDispatchSpy.mockReturnValue(jest.fn())
     const wrapper = mount(
@@ -311,8 +317,8 @@ describe('ConsumptionView component', () => {
       global: {
         fluidStatus: updatedStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
-        openPartnersIssueModal: mockedPartnersIssueModal,
       },
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
     })
     useDispatchSpy.mockReturnValue(jest.fn())
     mockUpdateProfile.mockResolvedValue(mockTestProfile1)
@@ -334,13 +340,12 @@ describe('ConsumptionView component', () => {
       },
       global: {
         fluidStatus: updatedStatus,
-        openPartnersIssueModal: mockedPartnersIssueModal,
         releaseNotes: {
           show: true,
           notes: [{ description: 'description', title: 'title' }],
         },
       },
-      openPartnersIssueModal: mockedPartnersIssueModal,
+      modal: { partnersIssueModal: mockedPartnersIssueModal },
     })
     useDispatchSpy.mockReturnValue(jest.fn())
     mockUpdateProfile.mockResolvedValue(mockTestProfile1)
diff --git a/src/components/Home/ConsumptionView.tsx b/src/components/Home/ConsumptionView.tsx
index 83a6b6199ecb48bf127eb9b54d0e763fbdc172bf..e640cffc4a41660d90cbc72409ad65afc9a8b025 100644
--- a/src/components/Home/ConsumptionView.tsx
+++ b/src/components/Home/ConsumptionView.tsx
@@ -21,11 +21,8 @@ import { useNavigate } from 'react-router-dom'
 import ProfileService from 'services/profile.service'
 import { AppStore } from 'store'
 import { setCurrentTimeStep, setLoading } from 'store/chart/chart.actions'
-import {
-  setCustomPopup,
-  setPartnersIssue,
-  showReleaseNotes,
-} from 'store/global/global.actions'
+import { setCustomPopup, showReleaseNotes } from 'store/global/global.actions'
+import { openPartnersModal } from 'store/modal/modal.actions'
 import {
   getKonnectorUpdateError,
   getTodayDate,
@@ -46,12 +43,8 @@ const ConsumptionView: React.FC<ConsumptionViewProps> = ({
   const isMulti = fluidType !== FluidType.MULTIFLUID
   const {
     chart: { currentTimeStep, loading },
-    global: {
-      fluidStatus,
-      releaseNotes,
-      customPopupModal,
-      openPartnersIssueModal,
-    },
+    global: { fluidStatus, releaseNotes, customPopupModal },
+    modal: { partnersIssueModal },
   } = useSelector((state: AppStore) => state.ecolyo)
 
   const [isFluidKonnected, setIsFluidKonnected] = useState<boolean>(false)
@@ -118,15 +111,15 @@ const ConsumptionView: React.FC<ConsumptionViewProps> = ({
         })
         if (updatedProfile) {
           dispatch(
-            setPartnersIssue({
-              ...openPartnersIssueModal,
+            openPartnersModal({
+              ...partnersIssueModal,
               [getPartnerKey(fluidType)]: false,
             })
           )
         }
       }
     },
-    [client, dispatch, openPartnersIssueModal]
+    [client, dispatch, partnersIssueModal]
   )
 
   const handleCloseCustomPopupModal = async () => {
@@ -251,7 +244,7 @@ const ConsumptionView: React.FC<ConsumptionViewProps> = ({
           <PartnerIssueModal
             key={issuedFluid.fluidType}
             issuedFluid={issuedFluid}
-            open={openPartnersIssueModal[getPartnerKey(issuedFluid.fluidType)]}
+            open={partnersIssueModal[getPartnerKey(issuedFluid.fluidType)]}
             handleCloseClick={handleClosePartnerIssueModal}
           />
         ))}
diff --git a/src/components/Konnector/KonnectorViewerCard.tsx b/src/components/Konnector/KonnectorViewerCard.tsx
index 944987ce3b653f4b344778099426b62d73a12f88..1ce577ec3f9c96a60165efdc4707bb9f24781618 100644
--- a/src/components/Konnector/KonnectorViewerCard.tsx
+++ b/src/components/Konnector/KonnectorViewerCard.tsx
@@ -84,9 +84,11 @@ const KonnectorViewerCard: React.FC<KonnectorViewerCardProps> = ({
   const konnector: Konnector | null = fluidStatus.connection.konnector
   const account: Account | null = fluidStatus.connection.account
   const trigger: Trigger | null = fluidStatus.connection.trigger
-  const { fluidStatus: statusArray, shouldRefreshConsent } = useSelector(
-    (state: AppStore) => state.ecolyo.global
-  )
+  const {
+    fluidStatus: statusArray,
+    shouldRefreshConsent,
+    partnersInfo,
+  } = useSelector((state: AppStore) => state.ecolyo.global)
 
   const [openModal, setOpenModal] = useState(false)
   const [isUpdating, setIsUpdating] = useState(false)
@@ -221,11 +223,11 @@ const KonnectorViewerCard: React.FC<KonnectorViewerCardProps> = ({
           )
         }
         if (updatedFluidStatus.length > 0) {
-          const partnersInfo: PartnersInfo | undefined =
-            await partnersInfoService.getPartnersInfo()
-          const _updatedFluidStatus: FluidStatus[] =
-            await fluidService.getFluidStatus(partnersInfo)
-          dispatch(setFluidStatus(_updatedFluidStatus))
+          // const partnersInfo = await partnersInfoService.getPartnersInfo()
+          const updatedFluidStatus = await fluidService.getFluidStatus(
+            partnersInfo
+          )
+          dispatch(setFluidStatus(updatedFluidStatus))
         }
       }
 
diff --git a/src/components/Splash/SplashRoot.tsx b/src/components/Splash/SplashRoot.tsx
index 01ca16d8a267526924f5fe91db7829bbefb272d4..c10e94d4742f27e862553eef92914d7d26164442 100644
--- a/src/components/Splash/SplashRoot.tsx
+++ b/src/components/Splash/SplashRoot.tsx
@@ -44,7 +44,6 @@ import {
   GlobalActionTypes,
   setCustomPopup,
   setFluidStatus,
-  setPartnersIssue,
   showReleaseNotes,
   toggleAnalysisNotification,
   toggleChallengeActionNotification,
@@ -52,6 +51,7 @@ import {
   toggleChallengeExplorationNotification,
   updateTermValidation,
 } from 'store/global/global.actions'
+import { ModalActionTypes, openPartnersModal } from 'store/modal/modal.actions'
 import {
   ProfileActionTypes,
   updateProfile,
@@ -98,6 +98,7 @@ const SplashRoot = ({ fadeTimer = 1000, children }: SplashRootProps) => {
     | ProfileActionTypes
     | ProfileEcogestureActionTypes
     | ProfileTypeActionTypes
+    | ModalActionTypes
   > = useDispatch()
 
   /** Return current status of partner if modal has not been seen today */
@@ -168,7 +169,7 @@ const SplashRoot = ({ fadeTimer = 1000, children }: SplashRootProps) => {
           }
 
           if (Object.values(partnersIssue).some(issue => issue)) {
-            dispatch(setPartnersIssue(partnersIssue))
+            dispatch(openPartnersModal(partnersIssue))
           }
         }
       } catch (error) {
@@ -199,6 +200,7 @@ const SplashRoot = ({ fadeTimer = 1000, children }: SplashRootProps) => {
         setInitStepErrors
       )
       const customPopupService = new CustomPopupService(client)
+      const partnersInfoService = new PartnersInfoService(client)
       const ms = new MigrationService(client, setInitStepErrors)
       try {
         const migrationsResult: ReleaseNotes = await ms.runMigrations(
@@ -347,17 +349,20 @@ const SplashRoot = ({ fadeTimer = 1000, children }: SplashRootProps) => {
           })
         }
 
-        const customPopup = await customPopupService.getCustomPopup()
-        if (profile && customPopup) {
-          await processCustomPopup(profile, customPopup)
-        }
-
-        const partnersInfoService = new PartnersInfoService(client)
-        const partnersInfo = await partnersInfoService.getPartnersInfo()
-        if (profile && partnersInfo) {
-          await processFluidsStatus(profile, partnersInfo)
-          await processPartnersStatus(profile, partnersInfo)
-        }
+        /**
+         * Load custom popup and partners info synchronously so these treatments don't block the loading
+         */
+        customPopupService.getCustomPopup().then(async customPopup => {
+          if (profile && customPopup) {
+            await processCustomPopup(profile, customPopup)
+          }
+        })
+        partnersInfoService.getPartnersInfo().then(async partnersInfo => {
+          if (profile && partnersInfo) {
+            await processFluidsStatus(profile, partnersInfo)
+            await processPartnersStatus(profile, partnersInfo)
+          }
+        })
 
         if (subscribed) {
           logApp.info('[Initialization] Finished successfully !')
diff --git a/src/models/global.model.ts b/src/models/global.model.ts
index 0af069136897307a2aa5830d33d6334e1d2b95d1..1d4edf10f092d53335e3f06ba1804cf1c83e9115 100644
--- a/src/models/global.model.ts
+++ b/src/models/global.model.ts
@@ -3,6 +3,7 @@ import { ScreenType } from 'enum/screen.enum'
 import { TermsStatus } from 'models'
 import { CustomPopup } from './customPopup.model'
 import { FluidStatus } from './fluid.model'
+import { PartnersInfo } from './partnersInfo.model'
 import { ReleaseNotes } from './releaseNotes.model'
 import { SgeStore } from './sgeStore.model'
 
@@ -17,11 +18,7 @@ export interface GlobalState {
   fluidStatus: FluidStatus[]
   fluidTypes: FluidType[]
   customPopupModal: CustomPopup
-  openPartnersIssueModal: {
-    enedis: boolean
-    egl: boolean
-    grdf: boolean
-  }
   shouldRefreshConsent: boolean
   sgeConnect: SgeStore
+  partnersInfo: PartnersInfo
 }
diff --git a/src/models/modal.model.ts b/src/models/modal.model.ts
index 90dd1a34fd3564201a82261c751fd0ecce4db3dc..d98440cc5f4c7303f906f4bdaaf347156419386a 100644
--- a/src/models/modal.model.ts
+++ b/src/models/modal.model.ts
@@ -1,3 +1,8 @@
 export interface ModalState {
   isFeedbacksOpen: boolean
+  partnersIssueModal: {
+    enedis: boolean
+    egl: boolean
+    grdf: boolean
+  }
 }
diff --git a/src/services/fluid.service.ts b/src/services/fluid.service.ts
index 4b2b95a13b544ebd301c4e2772084de0f107e516..3de8f5c45b2851602969df86e00dca3571419be4 100644
--- a/src/services/fluid.service.ts
+++ b/src/services/fluid.service.ts
@@ -112,6 +112,7 @@ export default class FluidService {
         FluidType.WATER,
         FluidType.GAS,
       ])
+
     const result: FluidStatus[] = [
       {
         fluidType: FluidType.ELECTRICITY,
diff --git a/src/store/global/global.actions.ts b/src/store/global/global.actions.ts
index c8e6204f68d7a420afeddcd6a6fe31401163ad00..575d97ee5ce0f2093aa4cb93b20b29a75e71f46f 100644
--- a/src/store/global/global.actions.ts
+++ b/src/store/global/global.actions.ts
@@ -2,30 +2,37 @@ import { FluidType } from 'enum/fluid.enum'
 import { ScreenType } from 'enum/screen.enum'
 import { FluidConnection, FluidStatus, TermsStatus } from 'models'
 import { CustomPopup } from 'models/customPopup.model'
+import { PartnersInfo } from 'models/partnersInfo.model'
 import { Notes } from 'models/releaseNotes.model'
 import { SgeStore } from 'models/sgeStore.model'
 
 export const CHANGE_SCREEN_TYPE = 'CHANGE_SCREEN_TYPE'
+export const SET_CUSTOM_POPUP = 'SET_CUSTOM_POPUP'
+export const SET_FLUID_STATUS = 'SET_FLUID_STATUS'
+export const SET_PARTNERS_INFO = 'SET_PARTNERS_INFO'
+export const SET_SHOULD_REFRESH_CONSENT = 'SET_SHOULD_REFRESH_CONSENT'
 export const SHOW_RELEASE_NOTES = 'SHOW_RELEASE_NOTES'
-export const TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION =
-  'TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION'
+export const TOGGLE_ANALYSIS_NOTIFICATION = 'TOGGLE_ANALYSIS_NOTIFICATION'
 export const TOGGLE_CHALLENGE_ACTION_NOTIFICATION =
   'TOGGLE_CHALLENGE_ACTION_NOTIFICATION'
 export const TOGGLE_CHALLENGE_DUEL_NOTIFICATION =
   'TOGGLE_CHALLENGE_DUEL_NOTIFICATION'
-export const TOGGLE_ANALYSIS_NOTIFICATION = 'TOGGLE_ANALYSIS_NOTIFICATION'
-export const SET_FLUID_STATUS = 'SET_FLUID_STATUS'
+export const TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION =
+  'TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION'
 export const UPDATE_FLUID_CONNECTION = 'UPDATE_FLUID_CONNECTION'
-export const UPDATE_TERMS_VALIDATION = 'UPDATE_TERMS_VALIDATION'
-export const SET_PARTNERS_ISSUE = 'SET_PARTNERS_ISSUE'
-export const SET_CUSTOM_POPUP = 'SET_CUSTOM_POPUP'
-export const SET_SHOULD_REFRESH_CONSENT = 'SET_SHOULD_REFRESH_CONSENT'
 export const UPDATE_SGE_CONNECT = 'UPDATE_SGE_CONNECT'
+export const UPDATE_TERMS_VALIDATION = 'UPDATE_TERMS_VALIDATION'
+
 interface ChangeScreenType {
   type: typeof CHANGE_SCREEN_TYPE
   payload?: ScreenType
 }
 
+interface SetPartnersInfo {
+  type: typeof SET_PARTNERS_INFO
+  payload?: PartnersInfo
+}
+
 interface ToogleChallengeExplorationNotification {
   type: typeof TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION
   payload?: boolean
@@ -65,16 +72,6 @@ interface ShowReleaseNotes {
   type: typeof SHOW_RELEASE_NOTES
   payload?: { show: boolean; notes: Notes[]; redirectLink?: string }
 }
-
-interface SetPartnersIssue {
-  type: typeof SET_PARTNERS_ISSUE
-  payload?: {
-    enedis: boolean
-    egl: boolean
-    grdf: boolean
-  }
-}
-
 interface SetCustomPopup {
   type: typeof SET_CUSTOM_POPUP
   payload: CustomPopup
@@ -99,10 +96,10 @@ export type GlobalActionTypes =
   | UpdatedFluidConnection
   | UpdateTermValidation
   | ShowReleaseNotes
-  | SetPartnersIssue
   | SetCustomPopup
   | SetShouldRefreshConsent
   | UpdateSGEConnect
+  | SetPartnersInfo
 
 export function changeScreenType(screenType: ScreenType): GlobalActionTypes {
   return {
@@ -181,14 +178,10 @@ export function updateTermValidation(
   }
 }
 
-export function setPartnersIssue(openPartnersIssueModal: {
-  enedis: boolean
-  egl: boolean
-  grdf: boolean
-}): GlobalActionTypes {
+export function setPartnersInfo(partnersInfo: PartnersInfo): GlobalActionTypes {
   return {
-    type: SET_PARTNERS_ISSUE,
-    payload: openPartnersIssueModal,
+    type: SET_PARTNERS_INFO,
+    payload: partnersInfo,
   }
 }
 
diff --git a/src/store/global/global.reducer.ts b/src/store/global/global.reducer.ts
index 624e2edbd11368e5476dcb9a06bcd910e081000a..8abedaec8353adbc9095304edf9ce4e032d3c518 100644
--- a/src/store/global/global.reducer.ts
+++ b/src/store/global/global.reducer.ts
@@ -8,7 +8,7 @@ import {
   GlobalActionTypes,
   SET_CUSTOM_POPUP,
   SET_FLUID_STATUS,
-  SET_PARTNERS_ISSUE,
+  SET_PARTNERS_INFO,
   SET_SHOULD_REFRESH_CONSENT,
   SHOW_RELEASE_NOTES,
   TOGGLE_ANALYSIS_NOTIFICATION,
@@ -114,10 +114,11 @@ const initialState: GlobalState = {
     description: '',
     endDate: '',
   },
-  openPartnersIssueModal: {
-    enedis: false,
-    egl: false,
-    grdf: false,
+  partnersInfo: {
+    egl_failure: false,
+    enedis_failure: false,
+    grdf_failure: false,
+    notification_activated: false,
   },
   shouldRefreshConsent: false,
   sgeConnect: {
@@ -213,11 +214,11 @@ export const globalReducer: Reducer<GlobalState> = (
             releaseNotes: action.payload,
           }
         : state
-    case SET_PARTNERS_ISSUE:
+    case SET_PARTNERS_INFO:
       return action.payload != undefined
         ? {
             ...state,
-            openPartnersIssueModal: action.payload,
+            partnersInfo: action.payload,
           }
         : state
     case SET_CUSTOM_POPUP:
diff --git a/src/store/modal/modal.actions.ts b/src/store/modal/modal.actions.ts
index ea74f5ee5c9390638695f051bb6eaf4e8f157044..8ece8265e28c2b80163354f41e17325d0edb5ae6 100644
--- a/src/store/modal/modal.actions.ts
+++ b/src/store/modal/modal.actions.ts
@@ -1,11 +1,24 @@
 export const UPDATE_MODAL_ISFEEDBACKSOPEN = 'UPDATE_MODAL_ISFEEDBACKSOPEN'
+export const OPEN_PARTNERS_MODAL = 'SET_PARTNERS_ISSUE'
 
 interface UpdateModalFeedbacks {
   type: typeof UPDATE_MODAL_ISFEEDBACKSOPEN
   payload?: boolean
 }
 
-export type ModalActionTypes = UpdateModalFeedbacks
+interface OpenPartnersModal {
+  type: typeof OPEN_PARTNERS_MODAL
+  payload?: {
+    enedis: boolean
+    egl: boolean
+    grdf: boolean
+  }
+}
+
+export type ModalActionTypes =
+  | UpdateModalFeedbacks
+  | OpenPartnersModal
+  | { type: null }
 
 export function updateModalIsFeedbacksOpen(isOpen: boolean): ModalActionTypes {
   return {
@@ -13,3 +26,14 @@ export function updateModalIsFeedbacksOpen(isOpen: boolean): ModalActionTypes {
     payload: isOpen,
   }
 }
+
+export function openPartnersModal(openPartnersModal: {
+  enedis: boolean
+  egl: boolean
+  grdf: boolean
+}): ModalActionTypes {
+  return {
+    type: OPEN_PARTNERS_MODAL,
+    payload: openPartnersModal,
+  }
+}
diff --git a/src/store/modal/modal.reducer.spec.ts b/src/store/modal/modal.reducer.spec.ts
index bedcdadeb749caa40f5645647404aaf1b8fa4d6e..ce4ca149e325dfb7ffd4e0ba4268af4fcf35bd65 100644
--- a/src/store/modal/modal.reducer.spec.ts
+++ b/src/store/modal/modal.reducer.spec.ts
@@ -1,29 +1,94 @@
+import { ModalState } from 'models'
 import { mockInitialModalState } from '../../../tests/__mocks__/store'
-import { UPDATE_MODAL_ISFEEDBACKSOPEN } from './modal.actions'
+import {
+  OPEN_PARTNERS_MODAL,
+  UPDATE_MODAL_ISFEEDBACKSOPEN,
+} from './modal.actions'
 import { modalReducer } from './modal.reducer'
 
 describe('modal reducer', () => {
   it('should return the initial state', () => {
-    // eslint-disable-next-line @typescript-eslint/no-explicit-any
-    const result = modalReducer(undefined as any, { type: 'default' })
+    const result = modalReducer(undefined, {
+      type: null,
+    })
     expect(result).toEqual(mockInitialModalState)
   })
 
-  it('should handle UPDATE_MODAL_ISFEEDBACKSOPEN with payload', () => {
-    const result = modalReducer(mockInitialModalState, {
-      type: UPDATE_MODAL_ISFEEDBACKSOPEN,
-      payload: true,
+  describe('FeedbackOpen', () => {
+    it('should handle UPDATE_MODAL_ISFEEDBACKSOPEN with payload', () => {
+      const result = modalReducer(mockInitialModalState, {
+        type: UPDATE_MODAL_ISFEEDBACKSOPEN,
+        payload: true,
+      })
+      expect(result).toEqual({
+        ...mockInitialModalState,
+        isFeedbacksOpen: true,
+      })
     })
-    expect(result).toEqual({
-      ...mockInitialModalState,
-      isFeedbacksOpen: true,
+
+    it('should handle UPDATE_MODAL_ISFEEDBACKSOPEN without payload', () => {
+      const result = modalReducer(mockInitialModalState, {
+        type: UPDATE_MODAL_ISFEEDBACKSOPEN,
+      })
+      expect(result).toEqual(mockInitialModalState)
     })
   })
 
-  it('should handle UPDATE_MODAL_ISFEEDBACKSOPEN without payload', () => {
-    const result = modalReducer(mockInitialModalState, {
-      type: UPDATE_MODAL_ISFEEDBACKSOPEN,
+  describe('PartnersInfo', () => {
+    const partnersModalAllTrue = {
+      egl: true,
+      enedis: true,
+      grdf: true,
+    }
+    it('should have all partners to false by default', () => {
+      const result = modalReducer(mockInitialModalState, {
+        type: null,
+      })
+      const expectedResult: ModalState = {
+        ...mockInitialModalState,
+        partnersIssueModal: {
+          egl: false,
+          enedis: false,
+          grdf: false,
+        },
+      }
+      expect(result).toEqual(expectedResult)
+    })
+    it('should handle OPEN_PARTNERS_MODAL to set all partners to true', () => {
+      const result = modalReducer(mockInitialModalState, {
+        type: OPEN_PARTNERS_MODAL,
+        payload: { egl: true, enedis: true, grdf: true },
+      })
+      const expectedResult: ModalState = {
+        ...mockInitialModalState,
+        partnersIssueModal: {
+          ...partnersModalAllTrue,
+        },
+      }
+      expect(result).toEqual(expectedResult)
+    })
+    it('should handle OPEN_PARTNERS_MODAL to set some partners to false', () => {
+      const result = modalReducer(
+        {
+          ...mockInitialModalState,
+          partnersIssueModal: {
+            ...partnersModalAllTrue,
+          },
+        },
+        {
+          type: OPEN_PARTNERS_MODAL,
+          payload: { egl: true, enedis: false, grdf: false },
+        }
+      )
+      const expectedResult: ModalState = {
+        ...mockInitialModalState,
+        partnersIssueModal: {
+          egl: true,
+          enedis: false,
+          grdf: false,
+        },
+      }
+      expect(result).toEqual(expectedResult)
     })
-    expect(result).toEqual(mockInitialModalState)
   })
 })
diff --git a/src/store/modal/modal.reducer.ts b/src/store/modal/modal.reducer.ts
index 482be122bb3f285cc946b324309862b05900d216..9a4052a2707e675357c19ffb614fcc13aa8f9613 100644
--- a/src/store/modal/modal.reducer.ts
+++ b/src/store/modal/modal.reducer.ts
@@ -2,17 +2,23 @@ import { ModalState } from 'models'
 import { Reducer } from 'redux'
 import {
   ModalActionTypes,
+  OPEN_PARTNERS_MODAL,
   UPDATE_MODAL_ISFEEDBACKSOPEN,
 } from 'store/modal/modal.actions'
 
 const initialState: ModalState = {
   isFeedbacksOpen: false,
+  partnersIssueModal: {
+    enedis: false,
+    egl: false,
+    grdf: false,
+  },
 }
 
-export const modalReducer: Reducer<ModalState> = (
+export const modalReducer: Reducer<ModalState, ModalActionTypes> = (
   state = initialState,
-  action: ModalActionTypes
-): ModalState => {
+  action
+) => {
   switch (action.type) {
     case UPDATE_MODAL_ISFEEDBACKSOPEN:
       const isOpen =
@@ -21,6 +27,13 @@ export const modalReducer: Reducer<ModalState> = (
         ...state,
         isFeedbacksOpen: isOpen,
       }
+    case OPEN_PARTNERS_MODAL:
+      return action.payload != undefined
+        ? {
+            ...state,
+            partnersIssueModal: action.payload,
+          }
+        : state
     default:
       return state
   }
diff --git a/tests/__mocks__/globalStateData.mock.ts b/tests/__mocks__/globalStateData.mock.ts
index f49b200e9c1ce1cca8c376b29a2a69e002a43fdf..a657805557f7463252c28dbe1f125f54bba01992 100644
--- a/tests/__mocks__/globalStateData.mock.ts
+++ b/tests/__mocks__/globalStateData.mock.ts
@@ -1,3 +1,4 @@
+/* eslint-disable camelcase */
 import { FluidState, FluidType } from 'enum/fluid.enum'
 import { FluidSlugType } from 'enum/fluidSlug.enum'
 import { ScreenType } from 'enum/screen.enum'
@@ -17,10 +18,11 @@ export const globalStateData: GlobalState = {
     accepted: false,
     versionType: 'major',
   },
-  openPartnersIssueModal: {
-    enedis: false,
-    egl: false,
-    grdf: false,
+  partnersInfo: {
+    egl_failure: false,
+    enedis_failure: false,
+    grdf_failure: false,
+    notification_activated: false,
   },
   fluidStatus: [
     {
diff --git a/tests/__mocks__/store.ts b/tests/__mocks__/store.ts
index 20953e36beef7fe908cebec9ba8d9dbc82442887..abcba7ea2ff91dc213d64c285e7fd759ad841552 100644
--- a/tests/__mocks__/store.ts
+++ b/tests/__mocks__/store.ts
@@ -46,10 +46,11 @@ export const mockInitialGlobalState: GlobalState = {
     description: '',
     endDate: '',
   },
-  openPartnersIssueModal: {
-    enedis: false,
-    egl: false,
-    grdf: false,
+  partnersInfo: {
+    egl_failure: false,
+    enedis_failure: false,
+    grdf_failure: false,
+    notification_activated: false,
   },
   releaseNotes: {
     show: false,
@@ -278,6 +279,11 @@ export const mockInitialChartState: ChartState = {
 
 export const mockInitialModalState: ModalState = {
   isFeedbacksOpen: false,
+  partnersIssueModal: {
+    enedis: false,
+    egl: false,
+    grdf: false,
+  },
 }
 
 export const mockInitialChallengeState: ChallengeState = {