Skip to content

Module: Historial de stock ​

The stock history is the auditable record of every change in product inventory. It's used to answer questions like "who lowered the hamburger stock last Friday?" or "how many units of coffee have we sold this month?".

What is recorded ​

Each movement stores:

DataWhat it's for
Producto o adiciónWhich one was adjusted. Toppings also go in the ledger.
DeltaThe change applied: +5 (entry) or −3 (exit).
Stock resultanteHow much was left after the adjustment.
TipoWhy it moved: Venta, Ajuste manual, Vencimiento, Robo, Merma, Daño, Conteo, Devolución, Corrección. This is what allows filtering and grouping.
MotivoFree descriptive text.
NotasLong detail, when the movement is a shrinkage.
ValorUnit and total cost, when the product has a cost entered.
UsuarioWho made the adjustment (name + email).
Fecha y horaWhen it was made.

What generates a movement ​

Each of these events creates a new row:

EventRecorded type
Payment of an orderVenta
Editing a product that changed the stockAjuste manual
Manual adjustment from the "Ajustar stock" buttonAjuste manual
Conteo de inventario appliedConteo
Merma registradaVencimiento, Robo, Merma or Daño
Reversal of a mermaDevolución

The type is what can be queried (the history and reports filter by it); the reason is the text label that used to be written, and it is kept.

Voiding does NOT restore

When an order is voided (status Anulado), the stock does NOT automatically come back. It's the team's decision: if there was real shrinkage, leave it; if it was a mistake, adjust manually with the reason "Corrección manual".

To automatically restore stock when canceling an order, you have to delete the order (an action only for Dueño / Administrador) instead of voiding it.

What it looks like ​

The history is accessed from Inventario → Movimientos, and can be filtered by category from the selector on the same screen.

You'll see:

  • Summary at the top: total movements, entries (+) and exits (−).
  • Paginated list (50 per page) with each adjustment and all its data.
  • Category filter in the list header, to limit the history to the products of a single section.

What to use it for ​

  • Audit — who lowered the stock and when.
  • Detecting shrinkage — if the "exits" don't match actual sales, there are losses to investigate. Declared mermas come out with their own type and reason; what the count detects comes out as "Conteo".
  • Physical counts — when taking inventory, the movement with type "Conteo" makes it clear it's a check correction, not a sale.
  • Purchases — when loading merchandise, the reason "Compra a distribuidor" makes it easier later to cross-check with supplier invoices.
  • Valuing the loss — if the product has a purchase cost entered, each movement stores the value. Without a cost, the shrinkage is counted in units.

Who uses this module ​

RoleWhat they can do
DueñoView the full history. Make adjustments with a reason.
AdministradorSame as Dueño.
TrabajadorView the full history. Make adjustments with a reason (typically end-of-day counts).
CajeroView the history and record mermas, expirations and damages (note required). Can't record thefts or reverse.
ClienteNo access.

Made with love in Colombia · Nexta POS