RAG & Documentos
¿Puede una IA gratuita en tu ordenador leer tus facturas? 4 modelos locales frente a reglas, medidos con NIF, IVA e IRPF
Qwen3 4B leyó bien 26 de 27 facturas españolas en local, a 3,0 s cada una. Las reglas fallaron todas las de un formato nuevo y Gemma 3 4B quitó la letra del NIF en 8.
- Fecha
- 8 nov 2026
- Lectura
- 8 min
- Resultado
- Qwen3 4B: 96,3 % de facturas perfectas • reglas: 0 % con un formato nuevo • 3,0 s por factura en un portátil • 3 comprobaciones automáticas avisan del 100 % de los errores de Llama 3.2 y Qwen3 1.7B
Un modelo de IA gratuito que corre en un portátil leyó bien los 9 datos de 26 de 27 facturas españolas (96,3 %), a 3,0 segundos por factura y sin enviar nada a internet: Qwen3 4B. Los otros tres modelos pequeños probados se quedaron entre el 51,9 % y el 74,1 % de facturas perfectas. Las reglas fijas leyeron sin un fallo las facturas de los formatos para los que se escribieron y ninguna (0 %) del formato que no conocían. Medido el 8 de noviembre de 2026 en un portátil Apple M1 Max.
«¿Puedo usar IA para pasar las facturas de proveedores a la contabilidad sin pagar una herramienta y sin subirlas a la nube?» es una de las preguntas que más se repiten entre gestorías y pymes. Las respuestas que circulan son anécdotas («a mí me funciona con un modelo de 7B») o cifras de proveedores que venden su propio servicio. No encontramos una medida con facturas españolas, NIF, IVA y retención de IRPF, ni con código publicado. Aquí está.
Definiciones
- Extraer datos de una factura: sacar del PDF los campos que hay que meter en la contabilidad. Aquí, nueve: número, fecha, NIF del proveedor, NIF del cliente, base imponible, tipo de IVA, cuota de IVA, retención de IRPF y total.
- Modelo local: un modelo de IA que se descarga una vez y funciona en tu ordenador, sin cuenta, sin pagar por uso y sin que la factura salga de la empresa. Los cuatro probados usaron entre 1,8 y 3,5 GB de memoria.
- Reglas: instrucciones fijas del tipo «el total es el número que va después de TOTAL FACTURA». Es el método clásico de las plantillas por proveedor.
- Factura perfecta: los nueve datos bien. Un NIF sin su letra o un total con un dígito cambiado ya no es perfecta.
- Comprobaciones automáticas: tres verificaciones que puede hacer cualquier programa sin IA: que base + IVA − IRPF = total y IVA = base × tipo, que la letra o el dígito de control de cada NIF es correcto, y que el NIF del proveedor no es el mismo que el del cliente.
Hipótesis
- Un modelo local pequeño (de 1.700 a 4.000 millones de parámetros) lee bien al menos 9 de cada 10 facturas.
- Las reglas son perfectas con los formatos que conocen y fallan con uno nuevo.
- Las comprobaciones automáticas detectan los errores de la IA antes de que lleguen a la contabilidad.
Montaje
- Facturas: 27 PDF generados por programa, en tres formatos de 9 facturas. El A es la factura clásica («Nº de factura», «Base imponible», «TOTAL FACTURA»); el B usa etiquetas abreviadas («Subtotal», «I.V.A. (21%)», «Retención I.R.P.F.», «TOTAL A PAGAR»); el C pone al cliente antes que al proveedor y usa otras etiquetas («Importe neto», «Serie y número», «Emitida el»). El C hace de factura de un proveedor nuevo.
- Trampas reales: fecha de vencimiento y número de pedido junto a la fecha y el número de factura; NIF seguidos, con guion o con puntos; fechas en cuatro formatos («09/05/2026», «7 de noviembre de 2026»…); importes con «€» delante o detrás, con «EUR» y con o sin puntos de miles; IVA del 21, 10 y 4 %; y 13 facturas de autónomos con retención de IRPF del 15 %, repartidas entre los tres formatos, en las que el total no es base + IVA.
- Datos inventados: nombres y direcciones de la librería Faker; NIF y CIF aleatorios con letra o dígito de control válidos. Ninguna persona ni empresa real.
- Lectura: el texto de cada PDF se saca con PyMuPDF y es el mismo para todos. Las reglas se escribieron mirando solo los formatos A y B. Los cuatro modelos reciben la misma instrucción y responden en JSON:
- Qwen3 4B Instruct 2507 (Alibaba, Apache 2.0)
- Gemma 3 4B (Google)
- Llama 3.2 3B (Meta)
- Qwen3 1.7B (Alibaba, Apache 2.0, sin modo de razonamiento)
- Cómo se ejecutan: cuantizados a 4 bits con MLX, la librería de Apple para su chip, con temperatura 0 (siempre la respuesta más probable). Cinco pasadas completas por las 27 facturas, una factura cada vez.
- Equipo: portátil Apple M1 Max con 64 GB, macOS 26.6.2, conectado a la corriente.
Resultados
Qué facturas lee bien cada opción
| Opción | Facturas perfectas | Datos correctos | Formato A | Formato B | Formato C (nuevo) | Segundos por factura |
|---|---|---|---|---|---|---|
| Reglas | 66,7 % | 69,5 % | 9 de 9 | 9 de 9 | 0 de 9 | 0,04 ms |
| Qwen3 4B Instruct 2507 | 96,3 % | 99,2 % | 8 de 9 | 9 de 9 | 9 de 9 | 3,0 s |
| Qwen3 1.7B | 74,1 % | 96,7 % | 9 de 9 | 8 de 9 | 3 de 9 | 1,4 s |
| Gemma 3 4B | 55,6 % | 92,2 % | 4 de 9 | 5 de 9 | 6 de 9 | 3,2 s |
| Llama 3.2 3B | 51,9 % | 91,8 % | 5 de 9 | 5 de 9 | 4 de 9 | 1,8 s |
Las respuestas fueron idénticas en las cinco pasadas para todas las opciones, y los cuatro modelos devolvieron siempre un JSON válido. El tiempo apenas varió: Qwen3 4B tardó entre 81,0 y 82,2 s en leer las 27 facturas en cada pasada.
Qué falla cada uno
| Opción | Facturas con error | Con algún importe mal | NIF sin su letra | NIF de proveedor y cliente cambiados | Errores que pasan las 3 comprobaciones |
|---|---|---|---|---|---|
| Reglas | 9 | 9 | 0 | 0 | 0 |
| Qwen3 4B Instruct 2507 | 1 | 0 | 0 | 1 | 1 |
| Qwen3 1.7B | 7 | 2 | 0 | 0 | 0 |
| Gemma 3 4B | 12 | 0 | 8 | 2 | 2 |
| Llama 3.2 3B | 13 | 9 | 2 | 0 | 0 |
- Las reglas no se equivocan: se quedan en blanco. Con el formato C no encontraron ni el total ni la fecha y confundieron proveedor y cliente. Como los importes quedan vacíos, las comprobaciones lo detectan siempre.
- Gemma 3 4B lee bien todos los importes y fechas, pero no los NIF. En 8 facturas devolvió el NIF de una persona sin la letra final (solo con los 8 números). Solo acertó el 59,3 % de los NIF de proveedor.
- Llama 3.2 3B se inventa cifras. En 9 facturas puso mal algún importe, a menudo un dígito cambiado («24.980,46» en lugar de «24.880,46»). Además, le quitó el guion al número de factura en el 14,8 % de los casos («260918» en vez de «26-0918»).
- Qwen3 1.7B falla con el proveedor nuevo: en el formato C acertó 3 de 9 facturas, sobre todo porque repitió el NIF del proveedor como NIF del cliente (acertó el 81,5 % de los NIF de cliente).
- Qwen3 4B solo se equivocó en una factura: la de un autónomo que factura a una empresa, en la que intercambió el NIF del proveedor y el del cliente. Gemma 3 4B cometió el mismo error en esa factura y en otra igual.
Lo que atrapan las comprobaciones automáticas
Con las tres comprobaciones (cuadre de importes, letra o dígito de control del NIF y NIF distintos), un programa habría apartado para revisión el 100 % de las facturas mal leídas por Llama 3.2 3B (13 de 13) y por Qwen3 1.7B (7 de 7), y 10 de las 12 de Gemma 3 4B. Ninguna factura bien leída dio una falsa alarma. El único error que no atrapan es el intercambio de proveedor y cliente, porque los dos NIF son válidos y los importes cuadran: 1 factura con Qwen3 4B y 2 con Gemma 3 4B. Ese se detecta comparando el NIF del proveedor con tu lista de proveedores, algo que no medimos aquí.
Tiempo y memoria
| Modelo | Segundos por factura | Minutos para 300 facturas | Memoria máxima | Palabras generadas por segundo (tokens/s) |
|---|---|---|---|---|
| Qwen3 4B Instruct 2507 | 3,0 | 15,1 | 3,1 GB | 77,0 |
| Gemma 3 4B | 3,2 | 16,1 | 3,5 GB | 72,9 |
| Llama 3.2 3B | 1,8 | 8,8 | 2,5 GB | 103,4 |
| Qwen3 1.7B | 1,4 | 6,9 | 1,8 GB | 156,4 |
Cargar cada modelo ya descargado llevó entre 0,5 y 1,4 s. En un equipo sin chip de Apple ni tarjeta gráfica, los tiempos serán mayores.
Qué significa para una empresa
- Hipótesis 1: se cumple solo con Qwen3 4B (96,3 % de facturas perfectas). Los otros tres modelos se quedan entre el 51,9 % y el 74,1 %: el tamaño no lo explica todo, porque Gemma 3 4B, del mismo tamaño, fue el segundo peor.
- Hipótesis 2: se cumple. Las reglas leyeron el 100 % de los formatos conocidos y el 0 % del nuevo. Sirven para los proveedores de siempre; cada proveedor nuevo exige escribir reglas nuevas.
- Hipótesis 3: se cumple en parte. Las comprobaciones detectan los importes inventados y los NIF incompletos, pero no un proveedor y un cliente intercambiados.
Una gestoría o una pyme que recibe 300 facturas al mes de proveedores distintos puede leerlas con Qwen3 4B en un portátil en unos 15 minutos, gratis y sin que salgan de la oficina. Lo que no puede es saltarse la revisión: el flujo que salió de esta prueba es modelo local + tres comprobaciones automáticas + comparar el NIF con la lista de proveedores, y que una persona mire solo las facturas que no pasan.
Cuándo usar cada opción
- Reglas: si casi todas tus facturas vienen de pocos proveedores fijos con siempre el mismo formato. Instantáneas y sin errores con lo que conocen; inútiles con lo que no.
- Qwen3 4B Instruct 2507: la mejor opción medida para facturas de muchos proveedores distintos. Es la que recomendamos probar primero.
- Qwen3 1.7B: si el equipo es modesto y la velocidad importa más; acierta bien con formatos clásicos pero falla con los poco habituales.
- Gemma 3 4B y Llama 3.2 3B: no los recomendamos para esta tarea sin ajustes; uno pierde letras del NIF y el otro cambia dígitos de los importes.
- En cualquier caso: prueba con 30 o 50 facturas tuyas antes de fiarte y activa siempre las comprobaciones.
Limitaciones
- Facturas sintéticas y digitales. Son PDF generados por programa, con el texto limpio. No se probaron facturas escaneadas o fotografiadas (que necesitan reconocimiento de texto antes), tablas complejas, varias páginas, varios tipos de IVA en la misma factura, ni facturas en otros idiomas. Con facturas reales, todos los resultados deberían ser peores.
- Pocas facturas. 27 facturas en tres formatos; una sola factura mueve cada porcentaje varios puntos. Sirve para ver diferencias grandes, no para ordenar opciones parecidas.
- Una sola instrucción, sin ajustes. No se probaron ejemplos dentro de la instrucción, salida estructurada forzada ni modelos más grandes (de 7.000 millones de parámetros o más), que probablemente fallarían menos. El signo de la retención no se tuvo en cuenta (un «−108,76» cuenta como 108,76). Tras corregir ese criterio se repitió la medida de Qwen3 1.7B, el único afectado.
- Reglas escritas por nosotros. Unas reglas más elaboradas leerían parte del formato C; el resultado ilustra el problema del proveedor nuevo, no un límite de las reglas en general.
- Un solo portátil Apple M1 Max con otras apps abiertas, conectado a la corriente. Los tiempos sirven como orden de magnitud: en un PC sin chip de Apple ni tarjeta gráfica serán probablemente mayores. Todo el cómputo cupo en menos de 30 minutos.
- No es asesoramiento fiscal. Leer bien una factura no sustituye su validez legal ni las obligaciones de conservación y de la factura electrónica.
Cómo repetirlo
Código, generador de facturas con semilla fija, revisiones exactas de los modelos y cada dato extraído en las cinco pasadas: yeswelab-laboratorio/extraer-datos-facturas-ia-local en GitHub. Se ejecuta en un Mac con chip de Apple, sin cuentas ni claves; la primera vez descarga los cuatro modelos de Hugging Face. Para probarlo con tus facturas, pon tus PDF y sus datos correctos en verdad.json.
Relacionado
- ¿Qué parser de PDF usar para RAG en español? 6 librerías medidas con facturas
- Structured outputs: reparar el JSON de un modelo local o reintentar
- Agentes de IA para empresas: casos de uso, costes y riesgos
¿Recibes facturas de muchos proveedores y quieres saber si una IA local las leería bien? Encárganos el experimento con 50 de tus facturas y te decimos qué modelo funciona con ellas, cuántas habría que revisar a mano y cuánto tiempo te ahorra.