Adjuntos y OCR
aidoo_attach: hacer entrar un documento en Odoo mediante un enlace de envío de un solo uso, y disparar la digitalización de una factura de proveedor.
6 min de lecturaActualizado el 7 de agosto de 2026
Adjuntar un archivo a un registro de Odoo desde una conversación plantea un problema: un PDF de dos páginas convertido a base64 son cientos de miles de caracteres. Hacerlo pasar por una llamada de herramienta saturaría la conversación.
Aidoo lo resuelve de otro modo: el archivo nunca pasa por la IA. El asistente genera un enlace de envío, tú depositas el documento y Aidoo lo entrega a Odoo.
aidoo_attach
Una sola herramienta, dos acciones.
| Parámetro | Función |
|---|---|
action | request_upload para crear el enlace, status para recoger el resultado |
files | Las ranuras declaradas: una etiqueta, y obligatoria o no |
model + res_id | El registro de Odoo al que adjuntar los archivos |
purpose | invoice para disparar la digitalización de una factura de proveedor |
journal_id | El diario de compras deseado, si tienes varios |
upload_id | El identificador de envío, para la acción status |
model + res_id y purpose="invoice" se excluyen entre sí: o adjuntas a un registro existente, o creas una factura a partir del documento.
El principio
El asistente pide un enlace
Llama a aidoo_attach con action="request_upload" y declara los archivos esperados: una etiqueta por ranura, y si es obligatoria o no. Hasta diez ranuras.
Recibes una URL
El asistente te pasa el enlace. Es de un solo uso y válido durante 30 minutos.
Depositas tus archivos
La página muestra las ranuras con las etiquetas definidas por el asistente: «Factura de proveedor marzo 2026», «Contrato firmado». Arrastras tus archivos y validas.

El asistente recoge el resultado
Llama a aidoo_attach con action="status" y el identificador de envío. Obtiene pending, completed o error, y en caso de éxito los identificadores de los adjuntos creados en Odoo.
Adjuntar a un registro existente
Tengo el contrato firmado de Ejemplo SA para poner en su ficha de cliente.
El asistente localiza la ficha, genera un enlace que apunta a ese registro concreto y te lo entrega. Tras tu envío, el archivo aparece en los adjuntos de la ficha en Odoo.
Puedes pedir varias ranuras a la vez, algunas de ellas opcionales:
Tengo que adjuntar el contrato firmado y, si lo encuentro, el anexo técnico, en la ficha del cliente Ejemplo SA.
Digitalizar una factura de proveedor
El segundo uso, y el más útil en el día a día. Con purpose="invoice", Aidoo no se limita a adjuntar el archivo: lo entrega al motor de digitalización de facturas de Odoo, que extrae proveedor, fechas, importes y líneas, y crea una factura de proveedor en borrador.
Tengo tres facturas de proveedor que registrar, ¿puedes digitalizármelas?
El asistente genera un enlace con tres ranuras. Depositas tus PDF o fotos y Odoo crea tres borradores de factura.
El diario utilizado
Por defecto, el primer diario de compras de tu empresa. Si tienes varios (por entidad, por tipo de gasto), indícalo: «en el diario de compras Gastos generales».
La digitalización es una ayuda a la introducción de datos
El OCR de Odoo se equivoca: un importe mal leído, un proveedor no reconocido, un IVA aproximado. Las facturas se crean en borrador precisamente para que las revises. No valides nunca en masa sin control.
Esta funcionalidad depende del módulo de digitalización de Odoo. Si no está instalado o activado en tu instancia, la llamada falla con un error explícito.
Lo que se acepta
| Restricción | Valor |
|---|---|
| Tamaño máximo por archivo | 20 MB |
| Ranuras por enlace | 10 |
| Validez del enlace | 30 minutos |
| Número de usos | 1 |
Los tipos de archivo se controlan por su contenido real, no por su extensión: renombrar un ejecutable como .pdf no engaña al filtro. Se aceptan once extensiones: pdf, png, jpg, jpeg, webp, xlsx, docx, xls, doc, csv y txt.
Seguridad del enlace
Un enlace, un envío
El token se consume de forma atómica en el primer envío correcto. Aunque el enlace se filtre después, ya no sirve de nada. Pasados 30 minutos sin usarse, caduca solo.
El enlace no da acceso a nada más: no permite leer tus datos, solo depositar los archivos declarados, hacia el destino fijado al crearlo. Un enlace generado para la ficha de cliente 42 no puede usarse para escribir en otro sitio.
La página de envío está protegida frente a intentos repetidos, y los archivos nunca se escriben en el disco de Aidoo: pasan por memoria camino de Odoo.
Permiso necesario
aidoo_attach exige el permiso attach, desactivado por defecto. Se activa en Claves API.
No disponible para los agentes
Los agentes autónomos no pueden usar aidoo_attach. La herramienta presupone una persona que recibe un enlace y deposita un archivo: sin interlocutor, no tiene sentido. Es una prohibición absoluta del motor de reglas, no un ajuste.
Diagnóstico
El enlace ha caducado
Pasados 30 minutos hay que pedir otro. Dile simplemente al asistente que el enlace ha caducado.
«Archivo rechazado»
El contenido no corresponde a un tipo autorizado, o supera los 20 MB. Para un escaneo voluminoso, reduce la resolución: 300 ppp bastan de sobra para el OCR.
El estado se queda en «pending»
El envío no se ha completado. Recarga la página de envío y comprueba que ninguna ranura obligatoria haya quedado vacía.
La factura se crea pero sale vacía
El OCR no ha reconocido nada. Ocurre con fotos borrosas, escaneos muy inclinados y facturas manuscritas. El archivo queda adjunto al borrador: puedes introducir los datos a mano teniéndolo delante.
Siguiente paso
- Hints y aprendizaje: enseñar tus convenciones al asistente
- Seguridad y permisos: decidir quién puede subir archivos