> ## Documentation Index
> Fetch the complete documentation index at: https://internal.softcrum.com/llms.txt
> Use this file to discover all available pages before exploring further.

# crm

> crm es la capa humana sobre todo lo que la suite ya sabe. Guarda lo que alguien escribió sobre un cliente, qué hay que hacer después, y la pantalla que muestra la historia completa de un cliente —compras, puntos.

> Traducción. Autoritativo: [`../../../modules/crm/prd.md`](/modules/crm/prd).

> `crm` es la capa humana sobre todo lo que la suite ya sabe. Guarda lo que alguien escribió sobre un
> cliente, qué hay que hacer después, y la pantalla que muestra la historia completa de un cliente
> —compras, puntos, mensajes y notas— en una sola cadena.

## Para quién es

| Persona                               | Contrata este módulo para                                                                                         |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **Agente de soporte** (tenant)        | Abrir una pantalla y entender a un cliente sin pedirle que se explique, ni revisar cuatro sistemas.               |
| **Ejecutivo de cuentas** (tenant)     | Recordar lo acordado y no olvidar el seguimiento.                                                                 |
| **Responsable de marketing** (tenant) | Mantener una lista estática —asistentes a un evento, un grupo piloto— que un segmento dinámico no puede expresar. |

## El problema hoy

Una empresa con un programa de fidelización termina con la historia del cliente repartida entre el
punto de venta, la herramienta de loyalty y la plataforma de correo. Cuando ese cliente llama a
reclamar que nunca recibió sus puntos, el agente revisa tres sistemas, ninguno coincide, y el cliente
se explica dos veces.

La suite ya tiene los tres. Lo que falta es un lugar donde poner la parte humana y una vista que lo
una.

La segunda mitad, con honestidad: **no estamos tratando de reemplazar a HubSpot ni a Salesforce**. Un
tenant con organización de ventas ya tiene uno y lo va a mantener. Somos el CRM de las relaciones que
crea el programa de fidelización, que esas herramientas no ven.

## Qué hace *(normativo)*

* **Notas** sobre un contacto, atribuidas y auditadas.
* **Actividades**: algo que hacer, asignable, con fecha de vencimiento, sobre un vocabulario de tipos
  extensible por el tenant (DEC-B4).
* **Listas**: membresía estática y vistas guardadas de filtros, distintas de los segmentos dinámicos de
  `core`.
* **Timeline 360**: una vista ordenada por mezcla sobre comportamiento, puntos, mensajes, notas y
  actividades, filtrada por los permisos de quien lee y encadenada por `correlation_id`.
* Un **modelo de objetos reservado** para que deals y pipelines lleguen después sin migración.

## Lo que NO hace *(normativo)*

* **Sin pipeline, deals ni forecasting en v1.** Diferido explícitamente, no olvidado: FS-CRM-0005
  reserva el modelo. Construirlos ahora es competir con herramientas que nuestros clientes ya pagan.
* **No es un sistema de tickets.** Una actividad es un recordatorio, no un caso de soporte con SLAs y
  colas.
* **Sin bandeja de correo ni sincronización bidireccional.** Los mensajes aparecen en el timeline como
  envíos; las respuestas van a la dirección del tenant.
* **Sin gestión de contactos duplicados.** La resolución de identidad y las fusiones son de `core`.
* **No es una herramienta de reportería.** El timeline es por contacto.

## Éxito

| Medida                                                                                 | Objetivo                                 | Para                  |
| -------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------- |
| Carga del timeline de un contacto con 5 000 eventos                                    | p95 \<1 s, primera página                | certificación, pre-G1 |
| Un agente respondiendo "por qué este cliente recibió este mensaje"                     | desde el timeline solo, sin otro sistema | G1-Engage             |
| Cadena de correlación visible end to end — compra → puntos → correo → apertura → canje | una pantalla                             | G1-Engage             |
| Notas y actividades usadas semanalmente por el design partner                          | en uso, no solo presentes                | primer mes tras G1    |

## Modelo comercial

`crm` no se mide por separado. Va incluido, y es una de las razones por las que la suite vale más que
un motor de fidelización solo.

Dos cosas se gatean por plan más adelante en vez de cobrarse ahora: la **asignación de actividades
entre un equipo**, que solo importa a un tamaño que correlaciona con un plan mayor, y el **modelo de
objetos** cuando lleguen los deals.

## Fases

| Fase    | Contenido                                                                                         | Objetivo              |
| ------- | ------------------------------------------------------------------------------------------------- | --------------------- |
| **F1a** | Notas · actividades · listas y vistas guardadas · timeline 360 · modelo de objetos reservado      | G1-Engage, 2026-11-01 |
| **F1b** | Adjuntos en notas · recordatorios de actividad por `messaging` · acciones masivas sobre una lista | post-G1               |
| **F2**  | Deals y pipeline sobre el modelo reservado · reportería entre contactos                           | 2027                  |

## Cumplimiento y riesgo

Las notas son **texto libre escrito por humanos sobre personas identificadas**, lo que las convierte en
el dato personal menos predecible de la plataforma. Dos consecuencias:

* Las notas se **borran al suprimir**, sin remanente anonimizado. A diferencia de una fila del libro de
  puntos, una nota no tiene valor contable que sobreviva a la persona.
* El timeline se **filtra por los permisos de quien lee**. Un agente sin
  `core.contacts.read_national_id` ve el documento enmascarado también ahí — una vista unida es
  justamente donde se olvida un permiso.

El riesgo de producto es el crecimiento de alcance: un CRM invita a "agreguemos un pipeline" hasta
volverse un segundo producto construido por nadie. Los no-objetivos existen para hacerse cumplir, y
FS-CRM-0005 es cómo decimos que no sin decir que nunca.

## Dependencias

`core` para contactos y eventos. Proyecciones de solo lectura de datos de `loyalty` y `messaging` para
el timeline, **por sus caminos públicos de lectura, nunca sus tablas** — el límite de módulo se
mantiene incluso para leer.

## Preguntas abiertas

| # | Pregunta                                                                              | Decide | Para                         |
| - | ------------------------------------------------------------------------------------- | ------ | ---------------------------- |
| 1 | ¿Una nota se puede editar después de crearse, o solo se le puede agregar?             | Daniel | antes de aprobar FS-CRM-0001 |
| 2 | ¿Las actividades se pueden asignar a cualquier usuario, o solo al dueño de la cuenta? | Daniel | antes de aprobar FS-CRM-0002 |

## Changelog

| Versión | Fecha      | Cambio           | Por qué | Autor                  |
| ------- | ---------- | ---------------- | ------- | ---------------------- |
| 0.1.0   | 2026-08-17 | Borrador inicial | —       | daniel + claude-opus-5 |
