Ir al contenido

Procesar facturas con IA propia, modelos de lenguaje o servicios Odoo

Un experimento de Tesselia Labs con 100 facturas en PDF y JPEG

Una factura parece un documento ordenado: proveedor, número, fecha, base, impuestos, total y líneas. En la práctica esos datos aparecen en sitios distintos, dentro de un PDF nativo o de una foto hecha con el móvil.

En Tesselia Labs hemos tratado 100 facturas reales en PDF y JPEG. Comparamos una IA propia (OCR y un modelo de visión), Odoo Extract API y un modelo de lenguaje comercial: qué hace cada una, cuánto tarda, cuánto cuesta y qué controles necesita.

Cómo leemos cada factura

El documento pasa por varias etapas. Un PDF nativo se lee como texto y tablas; una imagen pasa por OCR. Después analizamos la extracción. Si los datos son ambiguos o incompletos, entra el modelo de visión. El resultado sale estructurado.

flowchart LR
    A([PDF / imagen]) --> B[PDF: texto y tablas]
    A --> C[Imagen: OCR]
    B --> D[Análisis]
    C --> D
    D -->|completo| F([Resultado])
    D -->|ambiguo o incompleto| E[VLM]
    E --> F
    classDef start fill:#38bdf8,stroke:#7dd3fc,color:#0b1220,stroke-width:2px
    classDef step fill:#1e293b,stroke:#64748b,color:#e2e8f0,stroke-width:1.5px
    classDef vlm fill:#7c3aed,stroke:#c4b5fd,color:#ffffff,stroke-width:2px
    classDef finish fill:#ff2e7a,stroke:#fb7185,color:#ffffff,stroke-width:2px
    class A start
    class B,C,D step
    class E vlm
    class F finish

En la validación comprobamos:

  • que el NIF tenga un formato válido;
  • que la fecha se pueda interpretar;
  • que subtotal más impuestos coincida con el total;
  • que estén los campos imprescindibles;
  • que el valor extraído esté anclado en el documento.

Resultados operativos

Solución Tiempo medio por documento Coste estimado por documento
IA propia (OCR, VLM) 17,7 s Infraestructura propia
Odoo Extract API 2,3 s ≈ 0,12 €
IA comercial 16,0 s ≈ 0,04 €

La IA propia corre sobre servidores propios. El coste de la IA comercial es una estimación a partir del uso de tokens. Los tiempos van de extremo a extremo: desde que entra el archivo hasta que sale un JSON.

En esta muestra, Odoo Extract fue la opción más rápida. La IA propia y la comercial se mueven alrededor de los 16–18 segundos.

La IA propia da control sobre datos y reglas. Encaja con volumen, privacidad o formatos estables: el OCR resuelve muchos documentos y el modelo de visión entra cuando hace falta.

Odoo Extract API encaja en el flujo contable de Odoo. Su uso depende de créditos, coste por documento y límites del servicio.

La IA comercial interpreta documentos variables y produce una salida estructurada. El coste depende de páginas, tokens y modelo. Puede extraer ella sola o completar lo que el OCR deja a medias.

La calidad de los modelos varía

El rendimiento cambia con las facturas de cada empresa. Unos reciben PDFs digitales de pocos proveedores; otros, fotos, tickets, varias monedas o facturas con decenas de líneas.

Cada proceso da más peso a unos campos. A veces bastan proveedor, fecha y total. En otros, un error en el número, el IVA o una línea invalida la automatización. Extraer un campo y extraerlo bien son cosas distintas: un valor plausible puede estar en el sitio equivocado.

En nuestra prueba, el grado de extracción se movió entre el 55 % y el 92 %, según el método. Ese intervalo describe esta muestra.

Conclusiones

  1. Se puede automatizar una parte amplia del trabajo. Las tres aproximaciones convierten facturas heterogéneas en datos utilizables.
  2. Aunque se automatice, se siguen detectando casos complejos. Esos casos requieren revisión humana.
  3. La solución adecuada depende del caso de uso y de los documentos a procesar.
Clasificar para entender: cómo la IA organiza textos, imágenes y datos desestructurados
Un experimento de Tesselia Labs con 5 millones de vídeos y 100.000 canales de YouTube