GET /api/ventas
Lista todas las ventas de la empresa activa.Autenticación
Requiere autenticación con token Bearer y permisoventas.view.
Parámetros de Consulta
No requiere parámetros.Respuesta
Indica si la operación fue exitosa
Lista de ventas
Ejemplo de Uso
POST /api/ventas
Crea una nueva venta, factura o boleta.Autenticación
Requiere autenticación con token Bearer y permisoventas.create.
Parámetros del Body
Tipo de documento:
- 1: Boleta (requiere DNI de 8 dígitos)
- 2: Factura (requiere RUC de 11 dígitos)
- 6: Nota de venta
ID del cliente existente (opcional si se envía cliente_documento)
Documento del cliente (DNI o RUC). Obligatorio si no se envía id_cliente.
Nombre o razón social del cliente. Obligatorio si no se envía id_cliente.
Dirección del cliente
Fecha de emisión (formato: YYYY-MM-DD)
Serie del comprobante (ej: F001, B001)
Número correlativo del comprobante
Base imponible (sin IGV)
Monto del IGV
Total de la venta
Moneda: PEN o USD
Indica si debe descontar stock. Por defecto true (excepto para notas de venta).
Lista de productos de la venta (mínimo 1)
ID del método de pago
Número de operación del pago
Banco del pago
Imagen del voucher (formatos: jpeg, png, jpg, webp. Máximo: 2MB)
ID de cotización relacionada (cambiará su estado a ‘aprobada’)
ID de nota de venta relacionada (cambiará su estado a ‘vendida’)
Validaciones Importantes
- Factura (id_tido=2): Requiere RUC de 11 dígitos. No acepta DNI.
- Boleta (id_tido=1): Requiere DNI de 8 dígitos. No acepta RUC.
- Si
afecta_stockes true, se descuenta el stock automáticamente al crear la venta.
Respuesta
Indica si la venta fue creada exitosamente
Mensaje descriptivo de la operación
Ejemplo de Uso
GET /api/ventas/
Obtiene el detalle completo de una venta específica.Autenticación
Requiere autenticación con token Bearer y permisoventas.view.
Parámetros de Ruta
ID de la venta
Respuesta
Indica si la operación fue exitosa
Objeto completo de la venta con todas sus relaciones (cliente, productos, servicios, cuotas, pagos)
Ejemplo de Uso
POST /api/ventas//anular
Anula una venta y retorna el stock al almacén si corresponde.Autenticación
Requiere autenticación con token Bearer y permisoventas.delete.
Parámetros de Ruta
ID de la venta a anular
Parámetros del Body
Motivo de la anulación (máximo 500 caracteres)
Respuesta
Indica si la venta fue anulada exitosamente
Mensaje confirmando la anulación. Indica si el stock fue retornado.
Ejemplo de Uso
GET /api/ventas/proximo-numero
Obtiene el próximo número correlativo disponible para una serie.Autenticación
Requiere autenticación con token Bearer.Parámetros de Consulta
Serie del comprobante (default: F001)
Respuesta
Indica si la operación fue exitosa
Próximo número correlativo
Número completo con formato (ej: F001-000042)
Ejemplo de Uso
GET /api/ventas//preview-descontar-stock
Previsualiza qué productos existen en el almacén real (almacén 2) antes de descontar stock.Autenticación
Requiere autenticación con token Bearer y permisoventas.edit.
Parámetros de Ruta
ID de la venta
Respuesta
Indica si la operación fue exitosa
Lista de productos con su disponibilidad en almacén 2
Indica si ya se descontó el stock real
Ejemplo de Uso
POST /api/ventas//descontar-stock
Descuenta el stock del almacén real (almacén 2) para una venta.Autenticación
Requiere autenticación con token Bearer y permisoventas.edit.
Parámetros de Ruta
ID de la venta
Respuesta
Indica si la operación fue exitosa
Mensaje confirmando el descuento de stock
Ejemplo de Uso
Códigos de Error
- 422 Unprocessable Entity: Error de validación. La respuesta incluye el campo
errorscon los detalles. - 404 Not Found: Venta no encontrada.
- 500 Internal Server Error: Error en el servidor.
Notas Importantes
- Todas las ventas están asociadas a la empresa del usuario autenticado.
- El stock se descuenta automáticamente al crear la venta si
afecta_stockes true. - Las facturas requieren RUC de 11 dígitos. Las boletas requieren DNI.
- El sistema sincroniza automáticamente el número correlativo en
documentos_empresas.