Ir al contenido

Odoo y Claude: Extraer Datos de PDFs para Crear Purchase Orders

Convertir presupuestos y facturas de proveedores en líneas de pedido provisional, incorporando controles de validación
24 de junio de 2026 por
Katiah Technologies
| Sin comentarios aún

Odoo y Claude: convertir datos de PDFs en órdenes de compra

La extracción de PDFs con Claude en Odoo evita que los compradores vuelvan a teclear cuando tablas de proveedores pasan a líneas borrador de purchase.order enlazadas con product.supplierinfo.

Esta guía explica el proceso manual actual, el flujo de ida y vuelta entre Odoo y Claude, y propone un escenario concreto con entradas y salidas listo para entregar a tu integrador.

Nos centramos en automatizar pedidos de compra mediante IA y en la extracción de datos de documentos con Claude como LLM. Aunque se mencionen comparativas con GPT‑4, las pautas presuponen salidas estructuradas de Anthropic.

Cada paso indica modelos y campos de Odoo para que tu equipo estime el esfuerzo sin recurrir a vaguedades técnicas.

Resultados secundarios como el procesado automático de PDFs de proveedor surgen de forma natural una vez estabilizado el bucle principal.

Dasolo despliega estos patrones con Claude de Anthropic en middleware alojado en la UE, pero los nombres de campo y triggers de Odoo aplican independientemente de la región.

Verás la mención a la extracción de PDFs con Claude en secciones prácticas y de flujo para que SEO y claridad operativa vayan de la mano.

Trata a Claude como un trabajador estructurado que devuelve JSON que valida tu middleware, no como una ventana de chat que hay que supervisar campo a campo.

En esta página

Cómo se hace hoy, a mano


Los compradores reciben cotizaciones en PDF por correo, abren purchase.requisition y reescriben cada línea, cometiendo a menudo errores en precios unitarios respecto a la oferta del proveedor.

Semanas después falla la conciliación porque las descripciones de purchase.order y las del vendor bill en account.move difieren en matices.

El procesamiento manual de PDFs consume el tiempo de compradores senior que podrían dedicarlo a negociar con proveedores.

Tablas multipágina con celdas combinadas rompen el copiado a Excel; asistentes trabajan por turnos y aumenta el riesgo de duplicados.

La extracción debe conservar el número de referencia del proveedor y la divisa por línea para auditoría, no limitarse a totales aproximados.

Los asistentes renombraban archivos PDF de forma inconsistente y los compradores buscan en el mailbox en vez de en Documents vinculados a la requisición.

Cotizaciones en USD cuando la contabilidad es en EUR obligan a búsquedas manuales de tipo de cambio el día de la confirmación.

Liberaciones sobre POs marco necesitan referencias de línea que los compradores copian mal desde tablas en páginas posteriores.

Inspecciones de calidad requieren campos de lotes que los compradores olvidan cuando teclean con prisa antes del cierre del proveedor.

Almacena el hash del PDF del proveedor en purchase.order para evitar crear POs duplicadas si el comprador vuelve a subir la misma cotización.

Antes de financiar middleware, los responsables piden ROI. Mide minutos ahorrados por tipo de registro durante dos semanas en una columna junto a la vista de lista de Odoo.

Operaciones teme que la IA eluda cadenas de aprobación. Documenta qué campos son solo borradores en tu mapa de datos antes del primer webhook de producción.

Las presentaciones de formación siguen describiendo el flujo manual seis meses después del go‑live porque nadie actualizó la wiki interna tras introducir borradores generados por Claude.

Seguridad IT pregunta si los correos salen de la UE. Entrega un diagrama de arquitectura con la configuración regional de Anthropic y reglas de redacción antes de aprobar el piloto.

Flujo de datos: Odoo → Claude → Odoo


Trigger: ir.attachment create en purchase.requisition cuando mimetype es application/pdf y x_vendor_quote es True.

Lectura Odoo: bytes del PDF desde attachment.datas, product.supplierinfo existente para partner_id del proveedor, plantillas de lineas de purchase.requisition y UoM por defecto de la compañía.

Tarea de Claude: extraer cabecera vendor_ref, currency, incoterm y un array de líneas con vendor_sku, description, qty, uom_text, unit_price y line confidence.

Escritura: crea purchase.order en borrador con comandos de order_line; marca líneas de baja confianza con x_ai_review opcional y color.

Revisión humana: el comprador valida totales dentro de una tolerancia, confirma el mapeo de product_id y aprueba el PO.

La IA documental no debe nunca confirmar POs que comprometan gasto sin chequear la firma y la autoridad correspondientes.

La extracción de texto del PDF se realiza localmente; solo se envían a Claude fragmentos textuales estructurados, no el binario, reduciendo latencia en escaneos grandes.

El partner_id del proveedor debe coincidir con vendor_id de la requisición o el middleware detiene el flujo y crea una actividad para el equipo de master data.

La tolerancia de precio unitario compara el precio extraído con product.supplierinfo dentro de un porcentaje antes de autoaceptar.

Los impuestos se mapean mediante búsqueda difusa en account.tax según la etiqueta extraída y la normativa fiscal de la compañía.

La prevención de POs duplicadas verifica vendor_ref y un hash del importe total para la misma requisición en un plazo de siete días.

Para cotizaciones multimoneda, pasa la fecha del tipo de cambio (res.currency rate date) para que los totales cuadren dentro de la tolerancia configurada.

El middleware usa workers en cola con backoff exponencial cuando Anthropic responde 529 por sobrecarga, evitando que los webhooks de Odoo bloqueen guardados de usuario.

La validación de salida estructurada emplea pydantic o jsonschema; los JSON inválidos se envían a discuss.channel con el texto bruto para inspección del desarrollador.

Las plantillas de prompt versionan como v1, v2 en git; producción lee la versión activa desde variable de entorno para despliegues controlados.

El log de auditoría de Odoo al escribir captura uid del usuario API para que cumplimiento pueda responder quién autorizó cambios hechos por IA en revisiones trimestrales.

El entorno de staging reproduce cargas anonimizadas de producción semanalmente para probar cambios de prompt antes de promoverlos sin tocar datos reales.

Flags por company_id en bases multiempresa permiten pilotar en una entidad mientras otras mantienen el proceso manual.

Ejemplo práctico paso a paso


Escenario: cotización de embalaje con escalas de cantidad

El PDF muestra tres tramos de precio por cantidad. Claude selecciona el tramo que coincide con la cantidad de la requisición, mapea product_id desde supplierinfo con el código del proveedor y genera el PO con el precio correcto.

El comprador ajusta la línea de transporte manualmente, confirma, y el proveedor recibe un PO que recoge el número de referencia del PDF en partner_ref.

Un PDF escaneado con ruido OCR en la columna de cantidades marca la línea tres para revisión, mientras nueve líneas se mapean automáticamente sin intervención.

El comprador separa el flete en una línea distinta usando el producto estándar Freight In después de que Claude extraiga el importe de cabecera de flete.

El hilo de confirmación del proveedor se adjunta al chatter del PO con enlace al hash del PDF fuente para auditoría.

Documenta la latencia esperada desde el trigger al borrador. Equipos comunes buscan <90 segundos en workflows de email/transcripción y <5 minutos en extracción de PDFs.

Ejecuta modo sombra paralelo dos semanas: Claude escribe en campos de prueba mientras humanos trabajan como siempre; luego compara calidad antes del corte final.

Caso borde: múltiples POs en un único PDF

Una cotización incluye envíos opcionales a distintas sucursales. Claude devuelve branch_code por línea; el middleware divide en dos borradores de purchase.order por cuenta analítica.

El comprador revisa dos borradores vinculados a la misma requisición en lugar de separar líneas manualmente en Excel.

Checklist UAT: trigger en registro de prueba, verificar log JSON, confirmar campos del borrador, aprobar escritura, comprobar entrada de auditoría en chatter y revertir datos de prueba.

Criterios de go‑live: 90% de satisfacción de agentes o reps en las primeras diez ejecuciones y <5% de fallos de validación JSON.

Beneficios principales


  • Ahorro de tiempo: reps y agentes revisan borradores IA en vez de teclear campos de Odoo cada hora.
  • Consistencia: la extracción aplica las mismas reglas de clasificación y formato en turnos y ubicaciones.
  • Velocidad: el tiempo desde ingestión a la primera acción cae porque los triggers funcionan al crear el adjunto y no en procesos batch a fin de día.
  • Escalabilidad: añade el siguiente workflow clonando esquema de prompt y webhook, sin rehacer la infraestructura.
  • Auditabilidad: cada llamada a Claude registra entradas, salidas y sobrescrituras humanas en el registro de negocio.
  • Gobernanza: la aprobación humana en escrituras financieras y de cara al cliente mantiene el cumplimiento bajo control.
  • Onboarding: los nuevos siguen borradores generados por IA como plantilla y aprenden más rápido que leyendo SOPs obsoletos en PDF.
  • Integración: el mismo middleware sirve futuros workflows sin contratos adicionales con proveedores salvo el uso de la API de Anthropic.

Consideraciones de implantación


Calidad de datos: nombres de proveedor pobres, referencias internas faltantes y descripciones vacías en helpdesk dan lugar a salidas IA débiles. Limpia master data primero.

Revisión humana: empieza con escrituras en modo borrador durante cuatro semanas. Mide la tasa de overrides antes de ampliar autoaplicación en campos de bajo riesgo.

API y coste: procesa por lotes nocturnos scoring e informes. Reserva llamadas en tiempo real de Claude para triggers de alto valor. Cachea fragmentos del catálogo donde los prompts se repiten.

Seguridad: almacena claves de Anthropic en los secretos del middleware, no en JavaScript de Odoo. Aplica el principio de menor privilegio a usuarios por workflow.

Gestión del cambio: muestra a los reps el tiempo ahorrado en un workflow de extracción con Claude antes de anunciar diez más.

Detecta PDFs protegidos por contraseña y enruta a cola manual con un error claro.

Límita páginas a 30 por ejecución; divide catálogos de cientos de páginas en un proyecto de importación de catálogo.

Por qué Dasolo es tu socio en IA


Dasolo crea agentes IA e integra Claude con Odoo a diario para operadores en Benelux y UE que necesitan reglas de registro, logging compatible GDPR y formación en francés o neerlandés.

Implementamos la extracción de PDFs con Claude con rutas de rollback, versionado de prompts y observabilidad que tu equipo IT puede auditar sin abrir notebooks de data science.

Nuestro equipo conecta Helpdesk, Sales, Purchase y Documents al mismo patrón de middleware para que no mantengas once scripts distintos.

Documentamos versiones de prompt, fixtures de prueba y pasos de rollback en tu repo para que IT interno no dependa de conocimiento tribal.

Empieces por extracción de PDFs o por otro workflow de nuestro catálogo, el playbook de integración es el mismo.

Reserva tu auditoría de IA con Dasolo


Reserva tu auditoría de IA con Dasolo para priorizar qué workflow de extracción con Claude debe salir primero en tu base de datos y qué limpieza de datos lo desbloquea.

Programa tu auditoría de IA

Conclusión


La extracción con Claude funciona cuando está insertada en un bucle gobernado en Odoo con puertas humanas, no como una ventana de chat paralela.

Elige un trigger este sprint, mide tiempo de ciclo y tasa de override durante 30 días, y clona el patrón al siguiente caso de automatización de pedidos.

Programa tu auditoría de IA

Lanza un workflow, mide overrides y tiempo de ciclo, y luego amplía la extracción con Claude a triggers adyacentes sobre el mismo modelo Odoo.

Tu integrador debe entregar un paquete JSON con fixtures de prueba para que las pruebas de regresión se ejecuten en cada cambio de prompt o versión de modelo.

Katiah Technologies 24 de junio de 2026
Compartir esta publicación
Iniciar sesión para dejar un comentario