Attachment Control for Odoo - SFTP Connector

https://spre.es/web/image/product.template/77/image_1920?unique=07c6b40

39.00 € 39.0 EUR 39.00 € VAT Excluded

Not Available For Sale

  • Version

This combination does not exist.

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.

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

  1. Install the core module Attachment Control.
  2. Install the Python dependency paramiko in the same Python environment used by Odoo.
  3. Install this connector module attachment_storage_manager_sftp.
  4. 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_hosts or use auto_add_host_key only for tests.
  • For long-running jobs, configure limit_time_real_cron = 3600 in odoo.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.
Conector SFTP para Attachment Control

Attachment Control - SFTP

Añade SFTP como backend de almacenamiento para Attachment Control para que los flujos de routing, audit, move, storage archive y restore puedan trabajar con servidores SSH/SFTP mediante acceso basado en credenciales.

SFTP Routing, Move, Storage, Restore Conector opcional
Disponibilidad: Odoo Online: no soportado | Odoo.sh: soportado cuando la dependencia y el acceso de red están disponibles | On Premise: soportado
Soporte: info@spre.es

Qué añade este conector

  • Proveedor SFTP en Storage Credentials: crea credenciales para servidores SSH/SFTP.
  • Uso de backend basado en credenciales: el módulo core puede usar SFTP en los flujos de routing, move, storage archive y restore.
  • Operaciones backend genéricas: lectura, escritura, borrado, listado y prueba de conexión mediante la API backend común.
  • Aislamiento del proveedor: la lógica específica de SFTP permanece fuera del módulo core.
Solo mediante opt-in: instalar este conector no envía datos a un servidor SFTP por sí mismo. La comunicación externa solo empieza después de que el usuario cree y valide una credencial SFTP y la seleccione explícitamente en la configuración o flujo correspondiente.
Los datos solo se envían tras el opt-in: contenido binario del adjunto, ruta remota y los metadatos técnicos necesarios para el flujo seleccionado, como nombre de archivo, mimetype, tamaño del archivo o checksum cuando esté disponible.
No se envía ningún dato al desarrollador. Los datos se envían únicamente al servicio SFTP configurado explícitamente por el usuario.

Compatibilidad

  • On-premise: soportado.
  • Odoo.sh: soportado si la dependencia Python está disponible en el build/runtime y el endpoint SSH/SFTP es alcanzable.
  • Odoo Online: no soportado para este conector porque las dependencias Python personalizadas no están disponibles y la configuración SSH externa queda fuera de las restricciones normales de Odoo Online.
¿Por qué es un add-on separado? El módulo core sigue siendo agnóstico respecto al proveedor y solo este conector sabe comunicarse con servidores SFTP mediante Paramiko.

Requisitos

  1. Instala el módulo core Attachment Control.
  2. Instala la dependencia Python paramiko en el mismo entorno Python usado por Odoo.
  3. Instala este módulo conector attachment_storage_manager_sftp.
  4. Reinicia Odoo.

Acceso mediante clave SSH

Cómo funciona: la clave privada permanece en el servidor Odoo y la clave pública correspondiente ya debe estar autorizada en el servidor SFTP remoto para el usuario destino.
1. Genera o elige una clave privada en el servidor Odoo.
2. Instala la clave pública correspondiente en authorized_keys del usuario SFTP remoto.
3. En Odoo, configura el usuario remoto y apunta key_filename a la ruta de la clave privada mediante Extra Parameters (JSON).
Importante: este módulo no instala la clave pública en el servidor remoto por ti. La primera autorización de la clave pública debe hacerse fuera de Odoo por el administrador del servidor o mediante un método de acceso ya autorizado.
Formato de la clave pública: algunos servidores SFTP esperan la clave pública autorizada en un formato distinto del archivo OpenSSH .pub por defecto. Si el servidor no acepta la clave pegada tal cual, revisa la documentación del servidor y convierte la clave pública si es necesario.
ssh-keygen -e -f /path/to/key.pub -m RFC4716

Campos de la credencial

Endpoint URL: endpoint SFTP obligatorio. Debe apuntar al host del servidor SSH/SFTP y puerto opcional.
Container / Bucket: carpeta de nivel superior opcional dentro de la cuenta SFTP.
Path Prefix: prefijo de carpeta opcional usado dentro de la ubicación remota.
Username: usuario SSH/SFTP remoto.
Password: contraseña opcional si el servidor todavía permite autenticación por contraseña.
Extra Parameters (JSON): opciones avanzadas como key_filename, look_for_keys, allow_agent o auto_add_host_key. Ejemplo:
{
  "key_filename": "/home/<user>/.ssh/id_rsa_<user>",
  "look_for_keys": false,
  "allow_agent": false,
  "auto_add_host_key": true
}
Importante: SFTP no es lo mismo que FTPS. Este conector es para servidores SSH/SFTP, no para FTP sobre TLS.

Cómo se utiliza

1. Crea una credencial SFTP en Storage Credentials.
2. Configura el usuario remoto y los ajustes de clave SSH, o una contraseña si tu servidor la permite.
3. Valida la credencial desde Odoo.
4. Selecciona esa credencial en la configuración de routing o storage correspondiente del módulo core.
5. Usa los flujos de audit y move para colocar adjuntos en SFTP.
6. Usa los flujos de storage y restore del módulo core como de costumbre; este conector solo aporta la integración backend.

Notas operativas

  • La ruta SFTP remota debe existir previamente y ser escribible antes de ejecutar moves, storages o restores.
  • Prueba siempre la credencial antes de habilitar su uso en producción.
  • Si falla la verificación de host key, añade el servidor a known_hosts o usa auto_add_host_key solo para pruebas.
  • Para jobs de larga duración, configura limit_time_real_cron = 3600 en odoo.conf.

Seguridad operativa

Importante: recomendamos realizar todas las pruebas previamente en una base de test y hacer una copia de seguridad completa antes de cualquier intervención. No asumimos responsabilidad por posibles incidencias, mal uso o pérdida de datos que puedan producirse durante su utilización.