Ir al contenido

Documentos de venta

GET /api/sales # Listar pedidos
GET /api/sales/:id # Detalle
GET /api/sales/:id/pdf # Descargar PDF
POST /api/sales # Crear pedido
POST /api/sales/:id/cancel # Cancelar

Estados: O (Abierto) → P (Parcial) → C (Cerrado) / X (Cancelado)

GET /api/sales/delivery-notes # Listar
GET /api/sales/delivery-notes/:id # Detalle
GET /api/sales/delivery-notes/:id/pdf # PDF
POST /api/sales/delivery-notes # Crear
POST /api/sales/delivery-notes/:id/cancel # Cancelar

Estados: O (Abierto) → C (Facturado) / X (Cancelado)

Al crear un albaran se descuenta stock del almacén.

GET /api/sales/invoices # Listar
GET /api/sales/invoices/:id # Detalle
GET /api/sales/invoices/:id/pdf # PDF
POST /api/sales/invoices # Crear
POST /api/sales/invoices/:id/post # Asentar (borrador → asentada)
POST /api/sales/invoices/:id/cancel # Cancelar
DELETE /api/sales/invoices/:id # Eliminar (solo borradores)

Estados: D (Borrador) → O (Asentada) / X (Cancelada)

{
"seriesId": "uuid-serie",
"periodId": "uuid-periodo",
"partnerId": "uuid-socio",
"date": "2026-04-16",
"warehouseId": "uuid-almacen",
"lines": [
{
"itemId": "uuid-articulo",
"quantity": 10,
"price": 25.50,
"taxGroupId": "uuid-impuesto",
"warehouseId": "uuid-almacen",
"zoneId": "uuid-zona"
}
]
}
Pedido de venta (SO)
→ Albaran de venta (SDN) — descuenta stock
→ Factura de venta (SINV) — cierra el albaran

Las líneas pueden referenciar el documento base con baseType y baseId:

{
"itemId": "uuid",
"quantity": 10,
"price": 25.50,
"taxGroupId": "uuid",
"baseType": "SDN",
"baseId": "uuid-albaran"
}
Campo Descripción
itemId Artículo
quantity Cantidad
price Precio unitario
taxGroupId Grupo de impuestos
warehouseId Almacén
zoneId Zona del almacén
uomId Unidad de medida alternativa
uomFactor Factor de conversión
baseType Tipo de documento base (SO, SDN)
baseId ID del documento base
pluginData Datos de plugins (JSONB)