diff --git a/src/helpers/isVendorDown.js b/src/helpers/isVendorDown.js
new file mode 100644
index 0000000000000000000000000000000000000000..5a56595f19c872fcc8f3f08c58ec332d5cf04902
--- /dev/null
+++ b/src/helpers/isVendorDown.js
@@ -0,0 +1,22 @@
+/*
+Error handling is based on API GRDF ADICT_Messages erreurs B2B_PROD_v1.4
+some code number can be duplicated depending on the http status
+isVendorDown only handle codes associated with http 200 response, all http error should be catched beforehand.
+*/
+function isVendorDown(code) {
+  switch (code) {
+    case '2000100':
+    case '1000009':
+    case '1000010':
+    case '1000011':
+    case '1000006':
+    case '1000016':
+    case '1000002':
+    case '1000000':
+      return true
+    default:
+      return false
+  }
+}
+
+module.exports = isVendorDown
diff --git a/src/index.js b/src/index.js
index 9f61fe91f8512a12c20c9bbbd8c790594df7ed34..8783d8a51499305304cc8bf0e2487f3346bd96eb 100755
--- a/src/index.js
+++ b/src/index.js
@@ -65,6 +65,11 @@ async function start(fields, cozyParameters) {
     log('info', `OAuth callback result found, using pce ${pce}`)
   }
 
+  if (!pce && this._account?.oauth_callback_results?.pce) {
+    pce = this._account.oauth_callback_results.pce
+    log('info', `OAuth callback result found, using pce ${pce}`)
+  }
+
   let boToken = ''
   let boBaseUrl = ''