diff --git a/index.js b/index.js
index 37162f545eb6d0cc4c6b552fba8c0e8e9ae15b9d..50dcb0af9e2a420b44245a322d624f3cc6ab77ee 100644
--- a/index.js
+++ b/index.js
@@ -180,7 +180,13 @@ async function start(fields, cozyParameters) {
       boToken,
       accountData.data.consentId
     )
-    const user = await verifyUserIdentity(fields, baseUrl, apiAuthKey, sgeLogin)
+    const user = await verifyUserIdentity(
+      fields,
+      baseUrl,
+      apiAuthKey,
+      sgeLogin,
+      true
+    )
 
     if (
       user.lastname.toLocaleUpperCase() !==
@@ -373,6 +379,7 @@ async function getDataHalfHour(url, apiAuthKey, userLogin, pointId) {
     const incrementedEndDateString = moment(endDate)
       .subtract(7 * i, 'day')
       .format('YYYY-MM-DD')
+
     const { response } = await soapRequest({
       url: url,
       headers: sgeHeaders,
@@ -430,7 +437,10 @@ function processData(doctype = 'com.grandlyon.enedis.day') {
       }
     } catch (e) {
       if (doctype === 'com.grandlyon.enedis.minute') {
-        log('warn', `No half-hour activated`)
+        log(
+          'warn',
+          `No half-hour activated. Issue: ${result.Envelope.Body.Fault.faultstring}`
+        )
       } else {
         log('error', `Unkown error ${e}`)
       }
@@ -227934,13 +227944,15 @@ const { getInseeCode } = __webpack_require__(1597)
  * @param {string} baseUrl
  * @param {string} apiAuthKey
  * @param {string} loginUtilisateur
+ * @param {boolean} isAlternateStart
  * @returns {Promise<User>}
  */
 async function verifyUserIdentity(
   fields,
   baseUrl,
   apiAuthKey,
-  loginUtilisateur
+  loginUtilisateur,
+  isAlternateStart = false
 ) {
   const inseeCode = await getInseeCode(fields.postalCode, fields.city)
 
@@ -227956,7 +227968,11 @@ async function verifyUserIdentity(
 
   if (fields.pointId != pdl) {
     log('error', 'PointId does not match')
-    throw errors.LOGIN_FAILED
+    if (isAlternateStart) {
+      throw errors.TERMS_VERSION_MISMATCH
+    } else {
+      throw errors.LOGIN_FAILED
+    }
   }
 
   return {
diff --git a/onDeleteAccount.js b/onDeleteAccount.js
index 409952fa26429c20dae55cc6bb00b2a057b9b779..64b78e5ccb886394b44c9b9e2e84ea7db2b3b408 100644
--- a/onDeleteAccount.js
+++ b/onDeleteAccount.js
@@ -227463,12 +227463,20 @@ async function onDeleteAccount() {
   if (accountRev) {
     log('info', 'Account rev exist')
     const accountData = await getAccount(ACCOUNT_ID)
-    const userConsent = await getBoConsent(accountData.data.consentId)
+    const userConsent = await getBoConsent(
+      secrets.boBaseUrl,
+      secrets.boToken,
+      accountData.data.consentId
+    )
 
     if (userConsent.pointId && userConsent.pointId) {
       log('error', `Consent found for user`)
       if (userConsent.serviceId) {
-        await deleteBoConsent(userConsent.id)
+        await deleteBoConsent(
+          secrets.boBaseUrl,
+          secrets.boToken,
+          userConsent.id
+        )
         await terminateContract(
           secrets.baseUrl,
           secrets.apiAuthKey,
@@ -227536,15 +227544,20 @@ function getAccountRev() {
   }
 }
 
+/**
+ * Return account secrets.
+ * For local testing, change value with values from your konnector-dev-config.json
+ */
 function getAccountSecret() {
   try {
     return iSLocal()
       ? {
-          baseUrl: 'https://apis.grandlyon.fr',
-          sgeLogin: 'donnees.energie@grandlyon.com',
-          contractId: '4921350',
-          apiAuthKey:
-            'eyJ4NXQiOiJaR1l4TVRBeVlqaGxNbVU0T1dReE56SXhZbU01TUdZMk5XVmxNak15TWpVeE9XUXdOakppWlE9PSIsImtpZCI6ImdhdGV3YXlfY2VydGlmaWNhdGVfYWxpYXMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJMREFQXC9JUEo5MTUzQGNhcmJvbi5zdXBlciIsImFwcGxpY2F0aW9uIjp7Im93bmVyIjoiTERBUFwvSVBKOTE1MyIsInRpZXJRdW90YVR5cGUiOm51bGwsInRpZXIiOiJVbmxpbWl0ZWQiLCJuYW1lIjoiU0dFIiwiaWQiOjMwLCJ1dWlkIjoiYjU0MWYxZDEtYTMzYi00ODYyLThiOGQtNTk4MDljYjQzNWRjIn0sImlzcyI6Imh0dHBzOlwvXC9hcGlzLmdyYW5kbHlvbi5mcjo0NDNcL29hdXRoMlwvdG9rZW4iLCJ0aWVySW5mbyI6eyJVbmxpbWl0ZWQiOnsidGllclF1b3RhVHlwZSI6InJlcXVlc3RDb3VudCIsImdyYXBoUUxNYXhDb21wbGV4aXR5IjowLCJncmFwaFFMTWF4RGVwdGgiOjAsInN0b3BPblF1b3RhUmVhY2giOnRydWUsInNwaWtlQXJyZXN0TGltaXQiOjAsInNwaWtlQXJyZXN0VW5pdCI6bnVsbH19LCJrZXl0eXBlIjoiUFJPRFVDVElPTiIsInBlcm1pdHRlZFJlZmVyZXIiOiIiLCJzdWJzY3JpYmVkQVBJcyI6W3sic3Vic2NyaWJlclRlbmFudERvbWFpbiI6ImNhcmJvbi5zdXBlciIsIm5hbWUiOiJlbmVkaXNfU0RFX3JlY2hlcmNoZS1wb2ludCIsImNvbnRleHQiOiJcL2VuZWRpc19TREVfcmVjaGVyY2hlLXBvaW50XC8xLjAiLCJwdWJsaXNoZXIiOiJhZG1pbiIsInZlcnNpb24iOiIxLjAiLCJzdWJzY3JpcHRpb25UaWVyIjoiVW5saW1pdGVkIn0seyJzdWJzY3JpYmVyVGVuYW50RG9tYWluIjoiY2FyYm9uLnN1cGVyIiwibmFtZSI6ImVuZWRpc19TR0VfQ29tbWFuZGVUcmFuc21pc3Npb25IaXN0b3JpcXVlTWVzdXJlcyIsImNvbnRleHQiOiJcL2VuZWRpc19TR0VfQ29tbWFuZGVUcmFuc21pc3Npb25IaXN0b3JpcXVlTWVzdXJlc1wvMS4wIiwicHVibGlzaGVyIjoiYWRtaW4iLCJ2ZXJzaW9uIjoiMS4wIiwic3Vic2NyaXB0aW9uVGllciI6IlVubGltaXRlZCJ9LHsic3Vic2NyaWJlclRlbmFudERvbWFpbiI6ImNhcmJvbi5zdXBlciIsIm5hbWUiOiJlbmVkaXNfU0dFX1JlY2hlcmNoZVNlcnZpY2VzTWVzdXJlcyIsImNvbnRleHQiOiJcL2VuZWRpc19TR0VfUmVjaGVyY2hlU2VydmljZXNNZXN1cmVzXC8xLjAiLCJwdWJsaXNoZXIiOiJhZG1pbiIsInZlcnNpb24iOiIxLjAiLCJzdWJzY3JpcHRpb25UaWVyIjoiVW5saW1pdGVkIn0seyJzdWJzY3JpYmVyVGVuYW50RG9tYWluIjoiY2FyYm9uLnN1cGVyIiwibmFtZSI6ImVuZWRpc19TR0VfQ29uc3VsdGF0aW9uTWVzdXJlcyIsImNvbnRleHQiOiJcL2VuZWRpc19TR0VfQ29uc3VsdGF0aW9uTWVzdXJlc1wvMS4wIiwicHVibGlzaGVyIjoiYWRtaW4iLCJ2ZXJzaW9uIjoiMS4wIiwic3Vic2NyaXB0aW9uVGllciI6IlVubGltaXRlZCJ9LHsic3Vic2NyaWJlclRlbmFudERvbWFpbiI6ImNhcmJvbi5zdXBlciIsIm5hbWUiOiJlbmVkaXNfU0dFX0NvbnN1bHRhdGlvbk1lc3VyZXNEZXRhaWxsZWVzIiwiY29udGV4dCI6IlwvZW5lZGlzX1NHRV9Db25zdWx0YXRpb25NZXN1cmVzRGV0YWlsbGVlc1wvMS4wIiwicHVibGlzaGVyIjoiYWRtaW4iLCJ2ZXJzaW9uIjoiMS4wIiwic3Vic2NyaXB0aW9uVGllciI6IlVubGltaXRlZCJ9LHsic3Vic2NyaWJlclRlbmFudERvbWFpbiI6ImNhcmJvbi5zdXBlciIsIm5hbWUiOiJlbmVkaXNfU0dFX0NvbnN1bHRhdGlvbkRvbm5lZXNUZWNobmlxdWVzQ29udHJhY3R1ZSIsImNvbnRleHQiOiJcL2VuZWRpc19TR0VfQ29uc3VsdGF0aW9uRG9ubmVlc1RlY2huaXF1ZXNDb250cmFjdHVlbGxlc1wvMS4wIiwicHVibGlzaGVyIjoiYWRtaW4iLCJ2ZXJzaW9uIjoiMS4wIiwic3Vic2NyaXB0aW9uVGllciI6IlVubGltaXRlZCJ9LHsic3Vic2NyaWJlclRlbmFudERvbWFpbiI6ImNhcmJvbi5zdXBlciIsIm5hbWUiOiJlbmVkaXNfU0dFX0NvbW1hbmRlQ29sbGVjdGVQdWJsaWNhdGlvbk1lc3VyZXMiLCJjb250ZXh0IjoiXC9lbmVkaXNfU0dFX0NvbW1hbmRlQ29sbGVjdGVQdWJsaWNhdGlvbk1lc3VyZXNcLzEuMCIsInB1Ymxpc2hlciI6ImFkbWluIiwidmVyc2lvbiI6IjEuMCIsInN1YnNjcmlwdGlvblRpZXIiOiJVbmxpbWl0ZWQifSx7InN1YnNjcmliZXJUZW5hbnREb21haW4iOiJjYXJib24uc3VwZXIiLCJuYW1lIjoiZW5lZGlzX1NHRV9Db21tYW5kZUFycmV0U2VydmljZVNvdXNjcml0TWVzdXJlcyIsImNvbnRleHQiOiJcL2VuZWRpc19TR0VfQ29tbWFuZGVBcnJldFNlcnZpY2VTb3VzY3JpdE1lc3VyZXNcLzEuMCIsInB1Ymxpc2hlciI6ImFkbWluIiwidmVyc2lvbiI6IjEuMCIsInN1YnNjcmlwdGlvblRpZXIiOiJVbmxpbWl0ZWQifV0sInRva2VuX3R5cGUiOiJhcGlLZXkiLCJwZXJtaXR0ZWRJUCI6IiIsImlhdCI6MTY1MDg5MDYwNiwianRpIjoiYWQzNjNlNzAtMTVhOS00NzQ1LWExNDEtOGIxOTU5MjQwZTM3In0=.UK5Jx1WRA0A6KVUFK5rs5RH7e9qAWn4v_AmmX_CHD3MNzZWikaUFD1UmS_VvMfWvqLMvRBqbkVH0X5na46e8cZA6WYaQuI5xu9oEOptv8HRY3VX-4VBpjvmTcSSRmCN6AqyalggWbzVlDsKCpVyFWavGi-DFrd7Fe9U41kNs33Li-C9LU794LEaqBPfC8avNwHv8UTzkpExR1jwCXjkLXQ-M8txHgdGGYqZ2VN0_8DeuJ7BOYQGmmENxMt0orm9k9ubtLIijnfNAOLRUZcboQRAURE_IdtuBRG0EWBkkDocefWysmckKBt6lUMtYjxpzWCDyw9UYyQAaPC1Ogy6oAg==',
+          baseUrl: 'https://test.fr',
+          sgeLogin: 'test@test.com',
+          contractId: '134567',
+          boBaseUrl: 'https://botest.grandlyon.com/',
+          boToken: 'tok31n',
+          apiAuthKey: 'authkeYeasqqd56dsdq',
         }
       : JSON.parse(process.env.COZY_PARAMETERS).secret
   } catch (err) {