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.