{
 "fecha": "04/11/2026",
 "factura_real": {
  "numero": "F-2026-0187",
  "base": "1.240,50 €",
  "iva_pct": "21 %",
  "iva": "260,51 €",
  "total": "1.501,01 €",
  "lineas_importes": [
   "540,00 €",
   "420,50 €",
   "280,00 €"
  ]
 },
 "factura_inventada_por_gemma4": {
  "modelo": "gemma4:12b (Ollama 0.40.14)",
  "imagen": "factura_foto.jpg",
  "lectura_devuelta": {
   "numero": "P-2020001",
   "fecha": "12/10/2020",
   "nif_emisor": "B00000015",
   "cliente": "Estudio Cabello (Bético)",
   "base": "1.000,00 €",
   "iva_pct": "21%",
   "iva": "210,00 €",
   "total": "1.210,00 €",
   "lineas": [
    {
     "concepto": "Mantenimiento de maquinaria",
     "unidades": "3",
     "precio": "333,33 €",
     "importe": "1.000,00 €"
    },
    {
     "concepto": "Mantenimiento de maquinaria",
     "unidades": "3",
     "precio": "400,00 €",
     "importe": "1.200,00 €"
    },
    {
     "concepto": "Servicio de formación (2 h.)",
     "unidades": "2",
     "precio": "300,00 €",
     "importe": "600,00 €"
    }
   ]
  },
  "nota_libre_del_modelo": "```\n\n*Nota: Debido a que la imagen es de baja resolución, los valores de las líneas presentan inconsistencias visuales (por ejemplo, el importe total de las líneas no suma la base de la factura). Se han transcrito los caracteres más legibles."
 },
 "filas": [
  {
   "donde": "nube",
   "modelo": "Claude Haiku 5.5",
   "via": "Claude Code 2.1.317",
   "imagen": "factura_limpia.png",
   "json_valido": true,
   "numero": true,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": false,
   "campos_ok": 9,
   "campos": 9,
   "segundos": 8.3,
   "numero_leido": "F-2026-0187",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "nube",
   "modelo": "Claude Sonnet 5.5",
   "via": "Claude Code 2.1.317",
   "imagen": "factura_limpia.png",
   "json_valido": true,
   "numero": true,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": false,
   "campos_ok": 9,
   "campos": 9,
   "segundos": 6.6,
   "numero_leido": "F-2026-0187",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "nube",
   "modelo": "Claude Haiku 5.5",
   "via": "Claude Code 2.1.317",
   "imagen": "factura_escaneada.jpg",
   "json_valido": true,
   "numero": true,
   "fecha": true,
   "nif_emisor": false,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": true,
   "campos_ok": 8,
   "campos": 9,
   "segundos": 15.1,
   "numero_leido": "F-2026-0187",
   "base_leida": "1.240,50",
   "iva_leido": "260,51",
   "total_leido": "1.501,01"
  },
  {
   "donde": "nube",
   "modelo": "Claude Sonnet 5.5",
   "via": "Claude Code 2.1.317",
   "imagen": "factura_escaneada.jpg",
   "json_valido": true,
   "numero": true,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": false,
   "campos_ok": 9,
   "campos": 9,
   "segundos": 11.9,
   "numero_leido": "F-2026-0187",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "nube",
   "modelo": "Claude Haiku 5.5",
   "via": "Claude Code 2.1.317",
   "imagen": "factura_foto.jpg",
   "json_valido": true,
   "numero": false,
   "fecha": false,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": true,
   "campos_ok": 7,
   "campos": 9,
   "segundos": 21.7,
   "numero_leido": "F-2026-0167",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "nube",
   "modelo": "Claude Sonnet 5.5",
   "via": "Claude Code 2.1.317",
   "imagen": "factura_foto.jpg",
   "json_valido": true,
   "numero": false,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": true,
   "campos_ok": 8,
   "campos": 9,
   "segundos": 10.5,
   "numero_leido": "ILEGIBLE",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "local",
   "modelo": "gemma4:12b",
   "via": "Ollama 0.40.14",
   "imagen": "factura_limpia.png",
   "json_valido": true,
   "numero": true,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": false,
   "campos_ok": 9,
   "campos": 9,
   "segundos": 16.4,
   "numero_leido": "F-2026-0187",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "local",
   "modelo": "qwen3.5:9b",
   "via": "Ollama 0.40.14",
   "imagen": "factura_limpia.png",
   "json_valido": true,
   "numero": true,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": false,
   "campos_ok": 9,
   "campos": 9,
   "segundos": 14.5,
   "numero_leido": "F-2026-0187",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "local",
   "modelo": "gemma4:12b",
   "via": "Ollama 0.40.14",
   "imagen": "factura_escaneada.jpg",
   "json_valido": true,
   "numero": true,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": false,
   "campos_ok": 9,
   "campos": 9,
   "segundos": 9.3,
   "numero_leido": "F-2026-0187",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "local",
   "modelo": "qwen3.5:9b",
   "via": "Ollama 0.40.14",
   "imagen": "factura_escaneada.jpg",
   "json_valido": true,
   "numero": true,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": false,
   "campos_ok": 9,
   "campos": 9,
   "segundos": 11.7,
   "numero_leido": "F-2026-0187",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  },
  {
   "donde": "local",
   "modelo": "gemma4:12b",
   "via": "Ollama 0.40.14",
   "imagen": "factura_foto.jpg",
   "json_valido": true,
   "numero": false,
   "fecha": false,
   "nif_emisor": false,
   "base": false,
   "iva_pct": true,
   "iva": false,
   "total": false,
   "cliente": false,
   "lineas": false,
   "marca_ilegible": false,
   "campos_ok": 1,
   "campos": 9,
   "segundos": 9.9,
   "numero_leido": "P-2020001",
   "base_leida": "1.000,00 €",
   "iva_leido": "210,00 €",
   "total_leido": "1.210,00 €"
  },
  {
   "donde": "local",
   "modelo": "qwen3.5:9b",
   "via": "Ollama 0.40.14",
   "imagen": "factura_foto.jpg",
   "json_valido": true,
   "numero": false,
   "fecha": true,
   "nif_emisor": true,
   "base": true,
   "iva_pct": true,
   "iva": true,
   "total": true,
   "cliente": true,
   "lineas": true,
   "marca_ilegible": false,
   "campos_ok": 8,
   "campos": 9,
   "segundos": 9.8,
   "numero_leido": "F-2026-0167",
   "base_leida": "1.240,50 €",
   "iva_leido": "260,51 €",
   "total_leido": "1.501,01 €"
  }
 ]
}
