diff --git a/__tests__/requests/insee.spec.js b/__tests__/requests/insee.spec.js
index 2be3245aa5957e09a7f1bc7604e6041aee8b8cdc..c8154a3ac93c639aea0534a603c1aeee3d82b39c 100644
--- a/__tests__/requests/insee.spec.js
+++ b/__tests__/requests/insee.spec.js
@@ -1,15 +1,24 @@
+const { errors } = require('cozy-konnector-libs')
 const { getInseeCode } = require('../../src/requests/insee')
 describe('getInseeCode', () => {
   it('should return a valid insee code for Lyon 7', async () => {
     expect(await getInseeCode(69007)).toEqual('69387')
   })
 
-  it('should return null for a unexisting post code', async () => {
-    expect(await getInseeCode(69069)).toEqual(null)
+  it('should throw USER_ACTION_NEEDED for a unexisting post code', async () => {
+    try {
+      await getInseeCode(69069)
+    } catch (error) {
+      expect(error).toEqual(errors.USER_ACTION_NEEDED)
+    }
   })
 
-  it('should return null for post code 69290 when city is not provided', async () => {
-    expect(await getInseeCode(69290)).toEqual(null)
+  it('should throw USER_ACTION_NEEDED for post code 69290 when city is not provided', async () => {
+    try {
+      await getInseeCode(69290)
+    } catch (error) {
+      expect(error).toEqual(errors.USER_ACTION_NEEDED)
+    }
   })
 
   it('should return Craponne insee code for post code 69290', async () => {
diff --git a/src/index.js b/src/index.js
index a8158f0d188a7fbe5a16a3b55ec8f759b2d3aa1d..d9354dd6c8e9d30e911154941cf812e48b2393f9 100644
--- a/src/index.js
+++ b/src/index.js
@@ -97,6 +97,7 @@ async function start(fields, cozyParameters) {
     await commanderCollectePublicationMesures()
     await updateBoConsent()
   } else {
+    //AlternateStart
     await getBoConsent()
     if (!(await verifyUserIdentity(fields))) {
       await deleteBoConsent()
@@ -116,14 +117,13 @@ async function start(fields, cozyParameters) {
  * @param {string} apiAuthKey
  * @param {string} loginUtilisateur
  */
-async function verifyUserIdentity(
+export async function verifyUserIdentity(
   fields,
   baseUrl,
   apiAuthKey,
   loginUtilisateur
 ) {
   const inseeCode = await getInseeCode(fields.postalCode)
-  if (!inseeCode) throw errors.USER_ACTION_NEEDED
 
   const pdl = await findUserPdl(
     `${baseUrl}/enedis_SDE_recherche-point/1.0`,
diff --git a/src/requests/insee.js b/src/requests/insee.js
index b32fef4178f98c0ddc5f60f13b746b125a9c9924..a616d9d8d9e48dd03db69aaecf8eafda3558d5b4 100644
--- a/src/requests/insee.js
+++ b/src/requests/insee.js
@@ -1,6 +1,6 @@
 // @ts-check
 const { default: axios } = require('axios')
-const { log } = require('cozy-konnector-libs')
+const { log, errors } = require('cozy-konnector-libs')
 
 const API_URL = 'https://apicarto.ign.fr/api/codes-postaux/communes'
 
@@ -8,7 +8,7 @@ const API_URL = 'https://apicarto.ign.fr/api/codes-postaux/communes'
  * Return inseeCode given a postalCode
  * @param {string} postalCode
  * @param {string} [city]
- * @return {Promise<string | null>} inseeCode
+ * @return {Promise<string>} inseeCode
  */
 async function getInseeCode(postalCode, city) {
   try {
@@ -18,7 +18,7 @@ async function getInseeCode(postalCode, city) {
     if (response.data.length === 1) {
       return response.data[0].codeCommune
     } else {
-      if (!city) return null
+      if (!city) throw errors.USER_ACTION_NEEDED
 
       const filteredResponse = response.data.filter(
         town => town.nomCommune.toLowerCase() === city.toLowerCase()
@@ -30,7 +30,7 @@ async function getInseeCode(postalCode, city) {
       'error',
       `Query getInseeCode failed for postalCode ${postalCode} / ${city}`
     )
-    return null
+    throw errors.USER_ACTION_NEEDED
   }
 }