13 may 2025·8 min de lectura

Automatización de la conciliación a tres vías: tablas y flujo de trabajo para retenciones en Cuentas por Pagar

Aprende la automatización de la conciliación a tres vías con diseños de tablas prácticos y un flujo visual que retiene pagos hasta que PO, recibo y factura coincidan en cantidades y precios.

Automatización de la conciliación a tres vías: tablas y flujo de trabajo para retenciones en Cuentas por Pagar

Qué problema resuelve realmente la conciliación a tres vías

La automatización de la conciliación a tres vías es sencilla: pagas una factura solo cuando coincide con lo que pediste y con lo que realmente recibiste. Los tres documentos son la orden de compra (PO), el registro de recepción (recibo) y la factura del proveedor.

Sin esta comprobación, cuentas por pagar puede terminar pagando basándose en un solo documento que está equivocado o incompleto. Un proveedor puede facturar más unidades de las entregadas, usar un precio distinto al acordado o enviar una factura duplicada que parece nueva en un hilo de correo.

Estas fallas rara vez son dramáticas desde el primer día. Aparecen como pequeñas fugas: una línea facturada dos veces, un envío con pocos artículos, un aumento de precio no aprobado o un flete agregado cuando no corresponde. Con el tiempo, esos pequeños errores se convierten en dinero perdido.

El objetivo no es “aprobar facturas” por aprobar. El objetivo es bloquear el pago hasta que los campos clave que elijas (normalmente cantidad, precio unitario y totales) coincidan entre PO, recibo y factura. Cuando no coinciden, la factura no debe desaparecer en el correo. Debe llegar a una cola de excepciones con un código de motivo claro y los campos exactos que difieren.

La conciliación a tres vías también traza una línea clara entre equipos. Compras es responsable de lo que se pidió (términos y precio). Recepción confirma lo que llegó (cantidades y fechas). Finanzas controla lo que se paga (revisión y liberación de facturas).

Ponte de acuerdo desde el principio: esto es un problema de proceso más que un botón de aprobación. Si las líneas de PO son vagas, si no se registran recibos o si las facturas no se pueden vincular a una línea de PO, la automatización no te salvará.

Documentos y roles: PO, recibo, factura y quién es responsable de qué

La conciliación a tres vías funciona solo cuando cada documento tiene un propietario claro. Si “quién actualiza qué” es difuso, el sistema o bien bloqueará pagos válidos o dejará pasar pagos erróneos.

Un modelo de propiedad práctico es:

  • El solicitante crea la solicitud de compra y confirma la necesidad.
  • Compras crea y mantiene la PO (proveedor, precio, términos).
  • Almacén/recepción (o el responsable del servicio) registra el recibo o la aceptación.
  • AP/Finanzas registra la factura y controla el pago.

Cada documento también necesita un conjunto mínimo de campos para que la conciliación no sea una adivinanza.

PO (orden de compra) necesita ID del proveedor, número de PO, líneas (SKU o servicio), cantidad pedida, precio unitario, moneda, reglas fiscales y condiciones de pago.

Recibo necesita referencia a la PO, fecha del recibo, cantidades recibidas por línea de PO y quién lo recibió. Para servicios, trátalo como aceptación y registra el aprobador.

Factura necesita número de factura del proveedor, fecha de factura, referencia de PO (o una forma segura de encontrar la PO), detalles de líneas (cantidad, precio unitario), impuestos/envío y el total.

También decide cuándo se ejecuta la conciliación. No debe ser un evento único. Disparala siempre que la realidad cambie:

  1. Cuando se captura una factura (para decidir pagar o poner en hold inmediatamente).
  2. Cuando se registra un recibo (para que una factura en hold pueda pasar a pagable).
  3. Cuando se cambia una PO (para que las facturas abiertas se re-verifiquen).

Los recibos parciales y múltiples facturas son normales. Una línea de PO puede llegar en tres entregas y facturarse en dos facturas. La lógica debe comparar recibido acumulado vs facturado acumulado por línea de PO, no solo un documento aislado.

Reglas que debes decidir antes de construir nada

Antes de tocar tablas o pasos de flujo, pon por escrito las reglas que gobernarán el sistema. Las reglas vagas crean fallos previsibles: o el sistema bloquea demasiado (y la gente lo evade), o bloquea muy poco (y se pagan facturas malas).

Elige el nivel de conciliación. Conciliar solo a nivel de encabezado comprueba totales del documento. Parece más fácil, pero falla rápidamente con entregas parciales, pedidos pendientes, líneas de flete o distintos tipos de impuestos. La conciliación a nivel de línea lleva más tiempo configurarla, pero es el valor predeterminado más seguro porque comparas lo mismo en PO, recibo y factura: la línea específica, su cantidad y su precio unitario.

Define bloqueos duros vs avisos. Un bloqueo duro significa que el pago no puede continuar hasta que se resuelva el problema. Un aviso permite que la factura avance, pero alguien debe reconocer el riesgo.

Puntos de partida típicos:

  • Bloqueo duro: cantidad facturada excede la cantidad recibida (para bienes).
  • Bloqueo duro: precio unitario excede el precio de la PO más allá de la tolerancia.
  • Aviso: pequeñas diferencias por redondeo.
  • Aviso: diferencias de impuestos o flete que se esperan y se registran por separado.

Mantén las reglas de tolerancia explícitas. Define el método (porcentaje, monto absoluto o el mayor de ambos) y quién lo administra. Ejemplo: permitir +/- 1% o +/- $5 por línea, con finanzas autorizadas a cambiar tolerancias solo con una nota de auditoría.

Usa un conjunto pequeño y compartido de estados. Evita estados personalizados por equipo. Un conjunto claro suele ser suficiente: Matched, Hold, Exception, Approved. “Hold” significa que el pago está bloqueado. “Exception” significa que se necesita revisión humana. “Approved” significa que una persona nombrada aceptó la discrepancia y registró la razón.

Modelo de datos: las tablas que necesitas (y por qué)

La automatización de la conciliación a tres vías funciona solo si tu modelo de datos puede alinear una línea de PO, lo que se recibió y lo que se facturó. Cada línea de factura debería poder emparejarse con una línea de PO específica (o marcarse claramente como sin PO), y cada línea de recibo debería reducir la cantidad pendiente de esa línea de PO.

Comienza con tablas centrales de compras:

  • Vendors: una fila por proveedor (nombre, términos, información fiscal).
  • ItemsServices: opcional, pero ayuda a la consistencia (SKU, descripción, unidad de medida).
  • PurchaseOrders: encabezado de PO (vendor_id, moneda, solicitado_por, estado).
  • PO_Lines: el ancla de la conciliación (po_id, item_id/descripcion, cantidad_pedida, precio_unitario).

Recepción necesita sus propios registros, aunque un “recibo” sea solo una confirmación. Mantén los recibos separados de las facturas para poder probar qué llegó y cuándo:

  • Receipts: encabezado de recibo (vendor_id, fecha_recibo, ubicación, estado).
  • Receipt_Lines: cada línea referencia la línea de PO (receipt_id, po_line_id, cantidad_recibida, notas).

La facturación refleja a recepción. Guarda lo que el proveedor facturó a nivel de línea y conéctalo a la línea de PO que debe cubrirlo:

  • Invoices: encabezado de factura (vendor_id, numero_factura_proveedor, fecha_factura, fecha_vencimiento, estado).
  • Invoice_Lines: (invoice_id, po_line_id cuando aplique, cantidad_facturada, precio_unitario, impuesto, total_linea).

Finalmente, crea un registro orientado al pago que tu flujo pueda bloquear. Algunos equipos lo llaman bill, payment request o pay run item:

  • PaymentRequests (o Bills): vincula a invoice_id e incluye payment_hold (true/false) y hold_reason.

Para auditorías y manejo limpio de excepciones, añade campos de ciclo de vida consistentes en encabezados (POs, recibos, facturas, pagos): estado, created_at/created_by, approved_at/approved_by, posted_at y (opcional) source_document_id para importaciones.

Campos clave y relaciones que hacen que la conciliación sea fiable

Automatiza retenciones antes del pago
Bloquea las solicitudes de pago hasta que tus reglas de conciliación pasen y luego libera automáticamente.
Configurar retenciones

La conciliación funciona mejor cuando cada documento remite a la misma línea. Eso significa IDs estables, enlaces limpios y totales que pueden recalcularse desde las líneas.

Asegúrate de que cada tabla tenga tanto un ID interno estable como el número externo que la gente busca:

  • Encabezado PO: po_id, po_number, vendor_id, moneda, estado, fecha_po
  • Líneas PO: po_line_id, po_id, item_id o descripción, cantidad_pedida, precio_unitario, tasa_impuesto, total_linea
  • Recibos: receipt_id, receipt_number, vendor_id, fecha_recibo; receipt_line_id, receipt_id, po_line_id, cantidad_recibida
  • Facturas: invoice_id, vendor_id, vendor_invoice_number, fecha_factura, moneda, subtotal, impuesto_total, total; invoice_line_id, invoice_id, po_line_id, cantidad, precio_unitario, impuesto_linea, total_linea
  • Proveedores y artículos: vendor_id, terminos_pago, moneda_por_defecto; item_id, uom, tax_code

Los enlaces más importantes son a nivel de línea:

  • invoice_line.po_line_id debe apuntar a la línea de PO.
  • receipt_line.po_line_id debe apuntar a la misma línea de PO.

Esto permite comparar cantidad y precio sin adivinar.

Para manejar parciales, calcula totales acumulados por línea de PO: received_qty (suma de receipt lines) e invoiced_qty (suma de invoice lines). Luego calcula remaining_qty = ordered_qty - received_qty y open_to_invoice_qty = received_qty - invoiced_qty. Estos valores dejan claro si una factura es anticipada, tardía o sobrefacturada.

No sobrescribas la historia cuando una PO cambie. Guarda un número de revisión de PO y o bien conserva las líneas antiguas (con un flag de activo) o escribe un registro de cambios (quién cambió qué, cuándo, valor antiguo, valor nuevo).

Añade guardarraíles básicos para prevenir duplicados y joins incorrectos:

  • Único (vendor_id, vendor_invoice_number)
  • receipt_number y po_number únicos
  • Not null en moneda, cantidades y precio_unitario
  • Restricciones CHECK como qty >= 0 y unit_price >= 0
  • Claves foráneas desde invoice_line y receipt_line hacia po_line

Flujo paso a paso: desde la recepción de la factura hasta la retención de pago

La automatización a tres vías suele tener tres puntos de entrada: llega una factura (email, subida, EDI), se publica un recibo o se cambia una PO (precio, cantidad, estado). El flujo debe reaccionar a cualquiera de estos para que una factura pueda salir del hold tan pronto como aparezca la pieza faltante.

1) Valida lo básico de la factura primero. Confirma que el proveedor está activo, la PO existe, la moneda coincide con la PO y los totales son internamente consistentes (los totales de línea suman, el impuesto es razonable, no hay cantidades negativas salvo que admitas notas de crédito). Si esto falla, envía la factura directamente a Hold con un motivo claro.

2) Conciliar por línea, no solo por encabezado. Para cada línea de factura, encuentra la línea de PO relacionada y los totales de recibo hasta la fecha. Compara:

  • Cantidad facturada vs cantidad recibida (o recibida menos ya facturado)
  • Precio unitario facturado vs precio unitario en la PO
  • Reglas de tolerancia
  • Si la línea de PO aún está abierta para facturación

3) Establece estado y aplica bloqueo. Un patrón común:

  • Matched: todas las líneas pasan las comprobaciones, sin excepciones abiertas.
  • Hold: al menos una línea falla o falta datos requeridos.

Cuando se establece Hold, crea un registro de retención de pago que la corrida de pagos debe respetar. Mantén las retenciones separadas de la factura para que se puedan añadir, liberar o reemplazar sin reescribir el historial de la factura.

4) Registra códigos de motivo fiables para finanzas. Evita solo texto libre en las retenciones. Usa códigos como PRICE_OVER_TOLERANCE, QTY_NOT_RECEIVED, PO_CLOSED, VENDOR_MISMATCH o CURRENCY_MISMATCH, junto con una nota corta.

Diseño de la cola de excepciones para finanzas (qué almacenar y qué mostrar)

Despliega tu app de AP a tu manera
Ejecuta en AppMaster Cloud o exporta código fuente para autoalojarlo.
Desplegar ahora

Una cola de excepciones es donde la conciliación se vuelve utilizable, no solo estricta. Finanzas debe ver solo las facturas que requieren decisión, con suficiente contexto para decidir rápido y dejar un rastro de auditoría claro.

Un enfoque común es una tabla dedicada como ExceptionCases. Cada fila representa una factura bloqueada (o una línea de factura) y apunta de vuelta a los registros de factura, PO y recibo. Mantén el motor de conciliación en modo solo lectura aquí. La cola es para decisiones y documentación.

Qué almacenar en ExceptionCases

Guarda qué está mal, cuán grande es, quién lo posee y qué sigue:

  • Tipo (recibo faltante, variación de precio, variación de cantidad, PO no encontrada, factura duplicada)
  • Severidad (info, warning, block) y una razón amigable para el usuario
  • Owner (persona o equipo) y estado (open, waiting on vendor, waiting on warehouse, resolved, overridden)
  • Instantánea de la variación con números ordenables (monto factura, monto emparejado, delta de precio, delta de cantidad)
  • Campos SLA (fecha límite, bandera de escalado, reassigned_at, reassignment_reason)

También guarda datos de colaboración y auditoría: comentarios (autor, marca de tiempo) y metadatos de adjuntos (nombre de archivo, tipo, subido_por, subido_en). Incluso si los archivos viven en otro lugar, los metadatos pertenecen al caso para que la historia quede intacta.

Qué debe ver y hacer Finanzas

La vista de la cola debe ser una lista de trabajo concisa: proveedor, número de factura, tipo de excepción, severidad, monto, fecha límite, propietario y un mensaje claro del “por qué está bloqueada”.

Al abrir un caso debe aparecer un resumen lado a lado: líneas de PO, cantidades recibidas, líneas de factura y los campos exactos que fallaron.

Mantén las acciones limitadas y seguras:

  • Solicitar recibo (se enruta a recepción y pone el estado en waiting)
  • Solicitar nota de crédito (se envía al proveedor y registra el ajuste esperado)
  • Aprobar anulación (requiere razón, captura aprobador y marca de tiempo)
  • Reasignar (actualiza propietario y guarda historial de reasignaciones)
  • Cerrar como resuelto (solo después de que los cambios hagan que la conciliación pase)

Ejemplo: una factura está bloqueada porque se recibieron 8 unidades pero se facturaron 10. Finanzas puede solicitar una factura corregida, o aprobar una anulación por las 8 unidades recibidas y dejar las 2 restantes en hold.

Ejemplo realista: recibo parcial y factura desajustada

Gestiona recepciones parciales correctamente
Rastrea recibido acumulado vs facturado por línea de PO para que las recepciones parciales coincidan correctamente.
Construir flujo

Un comprador crea una PO por 100 unidades del artículo A a $10.00 cada una. El total de la PO es $1,000. Dos días después, el almacén registra un recibo por 80 unidades.

Luego llega una factura por 100 unidades a $10.00 cada una. La conciliación debe comparar las líneas de la factura con lo que se ha recibido, no solo con lo pedido.

En esa línea:

  • Pedido: 100 unidades
  • Recibido: 80 unidades
  • Facturado: 100 unidades
  • Cantidad emparejada: min(Recibido, Facturado) = 80 unidades
  • Cantidad no emparejada: Facturado - Emparejado = 20 unidades

La factura pasa a “On hold” porque 20 unidades no tienen recibo. Finanzas ve un caso con una razón clara (Varianza de cantidad: +20) y los números clave lado a lado.

Las notificaciones deben ir a quien pueda resolverlo más rápido: normalmente recepción (para confirmar si falta registrar un recibo) y el comprador (para confirmar si el envío estuvo incompleto).

Cuando las 20 unidades restantes llegan, el almacén registra un segundo recibo por 20 unidades. El sistema vuelve a ejecutar la conciliación: recibido pasa a 100, no emparejado pasa a 0, la factura pasa a Matched y se libera la retención.

Ahora añade una variación de precio. Si el proveedor factura 100 unidades a $10.50 en vez de $10.00, la cantidad coincide pero el precio no. Resultado esperado: mantener la factura en hold y enrutarla con un motivo como “Variación de precio: +$0.50/unidad (+$50 total)”.

Errores comunes que rompen los flujos de conciliación a tres vías

La mayoría de fallos de conciliación no son por cálculos. Provienen de enlaces de datos débiles y controles flojos sobre documentos publicados.

Conciliar solo por el total de la factura. Un encabezado puede parecer correcto mientras que una línea está sobrevalorada o corta. Haz conciliación a nivel de línea y sé explícito sobre qué puede diferir (a menudo flete) y qué no (cantidad recibida y precio unitario).

Asumir un solo recibo y una sola factura por PO. Las compras reales incluyen envíos divididos y facturación parcial. Soporta múltiples recibos y múltiples facturas contra las mismas líneas de PO, y lleva el seguimiento de la cantidad abierta por línea.

Permitir editar recibos o facturas publicados sin rastro. Si alguien puede cambiar cantidades en silencio más tarde, la conciliación deja de ser evidencia. Bloquea los registros publicados y corrige mediante documentos de ajuste que preserven la historia.

Falta de prevención de duplicados. El mismo número de factura de proveedor puede ingresarse dos veces o un PDF puede subirse de nuevo. Añade unicidad pronto (vendor + invoice number, y opcionalmente fecha/monto) y muestra un mensaje claro cuando se detecte un duplicado.

Razones de excepción vagas. Finanzas no debe adivinar. Usa códigos de motivo que encaminen claramente: price mismatch, quantity mismatch, missing receipt, duplicate suspected, PO not found, vendor mismatch.

Lista rápida antes de activar el bloqueo de pagos

Prototipa la conciliación a tres vías en AppMaster
Construye una app de conciliación AP lista para producción sin escribir código.
Probar AppMaster

El bloqueo de pagos es donde la conciliación deja de ser un informe y se vuelve un control. Si lo básico no está sólido, generarás ruido para finanzas y pagos tardíos a proveedores.

Prueba con un conjunto pequeño de facturas que presenten variaciones: una coincidencia limpia, un recibo parcial, un cambio de precio y una diferencia de impuesto. Si alguna no puede conciliase bien, arregla primero los datos y las reglas.

Checklist:

  • Completitud de referencias: cada factura tiene proveedor y referencia de PO, y cada línea de factura puede mapearse a una línea de PO específica (no solo “total de PO”). Decide qué hacer cuando un proveedor envía solo el número del encabezado de PO.
  • Matemáticas consistentes: cantidades, precios unitarios y totales se recalculan de la misma manera siempre. Sé explícito sobre impuestos, flete, descuentos y redondeo (por ejemplo, redondeo por línea vs solo en el total de la factura).
  • Los estados bloquean a tiempo: marca “on hold” antes de que se cree cualquier solicitud de pago o registro de desembolso.
  • Excepciones estructuradas: cada retención guarda un código de motivo y un propietario (AP, comprador, receptor). Añade fechas límite para que las retenciones no queden eternamente.
  • Rastro de auditoría real: las anulaciones registran quién aprobó, cuándo y qué aprobó (incluyendo valores originales). Si permites ediciones, registra valores antes y después.

Próximos pasos: pilota el proceso y constrúyelo visualmente

Trata la automatización de la conciliación a tres vías como cualquier control: pruébala en una porción pequeña del gasto y luego despliega.

Empieza con un piloto fácil de monitorear. Elige una unidad de negocio, un grupo pequeño de proveedores que envíen facturas limpias o una categoría de artículos. Mantén las reglas estrictas al principio (coincidencia exacta de cantidad y precio) para que los problemas de calidad de datos aparezcan rápido.

Mide el éxito con una vista simple para finanzas: retenciones por semana, códigos de motivo principales, tiempo desde retención hasta liberación, cuántas retenciones fueron discrepancias reales y qué proveedores generan excepciones repetidas.

Si quieres prototipar rápido, una plataforma no-code ayuda porque puedes modelar tablas, reglas de conciliación y ruteo sin programar. Por ejemplo, en AppMaster (appmaster.io) puedes construir las tablas de PO, recibo, factura y excepciones, y luego conectar la lógica de retención en un proceso visual para que las mismas reglas se ejecuten en cada disparador.

Prueba con facturas reales del grupo piloto, incluyendo recepciones parciales y errores comunes de proveedores. Espera ajustar claves de conciliación y añadir pequeñas tolerancias solo después de observar patrones. Cuando las retenciones resulten razonables y los tiempos de resolución mejoren, amplía el alcance y añade reglas más ricas (manejo de impuestos y flete, conversiones de unidad de medida, envíos divididos) sin perder el control central: no liberar pagos hasta que la conciliación quede resuelta.

Fácil de empezar
Crea algo sorprendente

Experimente con AppMaster con plan gratuito.
Cuando esté listo, puede elegir la suscripción adecuada.

Empieza
Automatización de la conciliación a tres vías: tablas y flujo de trabajo para retenciones en Cuentas por Pagar | AppMaster