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'
Câu hỏi thường gặp về OneDrive / SharePoint Odoo Integration Odoo v.8
Tôi thấy lỗi khi nhấn liên kết ảnh đám mây đã đồng bộ
Lỗi "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." cho biết bạn chưa đăng nhập dịch vụ photos.onedrive.com.
Tôi có thể đổi tần suất công việc đồng bộ không?
Có, bạn có thể. Để làm việc này:
Bật chế độ gỡ lỗi
Vào cài đặt kỹ thuật > Tự động hóa > Công việc đã lên lịch
Tìm các công việc 'Synchronize attachments with cloud' và 'Update attachments from cloud'.
Đừng đặt chúng quá thường xuyên. Nên để công việc kết thúc trước khi công việc mới bắt đầu. Cấu hình tùy thuộc vào số mục bạn cần đồng bộ. Thường thì tần suất từ 15 phút đến 4 giờ.
Hãy chắc rằng bạn đã đặt giới hạn thời gian đủ lớn trong tệp cấu hình Odoo. Các tham số LIMIT_TIME_CPU và LIMIT_TIME_REAL phải bằng hoặc lớn hơn thời gian cron dự kiến. Từ phiên bản 13 hãy tính cả tham số LIMIT_TIME_REAL_CRON.
Lưu ý quan trọng cho khách hàng Odoo.sh: thời gian tối đa của công việc cron có thể chỉ là 15 phút.
Tôi có thể cấu hình cấu trúc thư mục đồng bộ khác với cấu trúc mà đồng bộ giả định không?
Không, tính năng này chỉ có từ phiên bản 15. Trước phiên bản đó, phân hệ làm việc với cấu trúc thư mục định sẵn:
Odoo - thư mục gốc cho đồng bộ
Models - thư mục cho mỗi loại chứng từ Odoo. Ví dụ, 'Projects', 'Partners'. Phân theo domain có thể có thư mục cụ thể hơn: chẳng hạn 'Customer 1 Projects', 'Projects of the Customer 2', 'Internal Projects', v.v.
Objects - thư mục cho từng chứng từ, vd. 'Project 1' hoặc 'Customer 1'
Tệp và thư mục liên quan đến chứng từ Odoo này sẽ được đồng bộ.
Kết quả là bạn có thể có chẳng hạn:
Odoo / Projects / Project 1 / tệp và thư mục liên quan đến project 1
Odoo / Customer 1 Projects / Project 1; Odoo / Customer 2 Projects / Project 3, ...
Odoo / Customers / Customer 1 / tệp và thư mục liên quan đến customer 1
Cấu trúc này luôn phẳng, nghĩa là chỉ có những cấp phân cấp đó. Do đó đúng là các loại chứng từ khác nhau không thể nằm trong cùng một cấu trúc. Trong thư mục 'Customer 1' chúng ta không thể giữ các tệp liên quan đồng thời đến đơn bán, hóa đơn và dự án. Mỗi loại chứng từ đó có thư mục riêng (hoặc vài thư mục riêng). Nếu không sẽ không thể đồng bộ ngược vì không còn tiêu chí để dựa vào.
Tôi có nên thiết lập quyền truy cập người dùng cụ thể trong Odoo không?
Không, công cụ dựa trên một điểm cuối người dùng duy nhất. Mọi tiến trình đồng bộ chạy dưới một quản trị cloud (ứng dụng). Quyền truy cập thư mục / tệp đã tạo không được tự động hóa. Bạn phải quản trị quyền đó trong giải pháp lưu trữ đám mây.
Trường đã đồng bộ lưu ở đâu? Có bị nhân đôi sang Odoo và clouds không?
Ứng dụng giả định nội dung nhị phân của tệp đính kèm được lưu trong Cloud Client thay vì trên máy chủ Odoo. Những tệp đính kèm đó trong Odoo trở thành kiểu URL và bạn có thể mở chúng bất cứ lúc nào từ hộp đính kèm hoặc từ Cloud Client.
Sau khi thiết lập, không cần thao tác thủ công vì đồng bộ hoàn toàn tự động. Hãy chọn loại chứng từ Odoo cần đồng bộ và thiết lập model liên quan cho từng loại (Khách hàng, đơn bán hoặc đơn mua, Nhiệm vụ, Dự án, v.v.).
Tôi có thể có vài thư mục cho cùng một loại chứng từ không? Ví dụ dự án nội bộ và dự án khách hàng?
Có. Hãy chuẩn bị một quy tắc cho từng loại, rồi áp bộ lọc: ví dụ theo kiểu dự án.
Hãy làm bộ lọc loại trừ lẫn nhau để một chứng từ được gán chắc chắn. Ví dụ 'khách hàng nhưng không phải nhà cung cấp', 'nhà cung cấp nhưng không phải khách hàng'. Nếu không, thư mục của một chứng từ sẽ nhảy từ model này sang model khác.
Tôi có chỉ cần ứng dụng Cloud Storage Solution không?
Không, công cụ chỉ là lõi kỹ thuật. Bạn còn cần connector cho cloud client.
Có sao không nếu tôi có nhiều đối tượng cần đồng bộ, ví dụ 10000?
Có, dù khi nhiều thư mục/tệp đính kèm cần đồng bộ thì quá trình có thể chậm. Đồng thời khách hàng đã báo môi trường với >10k đối tác và ~5k biến thể sản phẩm cần đồng bộ, và tiến trình vẫn chấp nhận được.
Vài điểm cần nhấn mạnh:
- Đồng bộ được thiết kế để mọi mục đều được đồng bộ và không mất, dù có thể không nhanh. Điều này được bảo đảm bằng hàng đợi FIFO và mỗi job được commit.
- Số đối tượng có thể giới hạn theo logic. Cấu hình model cho phép hạn chế đồng bộ mục lỗi thời (vd. không cần đồng bộ đối tác đã lưu trữ hoặc đơn cách đây 2 năm).
Có thể đồng bộ theo thời gian thực không?
Không. Chúng tôi có lý do vững chắc để tránh đồng bộ thời gian thực:
Vấn đề hiệu năng. Nếu đồng bộ theo thời gian thực, mỗi lần tải tệp lên sẽ hiện màn hình chờ.
Vấn đề xung đột. Nếu 2 người dùng cùng lúc sửa một mục, có thể dẫn đến tình huống không giải quyết được. Với tác vụ định kỳ ta sửa sau được; còn thời gian thực phải lưu thành hàng đợi, càng khiến người dùng bối rối.
Vấn đề chức năng. Đặc biệt là đổi tên và tổ chức lại mục. Ở chiều đồng bộ ngược, công cụ dựa chặt vào logic thư mục và mỗi lần đồng bộ kiểm tra 100% mục. Nếu làm sau mỗi lần cập nhật, sẽ có hàng nghìn yêu cầu mỗi giây. Nếu không: thay đổi sẽ bị mất.
Tôi có thể đồng bộ tệp đính kèm với vài máy khách đám mây
Không, tính năng này chỉ có từ phiên bản 15.
Chúng tôi dùng trình soạn thảo đặc biệt trên đám mây (ví dụ OnlyOffice, Office 365…). Tệp có mở trong trình đó không?
Có, tùy cấu hình cloud client của bạn.
Chính sách cập nhật của các công cụ của bạn là gì?
Theo chính sách hiện tại của Odoo Apps Store:
- Mọi mô-đun mua cho phiên bản 12.0 trở về trước cho phép truy cập mọi phiên bản đến 12.0.
- Từ phiên bản 13.0, mỗi phiên bản mô-đun phải mua riêng.
- Bất kể phiên bản, mua công cụ cho quyền mọi cập nhật và sửa lỗi trong một phiên bản chính.
Lưu ý rằng nhóm faOtools không kiểm soát các chính sách đó. Mọi câu hỏi xin liên hệ trực tiếp đại diện Odoo Apps Store.
Làm sao cài ứng dụng của bạn trên Odoo.sh?
Cách thẳng nhất là dùng quy trình có sẵn của cửa hàng Odoo:
1. Mở trang phân hệ và bấm nút Deploy on odoo.sh
2. Sau đó bạn sẽ được chuyển tới trang GitHub. Đăng nhập tài khoản, rồi bấm 'Create a new repo' hoặc dùng repo có sẵn. Hãy đảm bảo kho là riêng tư. Không được phép công bố ứng dụng theo giấy phép OPL-1. Nếu cần, tạo repo mới cho dự án Odoo.sh
3. Rồi vào odoo.sh và bấm nút Deploy. Trong cửa sổ pop-up, gửi quyết định và bấm 'Continue.' Thao tác này sẽ kích hoạt cài đặt.
Các bước này sẽ cài ứng dụng cho nhánh production của dự án. Nếu muốn triển khai ứng dụng cho nhánh khác hoặc cập nhật phân hệ, hãy làm các bước sau:
1. Tải mã nguồn ứng dụng từ cửa hàng Odoo
2. Commit phân hệ vào kho GitHub cần thiết. Đảm bảo không thư mục/tệp ứng dụng nào bị bỏ qua (tức không nằm trong .gitignore của repo). Kho được odoo.sh tạo tự động và mặc định có thể gồm mục quan trọng (vd. /lib). Hãy tải lên mọi thư mục, thư mục con và tệp của phân hệ, không ngoại lệ
3. Triển khai nhánh đích của dự án odoo.sh hoặc, nếu thiết lập của bạn giả định vậy, đợi đến khi được xây tự động.
Tôi nên cài ứng dụng của bạn trên máy chủ riêng thế nào?
2. Khởi động lại máy chủ Odoo;
3. Bật chế độ nhà phát triển (cài đặt kỹ thuật);
4. Cập nhật danh sách ứng dụng (menu ứng dụng);
5. Tìm ứng dụng và bấm 'Activate'/'Install';
6. Làm theo hướng dẫn trên trang ứng dụng nếu có.
Tôi thấy ứng dụng có tiện ích thêm. Có thể mua sau không?
Có, chắc chắn. Đồng thời Odoo tự thêm mọi phụ thuộc vào giỏ, nên bạn nên loại các công cụ đã mua để tránh trả hai lần.
Tôi triển khai ứng dụng trên Odoo.sh và thấy cảnh báo/lỗi trong kiểm thử
Cảnh báo đỏ/cam không ảnh hưởng đến tính năng của ứng dụng. Đáng tiếc, đôi khi phân hệ của chúng tôi không qua được các kiểm thử tự động chuẩn vì chúng giả định hành vi xung đột với mục tiêu ứng dụng. Ví dụ chúng tôi đổi cách tính giá, trong khi kiểm thử phân hệ Odoo chuẩn so giá cuối với thuật toán chuẩn.
Trước hết, hãy kiểm tra tính năng của cơ sở dữ liệu đã triển khai. Mọi thứ có chạy đúng không?
Nếu vẫn cho rằng cảnh báo ảnh hưởng tính năng thật, hãy liên hệ chúng tôi và gửi nhật ký cài đặt đầy đủ cùng danh sách đầy đủ phân hệ đã triển khai (gồm lõi và bên thứ ba).
Tôi có thể mua ứng dụng trực tiếp từ công ty bạn không?
Không, chúng tôi chỉ phân phối công cụ qua cửa hàng ứng dụng Odoo chính thức.
Tôi muốn được giảm giá
Rất tiếc, chúng tôi không có phương tiện kỹ thuật để cung cấp giá riêng.
Tôi có thể cài ứng dụng trên cơ sở dữ liệu Odoo Online (SaaS) không?
Không, ứng dụng bên thứ ba không dùng được trên Odoo Online. Rất tiếc Odoo SaaS chặn khả năng đó.
Công cụ của bạn phụ thuộc ứng dụng khác. Tôi có cần mua chúng không?
Có, công cụ cần tất cả phân hệ ghi trong phụ thuộc để chạy đúng. Giá trên trang ứng dụng đã gồm mọi phụ thuộc cần thiết.
Giá mô-đun bằng đô la Mỹ là bao nhiêu? Sao lại đổi?
Giá phân hệ của chúng tôi tính bằng euro. Cửa hàng Odoo đổi sang các tiền tệ khác theo tỷ giá nội bộ. Vì vậy giá bằng đô la Mỹ có thể đổi khi tỷ giá được cập nhật.
Lời ứng dụng và trang web ở ngôn ngữ khác tiếng Anh được hỗ trợ bởi AI và khớp với bản dịch Odoo chính thức. Nếu bạn thấy sai, gửi phiếu hỗ trợ về đúng bản dịch và chúng tôi sẽ sửa.
Báo lỗi
Nếu gặp lỗi hoặc hành vi không nhất quán, hãy liên hệ. Chúng tôi cam kết sửa trong 60 ngày kể từ khi mua và vẫn muốn cải thiện công cụ sau giai đoạn đó.
Bạn không cần số điện thoại hay thẻ tín dụng để liên hệ. Chỉ cần đăng ký email ngắn, không quá 30 giây.
Hãy nêu càng nhiều chi tiết càng tốt trong yêu cầu: ảnh chụp màn hình, nhật ký máy chủ Odoo, mô tả đầy đủ cách tái hiện sự cố, v.v. Thường mất vài ngày làm việc để chuẩn bị kế hoạch xử lý (nếu xác nhận lỗi) hoặc hướng dẫn việc cần làm (nếu không).
Yêu cầu tính năng công khai và ý tưởng module (phát triển miễn phí)
Chúng tôi rất muốn cải thiện công cụ và biết ơn mọi phản hồi. Nếu yêu cầu của bạn hữu ích cho mọi người và có thể triển khai hiệu quả, nhóm sẽ đưa vào danh sách việc cần làm.
Danh sách việc cần làm như vậy được xử lý đều đặn và không phát sinh phí thêm. Dù chúng tôi không hứa hạn chót và thiết kế cuối, đây có thể là cách tốt để có tính năng mong muốn mà không đầu tư và rủi ro.
Bạn không cần số điện thoại hay thẻ tín dụng để liên hệ. Chỉ cần đăng ký email ngắn, không quá 30 giây.
Công cụ xây dựng cơ sở tri thức sâu và có cấu trúc cho nội bộ và bên ngoài. Knowledge System. KMS. Bản sửa kiểu wiki.
398€Công cụ quản lý dịch vụ theo thời gian, từ đặt lịch đến bán hàng và đánh giá
Công cụ đặt mục tiêu KPI và kiểm soát hoàn thành theo kỳ. Bảng điều khiển KPI. Trình thiết kế bảng. Biểu đồ KPI
198€Công cụ quản lý Odoo từ các chat AI yêu thích qua MCP. Claude. Mọi AI hỗ trợ MCP.
198€Công cụ sắp xếp linh hoạt tệp đính kèm Odoo vào thư mục và đồng bộ thư mục với máy khách đám mây: Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3, Box và NAS. DMS. Trình quản lý tệp. Hệ thống quản lý tài liệu
Công cụ đồng bộ hai chiều tự động tệp đính kèm Odoo với tệp Google Drive
Công cụ đồng bộ hai chiều tự động tệp đính kèm Odoo với tệp ownCloud/Nextcloud
Công cụ đồng bộ hai chiều tự động tệp đính kèm Odoo với tệp DropBox