OneDrive / SharePoint Odoo Integration v.8
The tool to automatically synchronize Odoo attachments with OneDrive files in both ways
Synchronization is bilateral. All Odoo attachments are put in OneDrive regularly. OneDrive files create attachments in Odoo in case they are placed in a correct folder
Integration is automatic. Based on scheduled jobs Odoo would send attachments to OneDrive and retrieve files from there
Synchronization works for SharePoint sites, OneDrive for business, and personal OneDrive. In the first case the files are kept in preselected documents library, in the latter two - in a user' documents library
Odoo attachments, which are put in OneDrive, receive the URL type. It means that a file is not any more kept in Odoo server space, but now it is in OneDrive. Until sync is done, Odoo attachment remains binary and stores actual file
When you click on a synced attachment, Odoo automatically redirects you to a file previewer. Among others it might be Word or Excel editor (if Office365 is set up)
OneDrive files synced from Odoo has the structure to provide the backward sync: Odoo / Model / Object / files (e.g 'Odoo / Quotation / SO019 7 / commercial offer.png').
If you add a file to an Object folder (e.g. inside 'SO019 7'), that file will create an attachment in Odoo (e.g. for the sales order SO019) with a link to real file in OneDrive. You can put in object folders not only files but also child folders. In that case in attachments a link for this folder is kept (not its content)
You can rename/move folders or files in OneDrive without a harm for Odoo attachments. The only thing you should not do is to delete folders
If an attachment is removed from Odoo, a related OneDrive file will be deleted as well. Files removal from OneDrive leads to related Odoo attachments unlink
Synchronization is based on a single user endpoint. It means that you should login in OneDrive only once. Afterwards for integrations Odoo would use that credentials disregarding an actual Odoo user. Make sure, however, that real Odoo users have an access to OneDrive to open URLs linked to their attachments
Contents
- Preliminary steps
- SharePoint sites
- Personal Onedrive and Onedrive for business
- Reconnection (also in case of migration from this app's versions under 1.2.0)
- Scheduled jobs
SharePoint sites
- Go to your Azure Portal and prepare a new application:
- Grant the app full permissions for Office365 SharePoint online
- Assign the reply url as [YOURODOOSITENAME]/one_drive_token (e.g. https://odootools.com/one_drive_token)
- Generate a new key. Keep it safely somewhere for the future use
- Go to your SharePoint site and prepare a new documents' library (drive). You might use one of the existing ones, e.g. 'Documents'. Odoo folder would be put there afterwards, and it would be impossible to move it for another library
- Go to the OneDrive configuration menu:
- Copy 'Application ID' to 'App client_id'
- Put a previously generated key to the field 'App secret key'
- Enter the 'Redirect URL' as you entered 'Reply url' in Azure Portal
- Check the boxes 'OneDrive for business' and 'Use sharepoint sites'
- The SharePoint URL should be of the type https://[URL]/. The last '/' is required, sitename should not be included into. For example, https://odootools.sharepoint.com/
- SharePoint site should be either my_site_name (in that case it is considered as sites/my_site_name) or sites/my_site_name (instead of 'sites' it might be 'teams' and so on). There should be no '/' at the beginning or at the end. For example, sites/odootools
- As Documents Library use one created in SharePoint
- Press 'Save'
- Press 'Login and Confirm'. Odoo redirects you to Microsoft login page. Check in and grant permissions asked.
- After login, Microsoft redirects you back to Odoo. OneDrive - Odoo synchronization is ready to be done.
Create application in your Azure Portal
App's permissions
App's permissions
Redirect url should be https://[yourodoosite]/one_drive_token
Generate a secret key
Create a new SharePoint Documents Library
Create a new SharePoint Documents Library
Enter configuration keys in Odoo
Odoo attachments are ready for sync with Onedrive files. Press 'Sync to Onedrive' for the files upload
Personal OneDrive and OneDrive for business
- Go to https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade
- Click 'New registration'
- Introduce a new name for the application and assign the redirect URI as [YOURODOOSITENAME]/one_drive_token (e.g. https://odootools.com/one_drive_token)
- Copy the Application Client ID to the Odoo field 'App client_id'
- Go to Certificates & secrets > Click 'New Client Secret'. Copy the secret value to the Odoo field 'App Secret Key'
- Press Save on the Odoo configuration Page
- Press 'Login and Confirm'. Odoo redirects you to Microsoft login page. Check in and grant permissions asked
- After login, Microsoft redirects you back to Odoo. OneDrive - Odoo synchronization is ready to be done.
Create OneDrive application
New OneDrive Web platform and redirect url
Generate new secret for your application
Enter configuration keys in Odoo
Reconnection
- You use this tool with version prior to 1.2.0. In that case you should also install the library 'microsoftgraph'. Look above
- You have not used the sync tool for more than 6 months
- Press the button 'Reconnect'
- Press the button 'Login and confirm'
Scheduled jobs
- Turn on debug mode
- Go to technical settings > Automation > Scheduled jobs
- Find the jobs 'Synchronize attachments with cloud' and 'Synchronize attachments from OneDrive'
Часто задаваемые вопросы о OneDrive / SharePoint Odoo Integration Odoo v.8
При нажатии на облачную ссылку синхронизированного изображения появляется ошибка
Ошибка «This item might have been deleted, expired, or you might not have permission to access it. Contact the owner of this item for more information.» означает, что вы не вошли в службу photos.onedrive.com.
Можно ли изменить частоту заданий синхронизации?
Yes, you can. To this end:
Turn on debug mode
Go to technical settings > Automation > Scheduled jobs
Find the jobs 'Synchronize attachments with cloud' and 'Update attachments from cloud'.
Take into account that you should not make them too frequent. It is preferable this job is finished until a new one is started. Thus, the configuration should depend on how many items you to sync you have. Usually, the frequency is set up between 15 minutes to 4 hours.
Make also sure that you have set up enough time limits in your Odoo configuration file. Thus, LIMIT_TIME_CPU and LIMIT_TIME_REAL parameters should be equal or bigger than planned cron job time. Starting from the version 13 consider also the parameter LIMIT_TIME_REAL_CRON.
An import notice for Odoo.sh clients: the maximum time for cron job might be set up as 15 minutes only.
Можно ли настроить другую структуру синхронизируемых каталогов, не ту, что задаёт синхронизация?
Нет, эта возможность есть только с версии 15. До неё модуль работает с заранее заданной структурой папок:
Odoo — корневая папка синхронизации
Модели — папки для каждого типа документов Odoo. Например, «Projects», «Partners». По домену могут быть более узкие папки: «Customer 1 Projects», «Projects of the Customer 2», «Internal Projects» и т. д.
Объекты — папки для каждого документа, например «Project 1» или «Customer 1»
Файлы и папки, связанные с этим документом Odoo и подлежащие синхронизации.
В итоге может получиться, например:
Odoo / Projects / Project 1 / файлы и папки проекта 1
Odoo / Customer 1 Projects / Project 1; Odoo / Customer 2 Projects / Project 3, ...
Odoo / Customers / Customer 1 / файлы и папки клиента 1
Структура всегда плоская: только эти уровни иерархии. Разные типы документов нельзя держать в одной ветке. В папке «Customer 1» нельзя хранить файлы и заказов, и счетов, и проектов. У каждого типа документа своя папка (или несколько). Иначе обратная синхронизация будет невозможна: не на что опереться.
Нужно ли настраивать отдельные права пользователей в Odoo?
Нет, инструмент работает через одну пользовательскую конечную точку. Все процессы синхронизации идут от имени одного облачного администратора (приложения). Права на созданные папки и файлы не назначаются автоматически. Настройте их в своём облачном хранилище.
Где хранятся синхронизированные файлы? Дублируются ли они в Odoo и в облаках?
Приложение предполагает, что двоичное содержимое вложений хранится в Cloud Client, а не на сервере Odoo. Такие вложения в Odoo становятся типа URL, и к ним можно в любой момент обратиться из блока вложений или из Cloud Client.
После настройки ручные действия не нужны: синхронизация полностью автоматическая. Решите, какие типы документов Odoo синхронизировать, и настройте связанную модель для каждого из них (клиенты, заказы на продажу или закупку, задачи, проекты и т. д.).
Можно ли создать несколько папок для одного типа документов? Например, внутренние проекты и клиентские проекты?
Да, можно. Для этого подготовьте правило для каждой папки и задайте фильтры: например, по типу проекта.
Сделайте фильтры взаимоисключающими, чтобы документ однозначно попадал в одну папку. Например: «клиент, но не поставщик», «поставщик, но не клиент». Иначе папка документа будет перескакивать с одной модели на другую.
Достаточно ли только приложения Cloud Storage Solution?
Нет, инструмент — только техническое ядро. Нужен ещё коннектор вашего облачного клиента.
Нормально ли, если нужно синхронизировать много объектов, например 10000?
Да, хотя при большом числе папок и вложений процесс может быть медленным. При этом клиенты сообщали о средах с >10 тыс. партнёров и ~5 тыс. вариантов продуктов — процессы оставались приемлемыми.
Несколько важных моментов:
- Синхронизация устроена так, что любой элемент будет синхронизирован и не потеряется, хотя это может быть небыстро. Это гарантируют очереди FIFO и фиксация каждого задания.
- Число объектов можно ограничить логически. Настройка моделей позволяет не синхронизировать устаревшие записи (например, нет смысла синхронизировать архивных партнёров или заказы двухлетней давности).
Можно ли сделать синхронизацию в реальном времени?
Нет. Есть веские причины не делать синхронизацию в реальном времени:
Производительность. При синхронизации в реальном времени каждая загрузка файла приводит к экрану ожидания.
Конфликты. Если двое одновременно меняют элемент, ситуация может стать неразрешимой. При регулярных заданиях это можно исправить позже; в реальном времени пришлось бы ставить изменения в очередь, что ещё сильнее запутает пользователей.
Функциональность. В частности, переименование и перестройка элементов. Обратная синхронизация строго опирается на логику каталогов, и при каждом запуске проверяется 100% элементов. Если делать это после каждого обновления, будут тысячи запросов в секунду. Если нет — изменения потеряются.
Можно ли синхронизировать вложения с несколькими облачными клиентами
No, this feature becomes available only from version 15.
Мы используем специальный редактор в облаках (например OnlyOffice, Office 365 и т. д.). Будут ли файлы открываться в этом редакторе?
Да, в зависимости от конфигурации облачного клиента.
Какова политика обновлений ваших инструментов?
По текущим правилам Odoo Apps Store:
- Модуль, купленный для версии 12.0 и ниже, даёт доступ ко всем версиям до 12.0 включительно.
- С версии 13.0 каждую версию модуля нужно покупать отдельно.
- Независимо от версии покупка даёт право на все обновления и исправления в рамках этой мажорной версии.
Команда faOtools эти правила не задаёт. Вопросы направляйте напрямую представителям Odoo Apps Store.
Как установить приложение на Odoo.sh?
Самый прямой способ - встроенный сценарий магазина Odoo:
1. Откройте страницу модуля и нажмите Deploy on odoo.sh
2. Вас перенаправит на GitHub. Войдите в аккаунт и нажмите Create a new repo или выберите существующий. Репозиторий должен быть закрытым: публиковать приложения по лицензии OPL-1 нельзя. При необходимости создайте новый репозиторий для проекта Odoo.sh
3. Затем в odoo.sh нажмите Deploy, подтвердите решение и нажмите Continue. Так запустится установка.
Эти шаги ставят приложение на production-ветку проекта. Для других веток или обновления модуля:
1. Скачайте исходный код из магазина Odoo
2. Закоммитьте модуль в нужный репозиторий GitHub. Ни одна папка или файл приложения не должны попасть в .gitignore. Репозитории, которые создаёт odoo.sh, по умолчанию могут игнорировать важные пути (например /lib). Загрузите все каталоги и файлы модуля без исключений
3. Разверните целевую ветку проекта odoo.sh или дождитесь автоматической сборки, если так настроено.
Как установить приложение на свой сервер?
2. Перезапустите сервер Odoo;
3. Включите режим разработчика (технические настройки);
4. Обновите список приложений (меню приложений);
5. Найдите приложение и нажмите Activate/Install;
6. Следуйте рекомендациям на странице приложения, если они есть.
У приложения есть дополнительные модули. Можно купить их позже?
Да. При этом Odoo сам кладёт все зависимости в корзину: исключите уже купленные инструменты, чтобы не заплатить дважды.
Я развернул приложение на Odoo.sh и вижу предупреждение или ошибку в тестах
Odoo Красное или оранжевое предупреждение не влияет на функции приложения. Иногда наши модули не проходят стандартные автотесты, потому что те ждут поведение, которое противоречит целям приложения. Например, мы меняем расчёт цены, а тесты ядра сравнивают итог со стандартным алгоритмом.
Сначала проверьте саму развёрнутую базу: всё ли работает?
Если всё же считаете, что предупреждение ломает функции, напишите нам и пришлите полные логи установки и полный список установленных модулей (ядро и сторонние).
Можно ли купить приложение напрямую у вас?
Нет, мы распространяем инструменты только через официальный магазин приложений Odoo.
Я хочу получить скидку
К сожалению, у нас нет технической возможности давать индивидуальные цены.
Можно ли поставить приложение на базу Odoo Online (SaaS)?
Нет, сторонние приложения нельзя использовать на Odoo Online. Odoo SaaS это блокирует.
У инструмента есть зависимости. Нужно ли их покупать?
Да, для корректной работы нужны все модули из зависимостей. Цена на странице приложения уже включает необходимые зависимости.
Какова цена модуля в долларах США? Почему она меняется?
Цены на наши модули заданы в евро. Магазин Odoo пересчитывает их в другие валюты по своему внутреннему курсу. Поэтому цена в долларах США может меняться при обновлении курса.
Тексты приложения и веб-сайта на языках, отличных от английского, переведены с помощью ИИ и согласованы с официальными переводами Odoo. Если вы заметили ошибку, отправьте тикет о переводе и мы исправим его.
Отправка отчетов об ошибках
Если вы столкнулись с ошибками или непоследовательным поведением, не стесняйтесь обращаться к нам. Мы гарантируем предоставление исправлений в течение 60 дней с момента покупки и очень заинтересованы в улучшении наших инструментов даже по истечении этого периода.
Чтобы связаться с нами, вам не нужен номер телефона или кредитная карта. Вам нужно всего лишь пройти короткую регистрацию по электронной почте, которая займет не более 30 секунд.
Укажите в запросе как можно больше сведений: снимки экрана, журналы сервера Odoo, полное описание воспроизведения проблемы и так далее. Обычно подготовка рабочего плана по проблеме (если ошибка подтверждена) или рекомендаций по необходимым действиям (в противном случае) занимает несколько рабочих дней.
Запросы на публичные функции и идеи модулей (бесплатная разработка)
Мы очень заинтересованы в улучшении наших инструментов и будем благодарны за любые отзывы. Если ваши требования общедоступны и могут быть эффективно реализованы, команда включит их в наш список дел.
Такой список дел обрабатывается регулярно и не предполагает дополнительных комиссий. Хотя мы не можем обещать сроки и окончательный дизайн, это может быть хорошим способом получить желаемые функции без вложений и рисков.
Чтобы связаться с нами, вам не нужен номер телефона или кредитная карта. Вам нужно всего лишь пройти короткую регистрацию по электронной почте, которая займет не более 30 секунд.
Инструмент, чтобы безопасно хранить пароли в Odoo для совместной работы. Общие хранилища
198€Инструмент, чтобы задавать цели KPI и контролировать выполнение по периодам. Дашборды KPI. Конструктор. Графики
198€Инструмент, чтобы строить глубокую базу знаний для своих и внешних. Knowledge System. KMS. Правки как в вики
398€Инструмент для услуг по записи: от бронирования до продаж и отзывов
Инструмент, чтобы управлять Odoo из любимых AI-чатов через MCP. Claude. Любой AI с MCP.
198€Инструмент, чтобы раскладывать вложения Odoo по папкам и синхронизировать каталоги с Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3, Box и NAS. Файловый менеджер. DMS
Инструмент для двусторонней синхронизации вложений Odoo с Google Drive
Инструмент для двусторонней синхронизации вложений Odoo с ownCloud/Nextcloud
Инструмент для двусторонней синхронизации вложений Odoo с DropBox