Skip to main content
El módulo de Discrepancias permite documentar cualquier diferencia encontrada al recibir una entrega: productos faltantes, unidades dañadas o cantidades que no coinciden con la orden de compra. Cada discrepancia queda vinculada al camión y al departamento correspondiente para facilitar su seguimiento y resolución.

Registrar discrepancia

Documenta una diferencia entre la cantidad esperada y la recibida durante una recepción.

Consultar historial

Lista todas las discrepancias registradas para auditoría y seguimiento.

Filtrar por camión

Obtén el historial de discrepancias de un camión específico.

Filtrar por departamento

Consulta discrepancias agrupadas por departamento (Frutas, Verduras, etc.).

Cuándo registrar una discrepancia

Registra una discrepancia durante la recepción cuando se presente cualquiera de estas situaciones:
  • Faltante de cantidad: el camión entregó menos unidades de las solicitadas en la orden de compra.
  • Producto dañado: unidades recibidas en mal estado que no pueden ser aceptadas.
  • Artículo incorrecto: el producto entregado no corresponde al que fue pedido.
  • Fecha de caducidad inválida: productos con fecha de caducidad vencida o próxima a vencer que deben rechazarse.
No registres discrepancias con totalEsperado = 0 ni con valores negativos en totalRecibido o totalFaltante; el sistema rechazará la petición con un error de validación.

Modelo de datos

{
  "idDiscrepancia": 7,
  "numeroCamion": "CAM-0042",
  "departamento": "FRUTAS",
  "totalEsperado": 100,
  "totalRecibido": 82,
  "totalFaltante": 18,
  "fechaRegistro": "2026-04-07"
}

Campos

CampoTipoDescripción
idDiscrepanciaLongIdentificador único generado automáticamente.
numeroCamionStringNúmero o código del camión en el que se detectó la discrepancia.
departamentoStringNombre del departamento afectado (ej. FRUTAS, VERDURAS).
totalEsperadointCantidad total de unidades que debían entregarse según la orden. Debe ser > 0.
totalRecibidointCantidad de unidades efectivamente recibidas y aceptadas. No puede ser negativo.
totalFaltanteintDiferencia entre lo esperado y lo recibido. No puede ser negativo.
fechaRegistroLocalDateFecha en que se registró la discrepancia.
Aunque el campo totalFaltante puede calcularse como totalEsperado - totalRecibido, se persiste de forma explícita para mantener el registro exacto de lo declarado al momento de la recepción.

Endpoints

Registrar una discrepancia

POST /api/discrepancias
Cuerpo de la petición:
{
  "numeroCamion": "CAM-0042",
  "departamento": "FRUTAS",
  "totalEsperado": 100,
  "totalRecibido": 82,
  "totalFaltante": 18,
  "fechaRegistro": "2026-04-07"
}
Respuesta:
{
  "data": {
    "idDiscrepancia": 7,
    "numeroCamion": "CAM-0042",
    "departamento": "FRUTAS",
    "totalEsperado": 100,
    "totalRecibido": 82,
    "totalFaltante": 18,
    "fechaRegistro": "2026-04-07"
  }
}

Listar todas las discrepancias

GET /api/discrepancias
Devuelve el historial completo de discrepancias ordenado por ID.

Integración con el flujo de recepción

Las discrepancias complementan el módulo de Órdenes de Compra: mientras que la orden define lo que debe llegar, la discrepancia documenta lo que realmente llegó cuando hay una diferencia.
1

Consultar la orden de compra

Antes de recepcionar, verifica que la orden esté vigente con GET /api/ordenes-compra/{id}/vigente. Esto confirma qué productos y cantidades se esperan.
2

Recepcionar y comparar

Al recibir la entrega, cuenta físicamente los productos por departamento y camión. Compara contra los detalles de la orden (cantidadEsperada por producto).
3

Registrar la discrepancia

Si hay diferencia entre lo esperado y lo recibido, envía un POST /api/discrepancias con los totales del departamento afectado. Incluye siempre numeroCamion y departamento para facilitar el rastreo.
4

Registrar el RPC correspondiente

Si la discrepancia involucra contenedores RPC (por ejemplo, envíos con menos unidades de las pactadas), registra también el movimiento en el módulo RPC usando tipoRpc: "DISCREPANCIA".
5

Cerrar la orden

Una vez documentadas todas las discrepancias, actualiza el estado de la orden de compra a CERRADA con PUT /api/ordenes-compra/{id}/estado.
En la vista de recepción del frontend, cada producto muestra su cantidadEsperada frente a la cantidadRecibida. Si se detecta una diferencia o una fecha de caducidad inválida, el sistema presenta alertas visuales antes de que el operador confirme el registro.