Saltar al contenido principal

Inventario

Base path: /api/inventory

Productos

GET /inventory/products

Obtener todos los productos con datos de categoría y proveedor.

Auth: Autenticado

Query parameters: search, supplier_id, page, limit

POST /inventory/products

Crear nuevo producto. article_number se genera automáticamente.

Auth: Admin

CampoTipoObligatorioDescripción
namestringNombre del producto
skustringCódigo de artículo
pricenumberPrecio de venta (>= 0)
purchase_pricenumberPrecio de compra (obligatorio para cálculos de coste)
quantity_on_handintegerStock actual
low_stock_thresholdintegerNoUmbral de alerta (por defecto 5)
category_idintegerNoID de categoría
supplier_idintegerNoID de proveedor
vat_rate_idintegerNoID de tipo de IVA
ean_codestringNoCódigo EAN

PUT /inventory/products/:id / DELETE /inventory/products/:id

Actualizar o eliminar un producto.


Categorías de productos

GET /inventory/categories / POST / PUT /:id / DELETE /:id

Gestionar categorías de productos.


Transacciones de stock

GET /inventory/transactions

Obtener movimientos de stock.

Query parameters: product_id, from, to


Proveedores

Base path: /api/suppliers

GET /suppliers

Listar todos los proveedores.

Auth: Autenticado

Query parameters: active=true, page, limit

POST /suppliers

Crear nuevo proveedor. creditor_number se genera automáticamente con la secuencia CRED.

Auth: Admin

GET /suppliers/:id / PUT /:id / DELETE /:id

Obtener proveedor con sus 20 últimos pedidos, actualizar o eliminar.


Pedidos de compra

Base path: /api/suppliers

GET /suppliers/orders

Listar todos los pedidos de compra.

Auth: Autenticado

Query parameters: status, page, limit

POST /suppliers/orders

Crear nuevo pedido. order_number se genera automáticamente con la secuencia IO. Estado inicial: created.

Auth: Admin

CampoTipoObligatorio
supplier_idinteger
staff_idintegerNo
notesstringNo
order_datefechaNo
expected_datefechaNo

PUT /suppliers/orders/:id/items

Establecer artículos en un pedido (reemplaza los existentes). Solo cuando estado es created u ordered.

PUT /suppliers/orders/:id

Actualizar estado o metadatos. Al pasar a received se actualiza el stock automáticamente.

POST/GET /suppliers/orders/:id/packing-slip

Subir o descargar albarán.

GET /suppliers/packing-slips/zip

Descargar todos los albaranes de un año como ZIP. Query parameters: year

DELETE /suppliers/orders/:id

Eliminar pedido. Válido para todos los estados.

Auth: Admin

EstadoEfecto en stock
createdSin cambio
orderedSin cambio
receivedStock decrementado; transacciones inversas creadas; albarán eliminado
cancelledSin cambio

Response: { "ok": true }

Estados de pedido

EstadoDescripción
createdPedido creado, añadiendo artículos
orderedPedido enviado al proveedor
receivedMercancía recibida; stock actualizado
cancelledPedido cancelado

Numeración automática

PrefijoEntidadEjemplo
IOPedidos de compraIO2601, IO2602
CREDNúmeros de acreedorCRED001, CRED002
ART_PRODUCTNúmeros de artículoART_PRODUCT001