$ 448.33
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Community Apps Dependencies | Show |
| Lines of code | 6262 |
| Technical Name |
attachment_storage_manager_sftp |
| License | OPL-1 |
| Website | https://spre.es/shop/attachment-storage-manager-71 |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Community Apps Dependencies | Show |
| Lines of code | 6262 |
| Technical Name |
attachment_storage_manager_sftp |
| License | OPL-1 |
| Website | https://spre.es/shop/attachment-storage-manager-71 |
| Versions | 17.0 18.0 19.0 |
SFTP connector for Attachment Control
Attachment Control - SFTP
Add SFTP as a storage backend for Attachment Control so routing, audit, move, storage archive and restore workflows can work with SSH/SFTP servers through credential-based access.
SFTP
Routing, Move, Storage, Restore
Optional Connector Add-on
Availability: Odoo Online: not recommended | Odoo.sh: supported when the dependency and network access are available | On Premise: supported
Support: info@spre.es
What this connector adds
- SFTP provider in Storage Credentials: create credentials for SSH/SFTP servers.
- Credential-based backend usage: the core module can use SFTP in routing, move, storage archive and restore flows.
- Generic backend operations: read, write, delete, list and connection test through the common backend API.
- Provider isolation: SFTP-specific logic stays outside the core module.
Opt-in only: installing this connector does not send data to an SFTP server by itself. External communication only starts after the user creates and validates an SFTP credential and explicitly selects it in the corresponding configuration or workflow.
Data sent only after opt-in: attachment binary content, remote path, and the technical metadata needed by the selected workflow, such as filename, mimetype, file size or checksum when available.
No data is sent to the developer. Data is sent only to the SFTP service explicitly configured by the user.
No data is sent to the developer. Data is sent only to the SFTP service explicitly configured by the user.
Compatibility
- On-premise: supported.
- Odoo.sh: supported if the Python dependency is available in the build/runtime and the SSH/SFTP endpoint is reachable.
- Odoo Online: not supported for this connector because custom Python dependencies are not available and external SSH configuration is outside normal Odoo Online constraints.
Why a separate add-on? The core module remains provider-agnostic and only this connector knows how to communicate with SFTP servers through Paramiko.
Requirements
- Install the core module Attachment Control.
- Install the Python dependency
paramikoin the same Python environment used by Odoo. - Install this connector module
attachment_storage_manager_sftp. - Restart Odoo.
Access by SSH key
How it works: the private key stays on the Odoo server, and the matching public key must already be authorized on the remote SFTP server for the target user.
1. Generate or choose a private key on the Odoo server.
2. Install the matching public key in
authorized_keys of the remote SFTP user.3. In Odoo, set the remote username and point
key_filename to the private key path through Extra Parameters (JSON).
Important: this module does not install the public key on the remote server for you. The first authorization of the public key must be done outside Odoo by the server administrator or by an already authorized access method.
Public key format: some SFTP servers expect the authorized public key in a format different from the default OpenSSH
.pub file. If the server does not accept the key as pasted, check the server documentation and convert the public key if required.
ssh-keygen -e -f /path/to/key.pub -m RFC4716
Credential fields
Endpoint URL: required SFTP endpoint. It should point to the SSH/SFTP server host and optional port.
Container / Bucket: optional top-level folder under the SFTP account.
Path Prefix: optional folder prefix used inside the remote location.
Username: remote SSH/SFTP username.
Password: optional password if the server still allows password authentication.
Extra Parameters (JSON): advanced options such as
key_filename, look_for_keys, allow_agent or auto_add_host_key. Example:{
"key_filename": "/home/<user>/.ssh/id_rsa_<user>",
"look_for_keys": false,
"allow_agent": false,
"auto_add_host_key": true
}
Important: SFTP is not the same as FTPS. This connector is for SSH/SFTP servers, not FTP over TLS.
How it is used
1. Create an SFTP credential in Storage Credentials.
2. Configure the remote username and the SSH key settings, or a password if your server allows it.
3. Validate the credential from Odoo.
4. Select that credential in the corresponding routing or storage configuration of the core module.
5. Use audit and move workflows to place attachments on SFTP.
6. Use storage and restore workflows from the core module as usual; this connector only provides the backend integration.
Operational notes
- The remote SFTP path must already exist and be writable before running move, storage or restore operations.
- Always test the credential before enabling production use.
- If host key verification fails, add the server to
known_hostsor useauto_add_host_keyonly for tests. - For long-running jobs, configure
limit_time_real_cron = 3600inodoo.conf.
Operational safety
Important: we recommend carrying out all tests beforehand in a test database and making a complete backup before any intervention. We do not assume responsibility for possible incidents, misuse or data loss that may occur during its use.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module