Restofy Docs
Control de inventario POST

Registrar merma

POST /api/inventory/create-waste

Descripción

Registra insumos o platos que se perdieron, con su motivo y su costo.

Detalles

Cada línea es un insumo con su cantidad y unidad, o un plato de la carta que descuenta su receta completa. Todo sale de la bodega elegida con el costo vigente de cada insumo. No se frena por falta de stock: la pérdida ya pasó. Falla si el motivo está pausado o un plato no tiene receta.

Permisos requeridos

inventory.waste.create

Request

Nombre Tipo Requerido Reglas
storageLocationId int Sí
min_value:1
wasteReasonId int Sí
min_value:1
notes string No
max:500
items array Sí —
items[].inventoryItemId int No
min_value:1
items[].productId int No
min_value:1
items[].unitId int No
min_value:1
items[].quantity string Sí
decimal min_value:0

Ejemplo de request

curl -X POST https://restofy.pro/api/inventory/create-waste \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -d '{
    "storageLocationId": 1,
    "wasteReasonId": 1,
    "items": [
        {
            "quantity": "string"
        }
    ]
}'

Los valores son demo: reemplázalos por datos reales del negocio.

Ejemplo de respuesta

Actualizado: 2026-11-02T19:00:57Z
HTTP 200

Request

{
    "storageLocationId": 4,
    "wasteReasonId": 1,
    "notes": "Se venció en el cuarto frío",
    "items": [
        {
            "inventoryItemId": 27,
            "productId": null,
            "unitId": 2,
            "quantity": 150
        }
    ]
}

Response

{
    "success": true,
    "message": "Merma registrada",
    "data": {
        "wasteUuid": "08e3cb45-86fe-433b-8ccf-56c5460bcbcc",
        "totalCostCents": 1500
    }
}