michangarrito/docs/01-epicas/MCH-008-sistema-fiados.md
rckrdmrd 928eb795e6 [SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios apps
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Cambios en backend y frontend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:05 -06:00

3.9 KiB

id type title code status phase priority created_at updated_at simco_version dependencies
EPIC-MCH-008 Epic MCH-008: Sistema de Fiados MCH-008 Completado 2 P1 2026-01-10 2026-01-10 3.8.0
blocks depends_on
MCH-017
MCH-002
MCH-004
MCH-014

MCH-008: Sistema de Fiados

Metadata

  • Codigo: MCH-008
  • Fase: 2 - Inteligencia
  • Prioridad: P1
  • Estado: Completado
  • Fecha completado: 2026-01-10

Descripcion

Sistema de credito informal ("fiados") tradicional en Mexico: permite a clientes frecuentes comprar a credito con limites personalizados, recordatorios automaticos de pago, y registro de abonos.

Objetivos

  1. Cuentas de credito por cliente
  2. Limites de credito configurables
  3. Registro de compras a credito
  4. Registro de abonos/pagos
  5. Recordatorios automaticos via WhatsApp
  6. Reporte de cartera

Alcance

Incluido

  • Habilitar credito por cliente
  • Limite de credito configurable
  • Ventas a credito desde POS
  • Abonos parciales o totales
  • Historial de movimientos
  • Recordatorios via WhatsApp
  • Bloqueo automatico por limite

Excluido

  • Intereses por mora
  • Scoring crediticio
  • Reportes a buro de credito
  • Contratos formales

Modelo de Datos

Tablas (schema: customers)

credit_accounts

  • id, customer_id, credit_limit
  • current_balance, status (active/blocked/closed)
  • created_at, last_payment_at

credit_transactions

  • id, credit_account_id, type (charge/payment)
  • amount, sale_id (si es cargo), notes
  • created_at, created_by

Endpoints API

Metodo Endpoint Descripcion
GET /customers/:id/credit Estado de cuenta
POST /customers/:id/credit/enable Habilitar credito
PUT /customers/:id/credit/limit Ajustar limite
POST /customers/:id/credit/payment Registrar abono
GET /customers/:id/credit/history Historial
GET /credit/portfolio Cartera total
GET /credit/overdue Clientes con adeudo

Flujos de Usuario

Habilitar Credito

1. Dueno abre ficha del cliente
2. Activa "Habilitar fiado"
3. Define limite (ej: $500)
4. Cliente puede comprar a credito

Venta a Credito

1. Empleado crea venta en POS
2. Selecciona cliente con credito
3. Elige "Fiado" como pago
4. Sistema verifica:
   - Credito habilitado
   - Saldo + venta <= limite
5. Si OK: registra venta
6. Actualiza saldo del cliente

Registrar Abono

1. Cliente llega a pagar
2. Dueno abre cuenta del cliente
3. Registra abono (monto)
4. Sistema actualiza saldo
5. Genera recibo de pago

Recordatorio Automatico

1. Cron diario revisa cuentas
2. Identifica clientes con saldo > X dias
3. Envia WhatsApp:
   "Hola [nombre], tienes un saldo de $X
   en [negocio]. Pasa a ponerte al corriente!"
4. Registra envio de recordatorio

UI Components

CreditHistory

  • Lista de movimientos (cargos/abonos)
  • Saldo actual
  • Grafica de historial
  • Filtros por fecha

CreditDashboard

  • Total cartera
  • Clientes con adeudo
  • Promedio de dias de pago
  • Alertas de limite

Entregables

Entregable Estado Archivo
DDL credit Completado 08-customers.sql
fiados.module En progreso modules/fiados/
CreditHistory.tsx En progreso components/customers/
WhatsApp reminder Pendiente whatsapp-service/

Dependencias

Depende de

  • MCH-002 (Auth)
  • MCH-004 (POS)
  • MCH-014 (Clientes)

Bloquea a

  • MCH-017 (Notificaciones)

Criterios de Aceptacion

  • Credito se habilita/deshabilita por cliente
  • Limite de credito funciona
  • Ventas a credito descuentan del disponible
  • Abonos se registran correctamente
  • Recordatorios se envian via WhatsApp
  • Reporte de cartera funciona

Configuracion por Tenant

{
  fiados: {
    enabled: true,
    default_limit: 500,
    max_limit: 5000,
    reminder_days: [7, 14, 30],
    auto_block_days: 60
  }
}

Ultima actualizacion: 2026-01-10