Convert PDF Quotations to Excel — Extract Fields by Meaning, Not by Layout
A quotation from one vendor looks nothing like a quotation from another. One embeds pricing in a table on page 2. Another writes "your price is $4,750 including delivery" in a narrative paragraph. The numbers are all there — but which one is the quoted price, which is the discount, and which is the tax? Column-name extraction identifies each field by what it means, not where it sits on the page.
Enterprise-grade security · TLS 1.3 encrypted
Qué puedes extraer de una cotización de proveedor
Escribe los nombres de las columnas que necesites — la IA encuentra estos valores en cualquier formato de cotización, ya sea que los precios aparezcan en una tabla estructurada, un párrafo narrativo o una combinación de ambos.
Campos de encabezado y resumen
Campos de partidas y financieros
Esta no es una lista fija — escribe cualquier campo que contengan tus cotizaciones. La IA lee el documento para encontrar lo que pidas.
Por qué extraer datos de cotizaciones es más difícil que de facturas
Las facturas siguen un estándar flexible. Toda factura tiene un total, una dirección de facturación y una fecha de vencimiento. Las cotizaciones no tienen esa convención. Una sola página contiene un número de cotización, una fecha de validez, quizás veinte partidas, una estructura de descuento por volumen, una tasa impositiva que puede o no incluir el envío, un total general con flete separado y términos de pago que van desde "Neto 30" hasta "50% por adelantado". El reto no es leer el documento — es saber qué número significa qué.
El problema
Una cotización suele contener de cinco a ocho valores monetarios: precios unitarios, totales por línea, subtotal, descuento (porcentaje o absoluto), impuesto, envío y total general. El proveedor A coloca el descuento entre el subtotal y el impuesto. El proveedor B aplica el descuento directamente al precio unitario y muestra solo los totales por línea descontados, sin una línea de descuento separada. El proveedor C escribe "su precio es $12,450, incluye envío e impuesto" en un párrafo — un solo número con tres capas de significado. Un humano que lee la cotización entiende la diferencia. Un OCR basado en plantillas, que empareja coordenadas de píxeles con una plantilla preconfigurada, extrae el número que esté en esas coordenadas — correcto o no — sin distinguir entre el descuento y el costo de envío. Los equipos de compras en Reddit r/procurement mencionan constantemente "extraer datos de formatos de proveedores no estándar" como una fuente principal de errores en las comparaciones.
Un proveedor de manufactura genera una cotización desde su ERP — cada línea en una tabla limpia con columnas de Descripción, Cantidad, Precio Unitario e Importe. Un proveedor de servicios de TI redacta la suya en un documento de Word: "Gabinete para servidor 42U: 2 unidades a $1,200 cada una — $2,400" como texto corrido. Un subcontratista de construcción llena un formulario impreso a mano y envía un escaneo por correo. Las herramientas basadas en plantillas requieren una plantilla separada para cada formato. Con tres proveedores, son tres plantillas que construir y mantener. Con diez proveedores por ciclo de RFQ, el costo de mantenimiento de las plantillas supera el tiempo ahorrado por la extracción.
El proveedor A cotiza $10,000 con un 5% de descuento por línea y el impuesto se aplica al subtotal descontado. El proveedor B cotiza $9,500 planos con impuesto incluido. El proveedor C cotiza $9,200 con un 3% de descuento por pago anticipado y flete aparte. Estas tres cotizaciones generan valores distintos en cada campo financiero. Si su extracción manual trata por error el precio con impuesto incluido del proveedor B como el subtotal antes de impuestos, la comparación se desvía por la tasa impositiva (5-28% según la jurisdicción). El error se propaga a todos los análisis posteriores —puntuación, clasificación y recomendación final de adjudicación— y se vuelve invisible una vez que los números están en una hoja de cálculo, porque la hoja los presenta como hechos.
Cómo la extracción personalizada lo resuelve
Extracción de Columnas Personalizadas — el mecanismo central de ImageToTable.ai — te permite escribir los nombres de campo que deseas: "Subtotal", "Descuento", "Impuesto", "Total General". La IA lee el documento e identifica cada valor comprendiendo su significado en el contexto del documento. Reconoce que el número junto a "Sub Total" en una cotización con estructura de tabla y el número descrito como "el total antes de impuestos y flete" en una cotización en formato narrativo son el mismo campo: Subtotal. No necesitas dibujar rectángulos alrededor de cada valor. No necesitas configurar plantillas por proveedor. Nombra los campos una vez, y la misma definición funciona en todos los formatos de cotización de cualquier proveedor — tabular, narrativo, escaneado, o cualquier combinación de los tres.
Define tus columnas de extracción una vez: Nombre del Proveedor, Número de Cotización, Fecha de Cotización, Válido Hasta, Descripción del Artículo, Cantidad, Precio Unitario, Total por Línea, Subtotal, Descuento, Impuesto, Total General, Términos de Pago, Términos de Entrega. Usa esta misma lista de columnas para cada cotización de proveedor que proceses. La IA lee cada documento de forma independiente y encuentra los valores correspondientes por significado — el proveedor cuyo precio está en una tabla y el proveedor cuyo precio está en un párrafo producen filas de salida con la misma estructura de columnas. Cuando un nuevo proveedor envía una cotización en un formato que nunca has visto antes, las mismas columnas funcionan sin necesidad de configuración adicional. Para equipos de adquisiciones que gestionan ciclos de RFQ con 5-15 proveedores, esto elimina la sobrecarga de mantenimiento de plantillas que hace que el OCR tradicional no sea económicamente viable por debajo de volúmenes de adquisición muy grandes.
Al procesar todas las cotizaciones de proveedores en un solo lote, cada línea de cada proveedor ocupa una fila en la hoja de cálculo de salida, con todos los campos solicitados completados. El resultado es una tabla plana donde cada fila identifica al proveedor, el artículo y todos los componentes financieros de esa línea. Dado que se aplicó la misma definición de columna a cada cotización, la columna Subtotal de la fila del Proveedor A y la columna Subtotal de la fila del Proveedor B contienen el mismo campo: el subtotal antes de impuestos y descuentos, calculado (o impreso) por ese proveedor. Esto permite cargar la salida directamente en una hoja de cálculo de comparación y aplicar lógica analítica (puntuación, clasificación, normalización) a partir de datos estructurados y verificados, en lugar de números escritos a mano. Para obtener orientación sobre cómo construir el flujo de trabajo de comparación a partir de los datos extraídos, consulte el enfoque detallado en nuestra guía para extraer datos de cotizaciones de proveedores para compararlos en Excel.
De cotizaciones en PDF a Excel listo para comparar: cómo funciona
Si recibes cotizaciones de proveedores como archivos PDF y necesitas comparar precios entre distintos proveedores — ya sea para un ciclo de RFQ único o para compras recurrentes — así es como funciona el flujo de extracción.
Sube PDFs de cotizaciones — de cualquier proveedor, en cualquier formato, todo a la vez
Arrastra cotizaciones en PDF de cualquier origen: PDFs generados por ERP con tablas estructuradas, exportaciones de Word a PDF con precios escritos en párrafos, formularios de cotización escaneados, archivos adjuntos de correo o fotos de cotizaciones impresas. La herramienta acepta JPG, PNG, WebP y PDF, incluyendo cotizaciones de varias páginas donde la tabla de precios abarca múltiples páginas. Usa el procesamiento por lotes para subir todas las respuestas de proveedores de un ciclo de RFQ a la vez y consolidar los resultados en un solo archivo. Para recopilar cotizaciones de proveedores que no están en tu sistema de compras, genera un Enlace de Recopilación: una URL compartible donde los proveedores pueden subir sus cotizaciones directamente a tu cola de procesamiento ingresando un código de verificación corto, sin necesidad de registro ni inicio de sesión por parte del proveedor.
Define las columnas que necesitas — una vez, para todos los proveedores
Escribe los nombres de los campos que deseas extraer: "Nombre del Proveedor", "Número de Cotización", "Fecha de Cotización", "Válido Hasta", "Descripción del Artículo", "Cantidad", "Precio Unitario", "Total por Línea", "Subtotal", "Descuento", "Impuesto", "Total General", "Condiciones de Pago", "Términos de Entrega". Estos son los nombres de tus columnas — la IA localiza cada valor comprendiendo su rol semántico en el documento, ya sea que ese valor aparezca en una celda de tabla, una oración o una nota al pie. Usa una Columna Inferida como "Tipo de Precio (opciones: Fijo/Estimado/No Superar)" para que la IA clasifique cada cotización según el lenguaje que lee en el documento. Usa una Columna Calculada como "% de Descuento (Descuento / Subtotal)" para calcular la tasa de descuento efectiva durante la extracción — útil cuando un proveedor cotiza un descuento en dólares y otro un porcentaje, y necesitas una base común para comparar. Guarda la configuración de columnas como plantilla después de iniciar sesión y reutilízala para cada ciclo de RFQ.
Descarga el Excel unificado — cada artículo es una fila, cada campo financiero está desglosado
Cada artículo de la cotización de cada proveedor se convierte en una fila en tu archivo de salida. Una cotización con 15 artículos genera 15 filas — cada una con el nombre del proveedor, número de cotización, descripción del artículo y todos los campos financieros solicitados. Un lote de cinco cotizaciones de proveedores con un promedio de 12 artículos cada una genera ~60 filas — todo en una sola hoja de cálculo, todas estructuradas de manera idéntica. Exporta como XLSX, CSV o JSON. Dado que los campos de Subtotal, Descuento, Impuesto y Total General se extraen por separado — no solo el precio final — puedes comparar los componentes de precios entre proveedores directamente en Excel, aplicar tu propia lógica de normalización y construir el análisis comparativo a partir de datos fuente verificados. La salida está estructurada para importarse en SAP, Oracle, NetSuite, Coupa o tu plantilla de comparación de compras.
Cuándo Funciona Mejor — y Cuándo Revisar los Resultados
Cuándo funciona mejor
Cotizaciones de proveedores generadas por ERP con tablas de precios estructuradas. Las cotizaciones exportadas desde SAP, Oracle, Microsoft Dynamics o sistemas ERP específicos de proveedores se extraen con alta precisión. Los elementos de línea con formato de máquina, los campos de encabezado y los resúmenes financieros se asignan limpiamente a los nombres de columna. Las cotizaciones de varias páginas con continuación de elementos de línea entre páginas se manejan correctamente: la IA entiende que la tabla de la página 2 es una continuación de la tabla de la página 1.
Procesamiento por lotes de formatos mixtos entre proveedores con diferentes diseños de cotización. Cuando un proveedor usa un formato ERP estructurado, otro escribe precios en párrafos de Word y un tercero envía un formulario escaneado, la misma definición de columna extrae de los tres. Esta es la principal ventaja sobre el OCR basado en plantillas, que requeriría tres plantillas separadas para este único ciclo de RFQ.
Desambiguación de descuentos e impuestos cuando ambos están presentes. La IA distingue entre un descuento aplicado antes de impuestos, un descuento aplicado después de impuestos, precios sin impuestos y precios con impuestos incluidos, leyendo el texto circundante y el contexto numérico. Esta desambiguación semántica es lo que la extracción por nombre de columna ofrece y que el OCR basado en coordenadas no puede: comprensión de la estructura financiera, no solo reconocimiento de texto.
Cuándo revisar los resultados
Cotizaciones con precios escalonados complejos en múltiples rangos de cantidad. Cuando un proveedor cotiza $12/unidad para 1-99 unidades, $10/unidad para 100-499 y $8.50/unidad para 500+, y lo presenta en una tabla de rangos junto con las partidas, verifique que cada precio unitario extraído esté emparejado con su rango de cantidad correcto. La IA captura todos los valores, pero puede necesitar un nombre de columna específico como "Precio unitario (rango 100-499)" para un mapeo inequívoco en estructuras de rangos profundamente anidadas.
Cotizaciones manuscritas con bajo contraste o notación inusual. Los formularios en papel escaneados y rellenados a mano — comunes en construcción, fabricación especializada y cotizaciones de servicios de campo — son legibles, pero la precisión depende de la calidad del escaneo y la claridad de la escritura. Un escaneo limpio a 300 DPI de un formulario impreso con letra de molde produce resultados fiables. Una foto de baja resolución de escritura cursiva inclinada puede requerir verificación manual de los campos financieros.
Cotizaciones donde el mismo número podría interpretarse como dos campos diferentes. Una cotización que indica "Subtotal: $5,000 — Impuesto (10%): $500 — Total general: $5,000" (porque la cotización está exenta de impuestos pero muestra la línea de impuesto como referencia) puede confundir la extracción de Impuesto vs. igualdad con el Total general. Cuando el lenguaje del documento describe una partida listada pero no cobrada, agregue una columna como "Impuesto aplicado (S/N)" como Columna Inferida para verificación — la IA lee el contexto circundante para determinar si la línea de impuesto se incluyó realmente en el total general.
Preguntas Frecuentes
¿Cómo distingue la IA entre precio unitario, descuento, subtotal, impuesto y total general, especialmente cuando el diseño varía drásticamente entre proveedores?
La extracción por nombre de columna resuelve esto pidiendo a la IA que busque campos semánticamente, no geométricamente. Al escribir el nombre de columna "Descuento", la IA busca en el documento el número que funciona como descuento — el monto restado antes de impuestos — sin importar si el Proveedor A lo coloca debajo del subtotal en una tabla o el Proveedor B lo menciona en una frase como "10% de descuento aplicado". La misma lógica aplica para Impuesto, Subtotal y Total General. Este enfoque semántico permite que la misma definición de columna funcione en cotizaciones de diferentes proveedores, industrias y países sin configuración por proveedor. Para cotizaciones donde el descuento está incluido en el precio unitario (sin línea de descuento separada), la IA extrae el precio unitario tal cual y puedes aplicar una fórmula en Excel para recalcular el descuento implícito — la extracción preserva la distinción entre "descuento mostrado en el documento" y "descuento que derivas analíticamente".
¿Puedo extraer cotizaciones de proveedores donde los precios están escritos en párrafos narrativos en lugar de tablas?
Sí — esta es una de las principales ventajas sobre el OCR basado en plantillas. Cuando un proveedor escribe "el precio unitario del rack de servidores es $1,200, con un 5% de descuento para pedidos de 3 o más", la IA lee la oración como lenguaje natural, identifica $1,200 como el precio unitario y reconoce el 5% como un descuento condicional. Las herramientas basadas en plantillas que solo funcionan con PDFs estructurados en tablas fallan con estas cotizaciones en formato narrativo. Los mismos nombres de columna producen resultados consistentes ya sea que los precios estén en el cuerpo de una tabla, en una oración resumen o en una mezcla de ambos. Para cotizaciones de servicios de TI, propuestas de consultoría y estimaciones de fabricación personalizada que frecuentemente usan precios en párrafos, esta capacidad elimina el paso de buscar manualmente números de precios entre párrafos.
¿Cómo maneja la herramienta cotizaciones de múltiples proveedores con diseños completamente diferentes en un solo lote?
El procesamiento por lotes acepta todos los archivos de cotizaciones de proveedores a la vez — PDFs de sistemas ERP, cotizaciones escaneadas en papel, PDFs convertidos de correo electrónico con precios en párrafos — sin importar el formato y diseño. Cada archivo se procesa de forma independiente usando la misma definición de columna. Los precios basados en tablas del Proveedor A y los precios basados en párrafos del Proveedor B producen filas con estructura idéntica en la misma hoja de cálculo de salida. Para un ciclo de solicitud de cotización con ocho proveedores, subes los ocho archivos de cotización, defines tus columnas de comparación una vez y recibes un archivo de Excel con cada línea de artículo de cada proveedor. El paso de extracción es completamente independiente del formato. Para el flujo de trabajo completo de construir una comparación de proveedores a partir de datos extraídos, consulta el enfoque paso a paso para extraer cotizaciones de proveedores por lotes en una tabla de comparación.
¿Qué sucede cuando una cotización de proveedor incluye descuentos condicionales — como plazos de pago anticipado, descuentos por volumen o precios combinados?
La IA extrae cada valor relacionado con descuentos tal como aparece en el documento. Si la cotización indica "Precio estándar: $1,200/unidad" y "Descuento por volumen (100+ unidades): 15% — $1,020/unidad", ambos valores se capturan. Use múltiples definiciones de columna para capturar cada nivel: "Precio unitario (estándar)", "Precio unitario (nivel 100+)", "% Descuento por volumen". La IA lee la relación entre los niveles y extrae los valores — pero la decisión de qué nivel usar en la comparación es suya. Esta separación mantiene el paso de extracción mecánico y el paso analítico deliberado, sin incorporar suposiciones sobre qué nivel aplica. Para cotizaciones con estructuras de descuento complejas, una Columna calculada como "% Descuento efectivo (1 - Total línea / (Cant. × Precio unitario estándar))" puede calcular la tasa de descuento implícita durante la extracción, brindándole un valor normalizado para comparar entre proveedores con diferentes convenciones de presentación de descuentos.
¿La extracción conserva el lenguaje original de los términos — como plazos de pago, condiciones de entrega y períodos de vigencia — o los estandariza?
Campos como Plazos de pago y Condiciones de entrega se extraen tal como están escritos en el documento — "Neto 30", "50% anticipado, 50% contra entrega", "FOB Destino" — preservando el lenguaje exacto del proveedor. Esto es intencional: la estandarización de términos es una tarea de comparación, no de extracción, y debe realizarla usted en Excel donde la transformación sea visible y auditable. Para campos numéricos como Fecha de cotización y Válido hasta, la IA estandariza el formato a AAAA-MM-DD independientemente del formato de origen (MM/DD/AAAA, DD-MM-AAAA, "24 de octubre de 2024"), para que estas columnas sean directamente comparables sin necesidad de normalización manual de formato de fecha. El principio es: extraer exactamente lo que dice el documento, estandarizar solo donde la conversión mecánica no tenga ambigüedad interpretativa.
Más Información sobre Extracción de Datos de Cotizaciones
El Defecto Oculto en Todo Proceso Manual de Comparación de Cotizaciones
Cómo la entrada manual de datos incorpora suposiciones no verificadas en las hojas de comparación — y por qué separar la extracción del análisis es importante.
Extraer Datos de Cotizaciones para Comparación en Excel: La Parte que Nadie Menciona
El paso previo a la comparación: obtener datos estructurados de PDFs no estructurados sin transcripción manual.
Extraer Cotizaciones por Lotes para Comparar Precios en Excel: Una Tabla, Cualquier Formato
Cómo el procesamiento por lotes convierte una RFQ multi-proveedor en una sola hoja de cálculo lista para comparar en una operación.
Lo que Cuesta la Comparación de Cotizaciones a tu Equipo en Horas por Mes
Un modelo de costo trimestral de la comparación manual de cotizaciones — y dónde se van realmente las horas.