Skip to main content

👤 Clientes


1. 🧩 Descripción General​

El módulo de Clientes permite registrar, clasificar y gestionar la información de los compradores de la empresa, así como sus condiciones comerciales, historial de compras, estado de cuenta y direcciones de entrega. Su integración es clave con Ventas, Facturación, Cuentas por Cobrar y CRM.


2. 🧱 Modelos del Módulo​

a. Client​

  • id: integer (PK)
  • name: string
  • rfc: string
  • email: string
  • phone: string
  • credit_limit: decimal
  • payment_terms: integer (días)
  • currency: string
  • price_list: string (opcional)
  • is_active: boolean

b. ClientAddress​

  • id: integer (PK)
  • client_id: FK → Client
  • type: enum (fiscal, envío)
  • street, city, state, zip, country: strings

c. ClientContact​

  • id: integer (PK)
  • client_id: FK → Client
  • name: string
  • email: string
  • phone: string
  • position: string

d. ClientNote​

  • id: integer (PK)
  • client_id: FK → Client
  • note: text
  • created_by: FK → User
  • created_at: datetime

3. 🔁 Funciones del Controlador​

  • index(): Listar todos los clientes.
  • store(): Crear nuevo cliente.
  • show($id): Ver detalles del cliente.
  • update($id): Editar datos.
  • destroy($id): Desactivar cliente.
  • addAddress(): Agregar dirección.
  • addContact(): Agregar contacto.
  • addNote(): Registrar nota interna.

4. 🌐 Endpoints detallados y justificados​

MétodoRutaDescripciónJustificación
GET/api/clientsListado de clientesConsulta general
POST/api/clientsCrear clienteAlta para venta o factura
GET/api/clients/{id}Ver detalleInfo completa para pedidos
PUT/api/clients/{id}Editar clienteCambios comerciales
DELETE/api/clients/{id}DesactivarMantenimiento
POST/api/clients/{id}/addressesAgregar direcciónFacturación o entrega
POST/api/clients/{id}/contactsAgregar contactoPunto de contacto
POST/api/clients/{id}/notesAgregar nota internaObservaciones internas

5. 🖥️ Diseño UX sugerido (flujo de usuario)​

Página: "Listado de Clientes"​

  • Tabla con nombre, RFC, límite de crédito, correo
  • Filtros: por estado, moneda, vendedor asignado
  • Acciones: Ver, Editar, Desactivar

Página: "Ficha del Cliente"​

  • Datos fiscales y comerciales
  • Direcciones y contactos
  • Notas internas
  • Botón: Crear pedido, Generar factura

6. 📄 Vistas sugeridas (tipo wireframe)​

VistaCampos sugeridosAcciones
ListadoNombre, RFC, correo, teléfono, estadoVer, Editar, Desactivar
FormularioNombre, RFC, correo, teléfono, moneda, límiteGuardar
ContactosNombre, email, teléfono, puestoAñadir, Editar, Eliminar
DireccionesTipo, ciudad, calle, CPAñadir, Editar, Eliminar

7. 🔗 Conexión Frontend ↔ API JSON:API​

Acción en FrontendMétodo/APIResultado esperado
Ver clientesGET /api/clientsMostrar tabla
Ver clienteGET /api/clients/{id}Ficha de cliente
Crear clientePOST /api/clientsRegistro nuevo
Editar clientePUT /api/clients/{id}Actualización
Añadir direcciónPOST /api/clients/{id}/addressesAgregada
Añadir contactoPOST /api/clients/{id}/contactsAgregado
Añadir notaPOST /api/clients/{id}/notesGuardada

📦 Este módulo permite una gestión integral de los clientes con enfoque comercial, contable y logístico, formando una base esencial para los módulos de ventas, facturación y cobranza del ERP.