Skip to Content

Cloud Storage Solutions v.19

The tool to flexibly structure Odoo attachments in folders and synchronize directories with cloud clients: Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3, Box, and NAS. DMS. File Manager. Document management system

398€
Start a Free Demo
Free personalized demo. No phone number or credit card required. Free life-time updates and expert support within the major Odoo version.

The tool does not require extra dependencies besides standard Odoo apps.
Current version: 19.0.1.4.57

Enterprise
Community
Odoo.sh

In Short

Cloud Storage Solutions is an Odoo 19 Document Management app. The tool to flexibly structure Odoo attachments in folders and synchronize directories with cloud clients: Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3, Box, and NAS. DMS. File Manager. Document management system.

Cloud Storage Solutions turns Odoo attachments into a structured document hub: users browse files in a File Manager, organize record attachments in folders and tags, share files through the portal, and synchronize selected directories with Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3/MinIO, Box, or NAS/WebDAV.

Perfect for

Attachment-heavy teams

Give sales, projects, HR, support, and operations a shared Odoo file manager instead of leaving important attachments scattered across records.

Cloud-first document storage

Move binary files to the storage platform your company already uses while Odoo keeps direct links and business context.

Multi-cloud departments

Route different Odoo folders to different cloud clients, accounts, drives, buckets, or NAS shares without changing the user workflow.

Portal file sharing

Share files, folders, and tags with partners or public links, including download archives, uploads, navigation, search, and optional chatter.

Repeatable folder structures

Generate folders from Odoo objects, filters, periods, naming expressions, and default subfolders instead of asking users to build trees manually.

Controlled document access

Keep Odoo-side access aligned with business records and folder permissions while administrators manage synchronization and logs centrally.

Ready to evaluate?

Start with a free demo request or purchase in the Odoo Apps Store.

Free personalized demo. No phone number or credit card required. Free life-time updates and expert support within the major Odoo version.

Cloud Storage Solutions

the core module, which introduces the file manager interface and basic mechanics for synchronization with various cloud clients. Its price is 398€.

OneDrive / SharePoint Odoo Integration

the connector to synchronize Odoo folders and attachments with OneDrive or/and SharePoint. The features assumed by this add-on are marked by the icon . Its price is 89€.

Google Drive Odoo Integration

the connector to synchronize Odoo folders and attachments with Google Drive. The features assumed by this add-on are marked by the icon . Its price is 89€.

Amazon S3 / MinIO Odoo Integration

the connector to synchronize Odoo folders and attachments with Amazon S3. The features assumed by this add-on are marked by the icon . Its price is 89€.

ownCloud / Nextcloud Odoo Integration

the connector to synchronize Odoo folders and attachments with Nextcloud or/and ownCloud. The features assumed by this add-on are marked by the icon . Its price is 89€.

NAS / Synology / QNAP / TrueNAS Odoo Integration

the connector to synchronize Odoo folders and attachments with NAS solutions (Synology, QNAP, TrueNAS) and generic WebDAV storage. The features assumed by this add-on are marked by the icon . Its price is 89€.

Dropbox Odoo Integration

the connector to synchronize Odoo folders and attachments with Dropbox. The features assumed by this add-on are marked by the icon . Its price is 89€.

Box Odoo Integration

the connector to synchronize Odoo folders and attachments with Box. The features assumed by this add-on are marked by the icon . Its price is 89€.

Cloud Sync for Enterprise Documents

an optional add-on to prepare workspace-related folders and to sync Odoo documents (introduced by the enterprise app 'Documents') with clouds. The features assumed by this add-on are marked by the icon . Its price is 44€.

Why teams choose it

Key benefits before you dive into the details

Structured folders

Turn record attachments into clear folder trees generated from Odoo objects, filters, periods, and naming rules.

Cloud storage sync

Synchronize selected folders with Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3/MinIO, Box, or NAS/WebDAV.

Two-way automation

Scheduled jobs push Odoo changes to storage and bring cloud-side files, folders, moves, and deletions back into Odoo.

File Manager

Browse folders and tags, search files, upload by drag and drop, move attachments, and download single files or ZIP archives.

Better attachment box

Open record-related folders and files from the attachment panel so users keep business context while working with documents.

Portal sharing

Share files, folders, and tags with contacts or public links, with controlled downloads, uploads, navigation, and chatter.

Access rights

Respect Odoo business access for automatic folders and manage manual folder visibility through users and groups.

Sync logs

Monitor queued operations, client states, retries, and disconnections from Odoo, with logs ready to export for support.

Odoo Store feedback

What customers say about the app

Works well with SharePoint. Supportive team

We've been using this with SharePoint and it's been working great. One of the best things is having everything, including logs right in Odoo's interface, so you can actually see what's going on. It's also super convenient that you can view or download synced files from the attachment box without having to leave the page or even log in to Sharepoint.

Setup was pretty smooth for us. When we had a few questions about setting up the folder hierarchy and priorities, the developer team got back to us in just a couple of hours and helped us figure it out. Great support and great extension!

nino.khale@outlook.com

Tricky setup, but works perfectly now

Really solid module. We managed to get a very flexible folder structure (sorted by clients) and synced all our sales orders, invoices and tasks by projects to Google Drive.

Initial setup was a bit of a pain and kinda tricky to configure everything at first, but now it's running smoothly and works perfectly. The faotools team helped a lot. Def worth it if u need to keep your docs organized in Odoo and Google Drive.

Recommended!

denis@bdecloud.com

Great support, assistance and very good connector!

We are very happy with the support we received when configuring the Sharepoint - Odoo connector. The connector has great functionalities.
All our questions were answered very fast (within one day).
FaOtools helped us optimising our connector and assisted us with future improvements.
We really recommend this connector.

Max Vandeputte

Great module and Great Support!

The module works great! and the support is phenomenal!
A must-buy if it suits your requirements!

Hieu Nguyen

very professional app, excellen t customer service

This app is very well programmed and does its job very well. But the best is the excellent customer service who also helps when the problem lies somewhere else. You receive a lot for your money.

Florian Quis

Excellent !!!

Great App and great Service from faOtools.

Carlos A. Villarreal C.

An impressive app and world-class support

I have been very impressed by the way the OneDrive / SharePoint Odoo Integration module synchronises content in both directions and allows me to share documents in Odoo with my SharePoint site. Above all the technical support is top-notch, which greatly increases the value of this product. I highly recommend this product for anyone considering synchronising Odoo with SharePoint/OneDrive.

Amir Hassan

Very good product

A perfect solution to integrate Owncloud with Odoo. We sync a high volume of objects across multiple Odoo models, which works seamless and stable. For us it is the perfect solution to have an external DMS instead of the Odoo native attachment handling, which also enables us to interchange files between systems in our best-of-breed setup.
The team behind this module is extremely professional and responsive. They helped us on a few occasions and provided clear answers and prompt support when required, and they even went out of their way to assist us with another requirement we had. Cannot recommend the product and team highly enough, try this if you're in the market to connect Odoo with an external document solution.

Frank Vogler

Works fine, good support

The first experience with the module is excellent. I had some trouble to configure things right on the Microsoft-side, but the team provided quick and good support.

Marc

Best module for integration with google drive

The module performs its function correctly and faOtools responds quickly to any problem and, in case of detecting any bug, quickly apply the changes. Its support is 10 stars.

sistemas@deza-sa.com

Works according to specs

I have used this app with Odoo 12 and Nextcloud 16 and it works as specified. Odoo Tools offers very responsive support which is really helpful. Of course 5 stars...!

NXD-Audio

This is Awesome

I have used Cloud Sync on Next/Own Cloud and works really great.

Humberto

Ready to evaluate?

Start with a free demo request or purchase in the Odoo Apps Store.

Free personalized demo. No phone number or credit card required. Free life-time updates and expert support within the major Odoo version.

Odoo File Manager Interface

A practical document workspace for folders, tags, uploads, search, mass actions, and archives.

Navigate documents like a file system

  • Browse attachments by folders and tags instead of opening records one by one.
  • Expand tree levels, create manual subfolders, edit folder settings, and open linked Odoo objects.
  • Search and highlight folders or tags quickly even in large document trees.

Work with files in bulk

  • Upload files to the current folder from a button or by drag and drop.
  • Move attachments between folders or record contexts and update tags with mass actions.
  • Download selected attachments, whole folders, or tags as a single ZIP archive.
Odoo File Manager showing folders, tags, and cloud-synced attachments for structured document management

Enhanced Attachment Box

Record attachments become organized folders, not a flat list of files.

Keep record files structured

  • Show each Odoo object with its own folders and subfolders directly from the attachment area.
  • Add, move, download, and open files without leaving the business record users already work on.
  • Use tags and folders together so documents remain easy to find after months of activity.

Connect Odoo context with cloud files

  • Open synced folders and files in the connected cloud client from Odoo.
  • Preserve the link between cloud directories and their Odoo records for easier navigation.
  • Keep daily file work close to sales orders, tasks, tickets, partners, and other Odoo documents.
Odoo record attachment box showing structured folders and synced files for easier document access

Cloud Storage Synchronization

Queue-based two-way synchronization with the storage clients your company already trusts.

Choose the right storage per folder

  • Connect Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3/MinIO, Box, and NAS/WebDAV through optional extensions.
  • Use multiple cloud connections at the same time for different departments, models, folders, or accounts.
  • Keep one synced folder on one target client while its child folders follow the same storage path.

Automated two-way sync

  • Direct sync creates cloud folders, uploads attachments, and replaces synced binaries with URL attachments in Odoo.
  • Backward sync detects cloud-side files, subfolders, updates, moves, and deletions and mirrors them in Odoo.
  • Reverse sync brings files back into Odoo when a connection is reset or a folder moves to another client.

Predictable queue processing

  • Scheduled jobs regularly prepare and process sync tasks without requiring users to push files manually.
  • Folder checks use FIFO logic so older unchecked directories receive attention first.
  • Blocking operations are prioritized, and failed items are retried while the queue continues with independent work.

Transparent monitoring

  • Track planned operations, executed jobs, errors, and client states from Cloud Storage sync logs.
  • Subscribe to notifications for important client events such as disconnections or repeated failures.
  • Export and share logs when an administrator or support team needs evidence of what happened.
Odoo Cloud Storage configuration showing multiple connected storage clients for attachment synchronization

Automatic Folder Rules

Generate folder trees from Odoo data so document structure follows real business objects.

Model-based folder trees

  • Decide which Odoo models need folders and let scheduled checks create directories for matching records.
  • Build parent-child rule hierarchies so customers, orders, projects, tasks, and documents appear in the right place.
  • Use relative periods and field filters to sync only the records that matter.

Business-friendly naming

  • Generate folder names from expressions, record fields, and related values instead of static labels.
  • Add default subfolders and default files for repeatable document packages.
  • Prioritize rule checks so large structures remain predictable and administrators control the rollout.

Manual and automatic folders together

  • Let users create manual subfolders where flexibility is needed while rules maintain the recurring structure.
  • Drag and drop manual folders without disturbing automatically generated directories.
  • Keep folders connected to Odoo objects so access, navigation, and cloud sync remain meaningful.

Enterprise Documents ready

  • With the Enterprise Documents extension, workspace-related rules create cloud folders from Odoo Documents workspaces.
  • Workspace filters let you sync selected workspaces instead of mirroring the full Documents structure.
  • Users keep familiar Odoo Documents actions such as download, share, and sign after synchronization.
Odoo automatic folder rules generating default subfolders and files for structured cloud synchronization

Files and Folders Sharing

Controlled portal and public sharing for attachments, folders, and tags.

Share the exact document set

  • Share selected attachments, full folders, child folders, or all files connected to chosen tags.
  • Grant access to Odoo contacts and send invitations to portal users when the share is ready.
  • Generate public access links when a recipient should not need a portal account.

Let recipients work, not just view

  • Allow downloads of single files, folders, tags, or the whole share as ZIP archives.
  • Optionally allow uploads, folder navigation, tag navigation, search, and item creation.
  • Enable share chatter when the file exchange needs a discussion thread.
Odoo portal sharing screen for files, folders, and tags with controlled downloads and uploads

Ready to evaluate?

Start with a free demo request or purchase in the Odoo Apps Store.

Free personalized demo. No phone number or credit card required. Free life-time updates and expert support within the major Odoo version.

Document Management and Sync Access Rights

Odoo-side permissions stay aligned with business records, manual folders, and administrator roles.

Rights follow Odoo context

  • Access to automatic folders is based on access to the linked Odoo object.
  • Users must also access parent folders, so the full path remains protected.
  • Manual folders can be restricted by users and groups, or left open when no restriction is set.

Clear administrator boundaries

  • File Manager Access lets users work with the Cloud Storage menu and file manager.
  • Administration rights are required for folder rules, cloud connections, sync logs, and global settings.
  • Cloud-provider permissions remain managed in the target cloud system after synchronization.
Odoo Cloud Storage access rights showing user groups for file manager and administration control

Use Notes

A few things to keep in mind so synchronization stays predictable in a real Odoo environment.

Sync is not instant

  • Synchronization is not real-time. It runs through scheduled jobs and a task queue, so some time may pass before changes appear on both sides.
  • Cloud connections rely on third-party APIs that can change or be temporarily unavailable, so occasional retries or reconnections may be needed.
  • We recommend keeping an independent copy of important data, as deletions and reverse operations are propagated and may be hard to undo.

Keep the sync scope reasonable

  • The wider the synchronization scope, the longer a full check tends to take and the more edge cases may appear.
  • Where possible, synchronize only the folders you actually need rather than the whole attachment set.
  • Narrowing the scope usually makes sync faster and easier to monitor.

Mind the per-folder volume

  • Very large folders can slow down listing and processing on either side.
  • We suggest keeping the number of files and subfolders per directory within reasonable limits.
  • Splitting large volumes across several folders usually behaves more predictably than placing everything in one folder.

Ready to evaluate?

Start with a free demo request or purchase in the Odoo Apps Store.

Free personalized demo. No phone number or credit card required. Free life-time updates and expert support within the major Odoo version.

Configuration and Installation Tips for Cloud Storage Solutions Odoo v.19

Odoo server configuration

To make sure the synchronization works correctly apply proper timeouts to the Odoo configuration file: LIMIT_TIME_CPU, LIMIT_TIME_REAL, LIMIT_TIME_REAL_CRON should be more than 900 seconds.

For Odoo.sh this should not be done, since timeouts are predefined and are not configurable.

Avoid also changing the cron jobs frequency assumed by the app: '[Cloud Storage] Prepare Cloud Folders', '[Cloud Storage] Run / Prepare sync queue'. Those jobs are configured to be run each 15 minutes, and that frequency is used in the algorithms to avoid breaks and data losses. If you need to stop sync for a while, pause particular cloud clients instead.

General Python dependency

The tool depends on the external library 'sortedcontainers'. Install this library for your Odoo server through the command:

pip3 install sortedcontainers

Setting up OneDrive or/and SharePoint Integration

Python dependency

The tool depends on the external library 'microsoftgraph'. Install this library for your Odoo server through the command:

pip3 install microsoftgraph-python

Configuration and log in

  1. Turn on the option 'OneDrive / SharePoint Sync' (cloud Storage > Configuration > Configuration). The optional add-on OneDrive / SharePoint Odoo Integration is required
  2. Make sure your Microsoft user has full admin rights for OneDrive / SharePoint you want to connect to Odoo. This user is required only to grant permissions, the user data would not be kept in Odoo, and would not be used afterward. Besides, make sure a Microsoft email address you use does not have a redirection (usually happens when you configure your domain name, while the prime address is still one of Microsoft domains like @outlook.com, @office365, etc.)
  3. Go to your Azure Portal
  4. Click 'New registration'
  5. 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). As the supported account types choose 'Accounts in any organizational directory (Any Azure ID directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)'.
  6. Go to Certificates & secrets - Click 'New Client Secret'. Save somewhere the secret value
  7. Go to Odoo Cloud Storage > Configuration > Cloud Clients press 'Create'
    • As a reference introduce any name which would be clear to all users
    • As a Cloud client choose 'OneDrive' or 'SharePoint' depending on the software you are using
    • As a Root folder name enter a title which would be users as the parent OneDrive directory for all synced folders. For example, 'Odoo' or 'OdooERP'
    • Copy 'Application Client ID' to the 'App client ID'
    • Copy secret value into the field 'App client secret'
    • Insert previously generated redirect URL
    • If you use SharePoint:
      • 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 afterward, and it would be impossible to move it to another library
      • The SharePoint URL should be of the type https://[URL]/. The last '/' is required - the site name should not be included. For example, https://odootools.sharepoint.com/
      • SharePoint site should be either root (the very root SharePoint site), 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
  8. Press 'Confirm'. Odoo redirects you to the Microsoft login page. Check in the system, agree with all conditions, and grant all permissions asked
  9. After login, OneDrive redirects you back to Odoo. OneDrive - Odoo synchronization is ready to be done
  10. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that OneDrive or SharePoint instance
  11. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Watch also the configuration video

Create Azure application

Application to connect Odoo and Azure (OneDrive / SharePoint)

New OneDrive Web platform and redirect URL

OneDrive / SharePoint redirect url

Generate new secret for Azure application

Odoo new OneDrive / SharePoint secret

Enter configuration keys in Odoo

Configure Odoo for OneDrive / SahrePoint

Setting up Google Drive Integration

  1. Turn on the option 'Google Drive Sync' (cloud Storage > Configuration > Configuration). The optional add-on Google Drive Odoo Integration is required
  2. Go to the Google Developer Console
  3. Select or create a project
  4. Find the section 'Dashboard' and press 'ENABLE APIS AND SERVICES'
  5. Find Google Drive API and push the button to enable its API
  6. Go to 'Credentials' and press the button 'Configure Consent Screen'. As the User Type select 'External' and push 'Create'
  7. Add app information
    • As an app name select any suitable
    • As a user support email and developer contact information select your email address
    • Press 'Save and Continue'
  8. On the 'Scopes' page just press 'Save and Continue'
  9. As Test Users add your GMail email address, then press 'Save and Continue'
  10. Then, go to Credentials and push the button 'Create Credentials'
    • 'Web application' as the application type
    • As the authorized redirect URI add the link in a format [YOURODOOSITENAME]/google_drive_token (e.g. https://odootools.com/google_drive_token).
    • Save the app and copy 'Client ID' and 'Client Secret'
  11. Go to Odoo Cloud Storage > Configuration > Cloud Clients press 'Create'
    • As a reference introduce any name which would be clear to all users
    • As a Cloud client choose 'Google Drive'
    • As a Root folder name enter a title which would be users as the parent Google Drive directory for all synced folders. For example, 'Odoo' or 'OdooERP'
    • Copy 'Client ID' to the 'App client ID'
    • Copy 'Client Secret' into the field 'App client secret'
    • Insert previously generated redirect URL
    • If you use team drives, check the related box. Make sure you really use team drives. In you Google Drive you should find the item 'Team Drives' in the left sidebar. This feature is available only for business and enterprise tariffs
    • If the option 'Team Drive' is enabled, introduce its name. It should be absolutely the same as you see it in your Google Drive. Make sure that your user has full rights for all Google drives (usually, it is the same user who configures your team Google Drive)
  12. Press 'Confirm'. Odoo redirects you to Google login page. Check in the system, agree with all conditions, and grant all permissions asked
  13. After login, Google redirects you back to Odoo. Google Drive - Odoo synchronization is ready to be done
  14. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that Google Drive
  15. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Watch also the configuration video

Google Console: APIs

Google Console: APIs

Google Drive API

Google Drive API

Enable Google Drive API

Enable Google Drive API

Configuring Google Consent Screen

Configuring Google Consent Screen

Setting up External User Type API

Setting up External User Type API

Entering Google app details

Entering Google app details

Google app scopes

Google app scopes

Adding authorized users

Adding authorized users

Creating Google app credentials

Creating Google app credentials

Google Drive app redirect URL

Google Drive app redirect URL

Copy app credentials

Copy app credentials

Enter Google app credentials to Odoo

Enter Google app credentials to Odoo

Setting up Amazon S3

  1. Turn on the option 'Amazon S3 Sync' (Cloud Storage > Configuration > Configuration). The optional add-on Amazon S3 Odoo Integration is required
  2. Open the Amazon S3 Console
  3. Create a new bucket or choose an existing one. Copy the exact bucket name: it should be inserted in Odoo into the field 'Bucket'
  4. Open the bucket details and copy its AWS Region. Insert it in Odoo into the field 'Region' (for example, eu-west-1 or us-east-1)
  5. Open the AWS IAM Console
  6. Create a new IAM user or choose an existing technical user. This user should have full rights to list, read, create, write, copy, and delete objects within the selected bucket. You can select the full right admin, or create a new policy (see below)
  7. In the IAM user form, open the tab 'Security credentials' and press 'Create access key'
  8. On the page 'Access key best practices & alternatives', select the option Application running outside AWS. This is the correct option when your Odoo server connects to S3 by access key from outside AWS, from Odoo.sh, from your own server, or from another hosting provider. If your Odoo is installed on an AWS EC2 instance, you may instead select Application running on an AWS compute service, but the fields copied to Odoo are the same
  9. Press 'Next'. On the next step, optionally enter a description tag such as Odoo S3 Sync, then press 'Create access key'
  10. On the final AWS page, copy Access key or Access key ID into the Odoo field 'Access Key'
  11. Copy Secret access key into the Odoo field 'Secret Key'. Important: AWS shows the secret key only once, so save it before closing the window
  12. If you use an S3-compatible provider instead of AWS S3, copy the endpoint URL from that provider's admin panel and insert it into Odoo into the field 'Amazon S3 endpoint URL'. For example, MinIO often uses a URL like https://minio.example.com or http://localhost:9000; LocalStack commonly uses http://localhost:4566
  13. Go to Odoo Cloud Storage > Configuration > Cloud Clients and press 'Create'
  14. As a reference, introduce any name which would be clear to all users
  15. As a Cloud client, choose 'Amazon S3'
  16. As a Root folder name, enter a title that will be used as the parent S3 prefix for all synced folders. For example, 'Odoo' or 'OdooERP'
  17. Fill in the fields 'Bucket', 'Region', 'Access Key', 'Secret Key', and, if needed, 'Amazon S3 endpoint URL' and addressing style
  18. Choose whether Odoo should use temporary presigned URLs or public bucket/CDN URLs. For private buckets, keep presigned URLs enabled and set their lifetime in seconds
  19. Press 'Confirm'. Odoo checks bucket access and creates or verifies the root folder prefix. Amazon S3 - Odoo synchronization is ready to be done
  20. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that Amazon S3 bucket
  21. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Useful AWS documentation: creating an S3 bucket, managing IAM access keys.

Bucket policy example

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::NAME_OF_YOUR_BUCKET" }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::NAME_OF_YOUR_BUCKET/*" } ] }

Create a new AWS IAM user

Create a new IAM user in the AWS console to connect Amazon S3 with Odoo

Specify the IAM user name

Specify the IAM user name in the AWS create user wizard

Attach permission policies directly

Set permissions and choose to attach policies directly to the Amazon S3 IAM user

Amazon S3 bucket policy JSON example

Example JSON policy granting ListBucket, GetObject, PutObject and DeleteObject on the S3 bucket

Review and name the S3 policy

Review and name the faotools_bucket Amazon S3 policy with list, read and write access

Select the bucket policy for the user

Attach the faotools_bucket policy to the Amazon S3 IAM user

Review and create the IAM user

Review the IAM user details and permissions before creating the Amazon S3 user

Create an access key for the user

Open the IAM user and create an access key for the Amazon S3 connection

Choose the access key use case

Select 'Application running outside AWS' as the access key use case for Odoo

Set the access key description tag

Add an 'Odoo Connector' description tag to the Amazon S3 access key

Retrieve the access key and secret

Copy or download the Amazon S3 access key and secret access key

Configure the Amazon S3 client in Odoo

Configure and confirm the Amazon S3 cloud client in Odoo with bucket, region and keys

Setting up Nextcloud or/and ownCloud Integration

Configuration and log in

  1. Turn on the option 'onwCloud / Nextcloud Sync' (cloud Storage > Configuration > Configuration). The optional add-on ownCloud / Nextcloud Odoo Integration is required
  2. Go to Odoo Cloud Storage > Configuration > Cloud Clients press 'Create'
  3. As a reference introduce any name which would be clear to all users
  4. As a Cloud client choose 'Nextcloud' or 'ownCloud' depending on the software you are using
  5. As a Root folder name enter a title which would be users as the parent directory for all synced folders. For example, 'Odoo' or 'OdooERP'
  6. Enter your ownCloud / Nextcloud full URL
  7. Select an ownCloud / Nextcloud user, which has full rights to read, create, write and delete files and folders within a root directory
  8. Enter login and password of this user to the fields 'Login' and 'Password'
  9. Choose whether you would like to apply public or internal URLs (see below)
  10. Press 'Confirm'. Odoo synchronization is ready to be done
  11. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that Nextcloud or ownCloud instance
  12. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Internal and public URLs

By default links from Odoo to ownCloud / Nextcloud are internal: only authorized users may access them. Optionally make links public (the setting 'Use Public URLs'). Then, URLs would be 'shared', and everybody would access items by a direct link.

Be cautious if you decide to use shared (public) URLs. Although the links would be hardly known by external users, there is a slight chance that they become available as a result of some user actions. Besides, sharing links generation is not fast and might make the synchronization slower.

Watch also the configuration video

Enter ownCloud / Nextcloud credentials

ownCloud / Nextcloud Odoo integration

Setting up NAS (Synology, QNAP, TrueNAS, etc.)

  1. Turn on the option 'NAS Sync' (Cloud Storage > Configuration > Configuration). The optional add-on NAS Odoo Integration is required
  2. Prepare your NAS WebDAV endpoint:
    • Synology: install and enable WebDAV Server in DSM and choose HTTPS where possible
    • QNAP: enable WebDAV for the target shared folder and use HTTPS where possible
    • TrueNAS CORE: enable the WebDAV service; TrueNAS SCALE: install and configure the WebDAV app, since native WebDAV was removed in modern SCALE releases
    • Generic WebDAV: make sure PROPFIND, MKCOL, PUT, GET, MOVE, and DELETE are available
  3. If Odoo is hosted outside the local NAS network, make the WebDAV endpoint reachable securely. Prefer a reverse proxy with a valid TLS certificate, a VPN/secure tunnel such as WireGuard, Tailscale, or Cloudflare Tunnel, or a vendor relay such as Synology QuickConnect or QNAP myQNAPcloud. Avoid exposing an administrator interface to the Internet
  4. Create a dedicated NAS user with full rights only inside the target shared folder: read, create, write, move, and delete. Do not use an administrator account
  5. Go to Odoo Cloud Storage > Configuration > Cloud Clients and press 'Create'
  6. As a reference, introduce any name which would be clear to all users
  7. As a Cloud client, choose 'Synology NAS', 'QNAP NAS', 'TrueNAS', or 'WebDAV NAS'
  8. As a Root folder name, enter a title that will be used as the parent NAS directory for all synced folders. For example, 'Odoo' or 'OdooERP'
  9. Enter the full WebDAV URL, login, and password. Optionally define a base path if Odoo should create the root folder inside an existing share or directory
  10. Keep 'Verify SSL' enabled for public HTTPS endpoints. Disable it only for a trusted private endpoint with a self-signed certificate
  11. Optionally define a browser base URL if NAS files should be opened through a vendor file station URL instead of the raw WebDAV URL
  12. Press 'Confirm'. Odoo checks the WebDAV connection and creates or finds the root directory. NAS - Odoo synchronization is ready to be done
  13. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that NAS storage
  14. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

NAS Pre-configuration

NAS systems usually expose files through a local network. If your Odoo server is hosted outside that network, the WebDAV endpoint should be reachable from Odoo through a secure channel. Recommended options are a reverse proxy with a valid HTTPS certificate, a VPN or secure tunnel such as WireGuard, Tailscale, or Cloudflare Tunnel, or a vendor relay such as Synology QuickConnect or QNAP myQNAPcloud. Plain port forwarding is possible but should be treated as the least preferred option.

Use a dedicated NAS user with the minimum required rights to one shared folder: read, create, update, move, and delete. Avoid administrator accounts. Publicly exposed endpoints should always use HTTPS and a valid TLS certificate. The connector has a "Verify SSL" option for trusted self-signed certificates, but it should normally remain enabled.

Enter QNAP credentials

QNAP Odoo connection

Enter Synology credentials

Synology Odoo Connection

Enter TrueNAS credentials

TruenNAS Odoo integration

Setting up Box

  1. Turn on the option 'Box Sync' (cloud Storage > Configuration > Configuration). The optional add-on Box Odoo Integration is required
  2. Create or open a Box developer account and go to the Box Developer Console
  3. Create a Custom App and choose OAuth 2.0 (Authorization Code Grant) as the authentication method
  4. Add the redirect URI as [YOURODOOSITENAME]/box_token (e.g. https://faotools.com/box_token). A valid SSL certificate (https) is required
  5. Grant the app access to read and write files and folders. Avoid assigning unrelated permissions
  6. Go to Odoo Cloud Storage > Configuration > Cloud Clients and press 'Create'
    • As a reference, introduce any name which would be clear to all users
    • As a Cloud client, choose 'Box'
    • As a Root folder name, enter a title that will be used as the parent Box directory for all synced folders. For example, 'Odoo' or 'OdooERP'
    • Copy Box Client ID to the field 'Client ID'
    • Copy Box Client Secret to the field 'Client Secret'
    • Insert previously generated redirect URL
  7. Press 'Confirm'. Odoo redirects you to the Box login page. Check in the system, agree with all conditions, and grant all permissions asked
  8. After login, Box redirects you back to Odoo. Box - Odoo synchronization is ready to be done
  9. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that Box account
  10. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Create a new Box developer app

Create a new application in the Box Developer Console for the Odoo integration

Copy Box OAuth credentials

Copy the Box OAuth 2.0 client ID and client secret and set the redirect URI for Odoo

Configure the Box cloud client in Odoo

Enter the Box client ID, client secret and redirect URL in the Odoo cloud client configuration

Grant Odoo access to Box

Authorize Odoo in Box to read and write files and folders through the integration

Setting up Dropbox Integration

Python dependency

The tool depends on the external library 'dropbox'. Install this library for your Odoo server through the command:

pip3 install dropbox

Configuration and log in

  1. Turn on the option 'Dropbox Sync' (cloud Storage > Configuration > Configuration). The optional add-on Dropbox Odoo Integration is required
  2. Open the Dropbox App Console to create a new app
  3. Choose an API as 'Scoped access'
  4. Choose the type of access as 'Full Dropbox'
  5. Select any suitable name for the app and push the button 'Create app'
  6. Add the redirect URI as [YOURODOOSITENAME]/dropbox_token (e.g. https://faotools.com/dropbox_token). A valid SSL certificate (https) is required
  7. Grant permissions to the app: 'Account Info (Read)', 'Files and folders Metadata (Write)', 'Files Content (Write)', 'Collaboration (Write)'. For team DropBox assign also 'Team Data Members', 'Members (Read)'. Make sure no other permissions are assigned.
  8. Submit App
  9. Go to Odoo Cloud Storage > Configuration > Cloud Clients press 'Create'
    • As a reference introduce any name which would be clear to all users
    • As a Cloud client choose 'Dropbox'
    • As a Root folder name enter a title which would be users as the parent Google Drive directory for all synced folders. For example, 'Odoo' or 'OdooERP'
    • Copy 'App key' to the 'App key'
    • Copy 'App Secret' into the field 'App secret'
    • Insert previously generated redirect URL
    • If you use Dropbox team drives
      • Check the related box
      • Set an email of the Dropbox user. Inside this user folder, all Odoo related items would be created, and only after that they are shared with all other users. Under this user, all files and folders are created, changed, moved, and deleted
  10. Press 'Confirm'. Odoo redirects you to the Dropbox login page. Check in the system, agree with all conditions, and grant all permissions asked
  11. After login, Dropbox redirects you back to Odoo. Dropbox - Odoo synchronization is ready to be done
  12. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that Dropbox instance
  13. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Dropbox URLs

Dropbox has a specific way to generate links for existing files and folders. In particular, there are no concepts of internal or private URLs. Instead, each Dropbox item might get so-called shared URLs. Such shared links are either public or team-only. Moreover, the latter feature is available only for the Dropbox business account.

This tool relies upon shared links' mechanics. It means, that each attachment link is either public (all personal Dropbox accounts) or team-only (all business Dropbox accounts).

Sometimes it is considered to be not fully safe. Although website URLs will be hardly known by external users, there is a slight chance that they become available as a result of some user actions. Besides, sharing links generation is not super fast and might make the sync process slower. That is why the feature to switch off sharing URLs is introduced.

If checked, all Dropbox URLs in Odoo will be of type https://www.dropbox.com/home/Odoo/[PATH]. Such links will not work in many cases. Thus, if you need to open Dropbox files/folders from Odoo, be careful with the setting 'No links to Dropbox from Odoo'.

Watch also the configuration video

Create Dropbox app

Dropbox API app to connect to Odoo

Set up Dropbox App: redirection URL

Dropbox app settings

Dropbox permissions for personal accounts

Odoo Dropbox app personal permissions

Dropbox permissions for business accounts

Odoo Dropbox app business permissions

Set up Odoo for Dropbox integration

Odoo settings for Dropbox

Setting up MinIO

  1. Prepare a running MinIO server
  2. Open the MinIO Console
  3. Create a new bucket or choose an existing one. Copy the exact bucket name: it should be inserted in Odoo into the field 'Bucket'
  4. Create access credentials for Odoo. In MinIO, use an access key / secret key pair or a service account that has rights to list, read, create, write, copy, and delete objects within the selected bucket
  5. Copy the MinIO Access Key into the Odoo field 'Access Key'
  6. Copy the MinIO Secret Key into the Odoo field 'Secret Key'. Important: save the secret before closing the MinIO page if MinIO shows it only once
  7. Copy the MinIO S3 API endpoint URL into Odoo into the field 'Amazon S3 endpoint URL'. For example, a local server usually uses http://localhost:9000, while a production server may use https://minio.example.com
  8. Go to Odoo Cloud Storage > Configuration > Cloud Clients and press 'Create'
  9. As a reference, introduce any name which would be clear to all users
  10. As a Cloud client, choose 'MinIO'
  11. As a Root folder name, enter a title that will be used as the parent MinIO object prefix for all synced folders. For example, 'Odoo' or 'OdooERP'
  12. Fill in the fields 'Bucket', 'Access Key', 'Secret Key', and 'Amazon S3 endpoint URL'. The field 'Region' is optional for MinIO; if it is empty, Odoo uses us-east-1 for S3-compatible signing
  13. Keep the addressing style as Path-style. This is the recommended option for MinIO endpoints, especially when the MinIO host does not provide bucket-specific DNS names
  14. Choose whether Odoo should use direct public MinIO URLs. Enable 'Use Public URLs' only when the bucket, prefix, reverse proxy, or CDN is publicly readable. For private MinIO buckets, leave it disabled
  15. Press 'Confirm'. Odoo checks bucket access and creates or verifies the root folder prefix. MinIO - Odoo synchronization is ready to be done
  16. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that MinIO bucket
  17. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Useful MinIO documentation: Identity and Access Management, MinIO Server reference.

Create a MinIO access key

Create an access key in the MinIO Object Store console for the Odoo cloud client

Copy the new MinIO credentials

Copy or download the newly created MinIO access key and secret key for Odoo

Configure the MinIO cloud client in Odoo

Configure and confirm the MinIO cloud client in Odoo with bucket, region, endpoint and keys

Odoo demonstration databases (live previews)

For this app, we might provide a free personalized demo database.

You do not need a phone number or credit card to contact us. You should only pass a short email sign-up, which does not take more than 30 seconds.

By your request, we will prepare an individual live preview database, where you can apply any tests and check assumptions for about two weeks.

Bug reporting

If you encounter bugs or inconsistent behavior, do not hesitate to contact us. We guarantee to provide fixes within 60 days of purchase and are intensely interested in improving our tools even after this period.

You do not need a phone number or credit card to contact us. You should only pass a short email sign-up, which does not take more than 30 seconds.

Please include as many details as possible in your request: screenshots, Odoo server logs, a full description of how to reproduce your problem, and so on. Usually, it takes a few business days to prepare a working plan for an issue (if a bug is confirmed) or provide you with guidelines on what should be done (otherwise).

Public features requests and module ideas (free development)

We are strongly motivated to improve our tools and would be grateful for any feedback. If your requirements are of public use and might be efficiently implemented, the team will include those in our to-do list.

Such a to-do list is processed regularly and does not assume extra fees. Although we cannot promise deadlines and final design, it might be a good way to get desired features without investments and risks.

You do not need a phone number or credit card to contact us. You should only pass a short email sign-up, which does not take more than 30 seconds.

19.0.1.4.57
  • The feature to requeue failed tasks has been added.
19.0.1.4.56
  • The UI responsiveness of the Kanban has been refactored and optimized.
  • The navigation panels got support for resizing and collapsing.
19.0.1.4.55
  • The feature to truncate the sync logs from the configuration page has been added.
19.0.1.4.54
  • Support for Amazon S3, MinIO S3, Synology, QNAP, TrueNAS, other NAS/WebDAB, and BOX has been added.
19.0.1.4.53
  • The issue with displaying archived folders in navigation has been fixed.
19.0.1.4.52
  • The feature to control the maximum number of folders per rule has been added.
19.0.1.4.51
  • The issue with proceeding frozendict in mass actions has been fixed.
19.0.1.4.50
  • The issue with attachments linked to documents disappearing from the attachment box has been fixed.
19.0.1.4.49
  • The issue fix text break in folder titles has been fixed.
19.0.1.4.48
  • The "Open in Clouds" action in the mobile view has been updated to reflect the recent changes.
19.0.1.4.47
  • The issue with the non-synced invoice report has been fixed.
19.0.1.4.46
  • The feature to neutralize cloud clients for backups has been added.
19.0.1.4.45
  • The issue with accessing parent rule-related folders has been fixed.
19.0.1.4.44
  • The app is published to version 19.
  • The feature for optional real-time thumbnails has been added.
18.0.1.4.44
  • The asynchronous folder check has been optimized.
18.0.1.4.43
  • The issue with a newly selected folder search has been fixed.
18.0.1.4.42
  • The issue with the non-refreshing folder tree while switching between records has been fixed.
18.0.1.4.41
  • The issue with the double click needed to remove selected attachments has been fixed.
18.0.1.4.40
  • The backup removal queue has been changed to first-in, first-out.
18.0.1.4.39
  • The app is adapted to the new domain logic to support dynamic parts.
18.0.1.4.38
  • The filestore evaluation is added to the configuration page.
  • The feature to restrict cloud client sync to a particular database name has been added.
18.0.1.4.37
  • The feature to lock backup creation has been added.
18.0.1.4.36
  • The issue with the untranslated warnings has been fixed.
18.0.1.4.35
  • The feature to automatically and manually sync a current database backup to chosen cloud clients has been added. Configure the backup schedule and keep time. Backups might be with or without filestore and manifest.
18.0.1.4.34
  • The bug with not correctly importing Python libraries during folder refreshing has been fixed.
18.0.1.4.33
  • The domain now supports Python libraries' use, including datetime ('date', 'datetime', 'time', 'timedelta', 'timezone', 'tzinfo', 'MAXYEAR', 'MINYEAR'), time ('time', 'strptime', 'strftime'). Also, context_today (short for datetime.now) and relativedelta might be applied.
18.0.1.4.32
  • The compatibility with the Email Marketing module is fixed according to the recent Odoo 18 updates.
18.0.1.4.31
  • Attachments are unselected after deletion.
18.0.1.4.30
  • The synced attachments' URLs might be precalculated.
18.0.1.4.29
  • Folders created based on cloud clients get increased sequence.
18.0.1.4.28
  • The kanban views are adapted to the new Odoo 18 XML principles.
  • The archived ribbon for inactive records is added to form views of rules, folders, tags, and shares.
18.0.1.4.27
  • The interface is updated to reflect the core attachment list view changes.
18.0.1.4.26
  • The issue with not added links to certain folders is fixed.
18.0.1.4.25
  • The app is published to version 18.
17.0.1.4.25
  • The issue with not-created child folders for workspace-related parents is fixed.
17.0.1.4.24
  • The issue with not updating previously synced child folders is fixed.
17.0.1.4.23
  • The feature to clear rule-related folders' blocking dates is introduced.
17.0.1.4.22
  • The feature is added to select existing attachments (including the synced ones) while composing Odoo messages.
  • The feature to add URL attachments is added to the attachment box and file manager interface.
17.0.1.4.21
  • The issue with auto-scrolling after logging a note is fixed.
17.0.1.4.20
  • The feature to filter logs by their date and time is added.
  • Now it is possible to define the number of exported logs on the configuration page.
17.0.1.4.19
  • The failure re-tries number is now configurable and might differ for standard and reverse/move tasks.
17.0.1.4.17
  • The tasks' parent blocking mechanism is optimized first to serve the most prioritized task.
17.0.1.4.15
  • The blocking mechanism is specified for the sync operations to move items..
17.0.1.4.13
  • The access to an intermediate rule-related folder is defined not based on that rule model but based on the parent folder access.
17.0.1.4.12
  • The maximum size for the URLs is increased to 4096.
17.0.1.4.11
  • The reverse sync is optimized. Hanging tasks caused by mutual blocking are removed.
17.0.1.4.10
  • The issues with simultaneous reverse and backward synchronization are fixed.
17.0.1.4.9
  • The algorithm to process rearranged and moved folders is optimized.
17.0.1.4.8
  • The issue with creating tags and folders through the portal is fixed.
17.0.1.4.7
  • Portal share search by tag/folder title is fixed.
17.0.1.4.6
  • The mass action "Slideshow" is added. It allows backend users to start a slideshow for the chosen image attachments.
  • The option "Allow slideshow" is added to the share settings. If turned on, portal/public users will be able to trigger a slideshow for currently found image attachments in the share's portal interface.
  • The reverse synchronization algorithm is optimized.
17.0.1.4.5
  • Special pre-failure checks for hanging tasks are introduced. Now if the task fully stops the cron job (e.g. because of the memory limit errors), the next cron will continue with a different task.
17.0.1.4.4
  • The standard Odoo preview is added to the file manager interface attachment card. To open a related previewer in the kanban view, users should click on a thumbnail. The supported file types and the behavior are equal to the attachment box.
  • Attachment forms might be opened using the kanban 3-dots menu. Here, it is possible also to change attachments' colors.
  • The sync logs levels are colored based on messages' levels.
  • The logging system is optimized to commit messages even if the job fails and fully stops the thread.
17.0.1.4.3
  • The bug with the incorrectly selected folder during the first loading in the file manager interface is fixed.
17.0.1.4.2
  • The feature to prioritize folders based on the rules' sync frequency is added.
17.0.1.4.1
  • The module structure is updated to the newest file manager interface, drag-and-drop, and portal-sharing features
17.0.1.3.14
  • Duplicating attachments with explicitly passed res_model and res_id is fixed (HR Expenses compatibility is fixed).
17.0.1.3.13
  • Multi-selection of folders is now possible in the file manager interface.
  • The current folder for uploading attachments is shown on the button "Upload" title.
  • The feature to share attachments/folders is introduced. Share any files, directories, or tags with specific portal partners or publically. Optionally allow uploading, tree-navigating, and creating tags and folders.
  • The feature to download all attachments of a specific tag is added. Navigation by tags becomes optional.
17.0.1.3.12
  • The feature to drag-and-drop files to upload those from a local PC is introduced.
  • Now it is possible to update a folder and tags by dropping attachments to the left navigation panel.
17.0.1.3.11
  • The errors in mass-updating tags are fixed.
  • The issue with the incorrect folder for new records is fixed.
  • The scenario when a folder cannot be created in the navigation panel when there are no other folders is fixed.
  • The sync logs interface is adapted to show the HTML content of the received responses.
17.0.1.3.10
  • The rare case when a folder's initial setup has failed 8 times but still should be synced is covered.
You may also like the tools
Password Manager

The tool to safely keep passwords in Odoo for shared use. Shared vaults

198€
KnowSystem: Knowledge Base System

The tool to build a deep and structured knowledge base for internal and external use. Knowledge System. KMS. Wiki-like revisions.

398€ 358€
KPI Balanced Scorecard

The tool to set up KPI targets and control their fulfillment by periods. KPI dashboards. Dashboard designer. KPI charts

198€ 178€
MCP Server. AI Chats and LLM Odoo Integration

The tool to manage your Odoo from your favorite AI chats through MCP. Claude. Any MCP-supporting AI.

198€
Universal Appointments and Time Reservations

The tool for time-based service management from booking appointments to sales and reviews

398€ 358€
OneDrive / SharePoint Odoo Integration

The tool to automatically synchronize Odoo attachments with OneDrive files in both ways

487€
Google Drive Odoo Integration

The tool to automatically synchronize Odoo attachments with Google Drive files in both ways

487€
ownCloud / Nextcloud Odoo Integration

The tool to automatically synchronize Odoo attachments with ownCloud/Nextcloud files in both ways

487€
Dropbox Odoo Integration

The tool to automatically synchronize Odoo attachments with DropBox files in both ways

487€