# Compras y recepciones
URL: https://invox.page/docs/inventory/purchases



import { Callout } from 'fumadocs-ui/components/callout';

Una compra registrada hace tres cosas: suma el stock al confirmar la
recepción (sin ajustes manuales), guarda el costo real de cada entrega
(referencia visible en la siguiente compra) y alimenta el historial por
proveedor — qué trajo, cuándo y a qué precio.

Lo encuentras en la app en **Inventario** → **Control de stock**, y en
el panel web en **Inventario** → **Compras**.

¿Orden de compra o recepción directa? [#orden-de-compra-o-recepción-directa]

| Situación                                          | Usa                   |
| -------------------------------------------------- | --------------------- |
| Pides al proveedor y la entrega llega días después | **Nueva orden**       |
| La mercadería ya llegó y solo falta ingresarla     | **Recepción directa** |

La orden de compra separa el pedido de la entrega: armas el pedido, lo
envías al proveedor y lo recibes cuando llega — incluso en partes. La
recepción directa omite ese ciclo: eliges proveedor y almacén, agregas
los productos con cantidad y costo, y el stock se suma al registrarla.
Ambas se crean desde **Nuevo**.

Los estados de una orden [#los-estados-de-una-orden]

El estado registra en qué punto va el pedido. Moverlo es una anotación
tuya: lo que llega al proveedor es el
[documento](#el-documento-de-la-orden), y va por separado.

| Estado         | Significado                                                               |
| -------------- | ------------------------------------------------------------------------- |
| **Abierto**    | Borrador editable. Puedes tener varios abiertos a la vez.                 |
| **Enviado**    | Ya hiciste el pedido al proveedor. Reversible con **Regresar a Abierta**. |
| **Despachado** | El proveedor ya despachó (opcional). No mueve stock; reversible.          |
| **Recibido**   | La recepción confirmada — el **único** estado que suma stock. Terminal.   |
| **Cancelado**  | Terminal. No toca el stock.                                               |

La recepción directa nace directamente en **Recibido**.

El estado se elige al crear o editar con **Estado ▾**, y en el detalle
con **Cambiar estado**. Recibir la mercadería no está entre esas
opciones: tiene su propio flujo — ver
[Recibir la mercadería](#recibir-la-mercadería).

El documento de la orden [#el-documento-de-la-orden]

Una orden es también un documento que viaja al proveedor, sin salir de la
app:

* **Enviar por correo** — escribe el correo del proveedor (puedes
  guardarlo en el proveedor para la próxima) y la orden le llega como
  documento. La orden muestra cuándo y a quién se envió, y puedes
  **Reenviar** si hace falta.
* **Compartir PDF** — el mismo documento por WhatsApp o donde prefieras.
* **Descargar Excel o CSV** — para el proveedor que trabaja su lista en
  hoja de cálculo.
* **Imprimir** — el ticket de la orden en la impresora del negocio.

Comprar por cajas [#comprar-por-cajas]

Hay dos maneras de comprar en cajas, y la regla que las separa es **a
qué producto apunta la línea de la orden** — o sea, dónde quieres que
entre el stock:

**El proveedor vende cajas, pero tu stock es la unidad.** Agrega a la
orden el producto **unidad** y elige su **Presentación** — la caja de 12
si la tienes registrada, u **Otra…** indicando cuántas unidades trae (no
necesitas tener la caja como producto). Escribe cuántas cajas y el costo
por caja: entran unidades y el costo se convierte a costo unitario.
Invox recuerda la presentación y el tamaño que usa cada proveedor para
la próxima compra. La caja nunca existe en tu inventario — se "rompe" al
recibir.

**La caja es un producto tuyo** — la vendes como caja, o la rompes
después, cuando te convenga, no en cada compra. Agrega a la orden el
producto **caja**, como una línea normal, sin presentación. El stock
entra en cajas, y [Romper caja](/docs/catalog/packaging) las convierte
en unidades el día que lo decidas.

Si agregas la caja y en realidad querías las unidades, la línea ofrece
**¿Recibir como N unidades?**: un toque la convierte, y otro la deja
como estaba.

Recibir la mercadería [#recibir-la-mercadería]

Cuando llega la entrega de una orden:

1. Abre la orden y toca **Recibir**.
2. Escribe la cantidad en **Recibido** para cada producto y ajusta el
   **Costo** si cambió — cada línea muestra el último costo con ese
   proveedor como referencia, y puedes registrar el **descuento del
   proveedor** (informativo: el costo se guarda neto).
3. Toca **Guardar** para dejar el avance a medias y continuar después —
   si intentas salir con cambios sin guardar, la app te avisa.
4. Si llegó algo que no estaba en la orden, toca **Agregar producto
   extra**.
5. Toca **Confirmar recepción**.

{/* screenshot: pantalla de recepción con cantidades recibidas y el botón Confirmar recepción */}

<Callout type="warn">
  Confirmar la recepción aplica el stock al almacén y no se puede deshacer.
  Revisa las cantidades antes de confirmar.
</Callout>

Si el producto maneja lote o vencimiento, tócalo durante la recepción y
usa **Agregar lote y vencimiento** antes de confirmar — mira
[Lotes](/docs/inventory/lots).

Actualizar precios después de recibir [#actualizar-precios-después-de-recibir]

Un costo mayor reduce el margen si el precio de venta no se mueve. En
una recepción completada, toca **Actualizar precios**: cada producto
aparece con su costo nuevo, margen y precio, editables en bloque sin
salir de la compra.
