1. š§© Descripción Generalā
El módulo de Ventas permite registrar y controlar el proceso comercial desde la generación de cotizaciones, pedidos y su facturación. Este módulo se conecta directamente con Clientes, Inventario, Finanzas y Facturación para asegurar un proceso fluido y trazable.
2. š§± Modelos del Móduloā
a. Quotationā
id: integer (PK)
client_id: FK ā Client
created_by: FK ā User
status: enum (pendiente, aprobada, vencida)
valid_until: date
subtotal, tax, total: decimal
b. QuotationItemā
id: integer (PK)
quotation_id: FK ā Quotation
product_id: FK ā Product
quantity: decimal
unit_price: decimal
c. SalesOrderā
id: integer (PK)
client_id: FK ā Client
quotation_id: FK (opcional)
status: enum (pendiente, enviado, parcial, completo, cancelado)
created_by: FK ā User
subtotal, tax, total: decimal
d. SalesOrderItemā
id: integer (PK)
sales_order_id: FK ā SalesOrder
product_id: FK ā Product
quantity: decimal
unit_price: decimal
quantity_delivered: decimal
3. š Funciones del Controladorā
index(): Listar pedidos de venta.
store(): Crear pedido de venta (con o sin cotización previa).
show($id): Ver detalle del pedido.
update($id): Editar pedido (estado pendiente).
destroy($id): Cancelar pedido.
deliver(): Registrar entrega parcial o total.
convertQuotation($id): Generar pedido a partir de una cotización.
quotationIndex(): Listar cotizaciones.
quotationStore(): Crear cotización.
quotationApprove(): Aprobar cotización.
4. š Endpoints detallados y justificadosā
| Método | Ruta | Descripción | Justificación |
|---|
| GET | /api/sales-orders | Lista de pedidos | Seguimiento comercial |
| POST | /api/sales-orders | Crear pedido | Proceso formal de venta |
| GET | /api/sales-orders/{id} | Ver pedido | Detalle por cliente y producto |
| PUT | /api/sales-orders/{id} | Editar | Cambios antes de envĆo |
| DELETE | /api/sales-orders/{id} | Cancelar | Anulación |
| POST | /api/sales-orders/{id}/deliver | Entregar productos | Actualiza stock y seguimiento |
| GET | /api/quotations | Lista de cotizaciones | Proceso previo a pedido |
| POST | /api/quotations | Crear cotización | Propuesta comercial |
| POST | /api/quotations/{id}/approve | Aprobar | Convertir en pedido |
| POST | /api/quotations/{id}/convert | Crear pedido desde cotización | Flujo integrado |
5. š„ļø DiseƱo UX sugerido (flujo de usuario)ā
PĆ”gina: "Cotizaciones"ā
- Tabla con cotizaciones
- Acciones:
- Ver, Aprobar, Convertir
- Crear nueva cotización
PĆ”gina: "Pedidos de Venta"ā
- Tabla con pedidos
- Acciones:
- Ver detalle
- Editar (si no enviado)
- Entregar
PĆ”gina: "Entrega de productos"ā
- Lista de productos por entregar
- Campos: cantidad, observaciones
- Botón: confirmar entrega
6. š Vistas sugeridas (tipo wireframe)ā
| Vista | Campos sugeridos | Acciones |
|---|
| Cotizaciones | Cliente, productos, estado, total | Aprobar, Convertir |
| Pedidos | Cliente, productos, estado, total | Ver, Entregar |
| Formulario cotización | Cliente, producto, cantidad, precio | Guardar |
| Entrega | Producto, cantidad pedida, entregada | Confirmar |
7. š Conexión Frontend ā API JSON:APIā
| Acción en Frontend | Método/API | Resultado esperado |
|---|
| Ver cotizaciones | GET /api/quotations | Tabla |
| Crear cotización | POST /api/quotations | Formulario |
| Aprobar cotización | POST /api/quotations/{id}/approve | Estado actualizado |
| Convertir a pedido | POST /api/quotations/{id}/convert | Pedido creado |
| Ver pedidos | GET /api/sales-orders | Tabla |
| Crear pedido | POST /api/sales-orders | Registro nuevo |
| Entregar pedido | POST /api/sales-orders/{id}/deliver | Actualiza inventario |
š¦ Este módulo permite gestionar el flujo comercial con control y trazabilidad, integrando cotizaciones, pedidos y entregas con el inventario y la facturación del ERP.