Documentos de compra
Pedidos de compra
GET /api/purchases # ListarGET /api/purchases/:id # DetalleGET /api/purchases/:id/pdf # PDFPOST /api/purchases # CrearPOST /api/purchases/:id/cancel # CancelarAlbaranes de compra
GET /api/purchases/delivery-notes # ListarGET /api/purchases/delivery-notes/:id # DetalleGET /api/purchases/delivery-notes/:id/pdf # PDFPOST /api/purchases/delivery-notes # CrearPOST /api/purchases/delivery-notes/:id/cancel # CancelarDELETE /api/purchases/delivery-notes/:id # EliminarAl crear un albaran de compra se suma stock al almacen.
Facturas de compra
GET /api/purchases/invoices # ListarGET /api/purchases/invoices/:id # DetalleGET /api/purchases/invoices/:id/pdf # PDFPOST /api/purchases/invoices # CrearPOST /api/purchases/invoices/:id/post # AsentarPOST /api/purchases/invoices/:id/cancel # CancelarDELETE /api/purchases/invoices/:id # Eliminar (borradores)Flujo de documentos
Pedido de compra (PO) → Albaran de compra (PDN) — suma stock → Factura de compra (PINV) — cierra el albaranLotes en recepcion
Los albaranes de compra soportan lotes con fecha de caducidad:
{ "lines": [ { "itemId": "uuid", "quantity": 100, "price": 10, "taxGroupId": "uuid", "batchDetails": [ { "batchNum": "LOTE-2026-A", "quantity": 60, "expiryDate": "2027-01-01" }, { "batchNum": "LOTE-2026-B", "quantity": 40, "expiryDate": "2027-06-01" } ] } ]}