Skip to content

Ciclo Comercial — Flujo Completo

Tipo: Flujo end-to-end Estado: implementado (MVP) Fecha: 2026-03-25 Implementado en: feature/crm-ciclo-comercial-mvp


Descripción

Flujo completo del ciclo de vida comercial: desde el registro de la oportunidad en CRM hasta el cobro de la venta facturada. Atraviesa 4 módulos: Comercial/CRM, Producción, Administración y Tesorería.

Toda oportunidad comercial se registra como un registro CRM Comercial, independientemente de su origen. Si proviene de una licitación, se marca con el flag es_licitacion en el CRM (con anexo futuro a datos detallados de licitación).

El documento central del flujo es la Nota de Venta, que nace al confirmar la venta y recorre todo el ciclo con estados que cada módulo actualiza.


Diagrama general del ciclo

Ver diagrama detallado de cada fase en su respectivo archivo.

mermaid
flowchart LR
    subgraph COMERCIAL ["Fase 1: Comercial/CRM"]
        Reg[Registro CRM<br/>Comercial] --> Flags["flags: es_licitacion<br/>tiene_poliza"]
        Flags --> Venta{¿Venta<br/>concretada?}
        Venta -->|Sí| NV[Nota de Venta<br/>pedido_confirmado]
    end

    subgraph PRODUCCION ["Fase 2: Producción"]
        Fab[Fabricación<br/>+ versionado]
        Fab --> Disp[disponible]
    end

    subgraph ADMIN ["Fase 3: Administración"]
        TipoOp{Tipo<br/>operación}
        TipoOp --> Fact[Facturación<br/>Final]
    end

    subgraph TESO ["Fase 4: Tesorería"]
        Cobro[Proceso<br/>de Cobro]
        Cobro --> Cobrada[cobrada]
    end

    NV -->|A1: requiere fabricación| Fab
    NV -->|A2: sin fabricación| TipoOp
    Disp -->|B1| TipoOp
    Fact -->|C1 Finanzas| Cobro

Fases del ciclo

FaseMóduloDocumento principalDoc entradaDoc salida
1Comercial/CRMflujo-comercial-processInicioA1 Producción / A2 Administración
2Producciónflujo-produccion-processA1 desde Comercial o pedido directoB1 Administración
3Administraciónflujo-administracion-processA2 Comercial / B1 ProducciónC1 Finanzas (Tesorería)
4Tesoreríaflujo-tesoreria-ventas-processC1 FinanzasFin (cobrada)

Documento central

Nota de Venta — estados desde pedido_confirmado hasta cobrada


Todos los documentos del ciclo

Comercial/CRM

DocumentoTipoDescripción
flujo-comercial-processprocessFlujo unificado: Registro CRM Comercial → venta
licitacion-resourceresourceFlag licitación en CRM Comercial + modelo futuro
poliza-seguro-resourceresourcePóliza Seguro Garantía (TBD)
nota-pedido-resourceresourceNota de Pedido (Comercial)
extension-comercialresourceCRM tipo Comercial (rename desde industrial)
extension-produccionresourceCRM tipo Producción (trazabilidad)
analisis-requerimientos-nvresourceAnalisis completo de requerimientos NV (fuente del cliente)
comisiones-resourceresourceComisiones concesionarios + vendedores

Producción

DocumentoTipoDescripción
flujo-produccion-processprocessFabricación, loop cambios, versionado
nota-pedido-produccion-resourceresourceNota de Pedido con versionado
orden-trabajo-resourceresourceOrden de Trabajo
proceso-productivo-resourceresourceProcesos, sectores, tiempos
configuracioníndiceSectores, responsables, artículos

Administración

DocumentoTipoDescripción
flujo-administracion-processprocessTres tipos de operación → facturación final
documentos-generadosresourceFormatos de Conf NP (RE-COM003), NV (RE-COM004), Remito y Factura

Tesorería

DocumentoTipoDescripción
flujo-tesoreria-ventas-processprocessCobro, retenciones, comisiones

Transversal

DocumentoTipoDescripción
nota-venta-resourceresourceDocumento central: estados multi-módulo
entidades-comercialesresourceMapa de entidades: concesionario, cliente, contacto, proveedor. ERD y relaciones.
nota-venta-desde-crm-processprocessCreación y derivación de la NV
preguntas-abiertasíndiceÍndice consolidado de preguntas abiertas y TBDs del ciclo

Cambios mandatory pendientes

CambioDocumentoEstado
Rename tipo CRM industrialcomercialextension-comercialPendiente de implementar Implementado (MVP)

Preguntas abiertas globales

Índice consolidado: Ver preguntas-abiertas.md para el listado completo de todas las preguntas abiertas del ciclo comercial, organizadas por tema.

PreguntaDocumentada en
¿Stock disponible omite Producción? No. Ciclo completo siempre.flujo-produccion, nota-venta
¿Una OT o varias por pedido?orden-trabajo
¿Campo contacto en CRM Producción?extension-produccion
¿Póliza es entidad propia o campo? Solo flag tiene_poliza en CRM Comercial.poliza-seguro
¿Qué son GEN_FA y GEN_FR? Son tres orígenes de facturación (C1, GEN_FA, GEN_FR) que convergen al mismo proceso de cobro.flujo-tesoreria

Aclaraciones de reuniones de negocio

Reglas confirmadas y matices identificados en reuniones con el cliente. Fuentes: "Modificaciones luego de Analizar el DFD.docx" y "Cambios por nuevas consultas del 27-11-2025.docx" (~Nov 2025).

#ConceptoDecisiónTipoDocumentado en
1NV generada por usuario CRM comercialConfirmadoCoreflujo-comercial-process
2Docs ISO (Confirmación NP + Pedido Producción) generados por el sistemaConfirmadoCoreflujo-comercial-process, nota-pedido-resource
3Modificaciones post-confirmación: ¿quién modifica y cómo?Confirmado: Solo vendedor o Admin. Reimprimir Pedido + email. Producción pasiva.Coreflujo-comercial-process
4Rol de Producción: ¿pasiva o con versionado?Confirmado: Producción es actor pasivo. No versiona ni modifica.Coreflujo-produccion-process
5NV por ítem: flexible (1:1 o N:1 configurable)ConfirmadoConfignota-venta-resource
6Factura:NV = 1:NConfirmadoCorenota-venta-resource
7Estado en_negro para ventas informalesConfirmadoCorenota-venta-resource
8Retenciones: mecanismo formal + override manualConfirmadoCoreflujo-tesoreria, nota-venta-resource
9Repuesto: PV específico es config de empresaConfirmadoConfigflujo-administracion-process
10Entrega máquina (N° serie, etc.): extensión maquinariaConfirmadoExtensiónflujo-administracion-process
11Póliza: baja progresiva por entregaConfirmadoCore (licitaciones)poliza-seguro-resource, flujo-administracion-process
12Comisiones/bonificaciones: fuera de scope, solo informes. Las bonificaciones de precio de la NV son N dinámicas encadenadas (tabla nota_venta_bonificacion), no 3 porcentajes fijos.ConfirmadoExclusión / Coreflujo-tesoreria, nota-venta-resource
13Licitación unificada: todo registro es CRM Comercial. Si proviene de licitación, se marca con flag es_licitacion en el CRM. Modelo detallado de licitación diferido como anexo futuro.ConfirmadoConfiglicitacion-resource, extension-comercial
14¿Es Licitación? en Administración: se hereda automáticamente del flag es_licitacion del CRM de origen. No es verificación manual.ConfirmadoConfigflujo-administracion-process
15GEN_FA, GEN_FR y C1 son las tres entradas al cobro (tres orígenes de facturación desde Administración); el proceso de cobro es idéntico para las tresConfirmadoCoreflujo-tesoreria
16Stock no omite ProducciónConfirmadoCorenota-venta-resource
17Estados NV pueden retrocederConfirmadoCorenota-venta-resource
18Pedido:Producción es 1:1ConfirmadoCorenota-pedido-resource
19Ítems NP vienen de presupuesto CRM Los ítems de NP provienen del catálogo de productos de Ventas. NP es independiente del budget CRM (sin FK).Actualizado 2026-03-31Corenota-pedido-resource, entidades-comerciales
20Póliza solo flag en esta etapaConfirmadoConfigpoliza-seguro-resource
21Docs ISO (NV, Conf NP, Pedido Prod) deben imprimirseConfirmadoCoreflujo-comercial-process, nota-pedido-resource
22NP y NV: modificables en cualquier estado → genera revisión. Numeración NP-XXXX Rev.0N / NV-XXXX Rev.0N.Confirmado 2026-03-31Corenota-pedido-resource, nota-venta-resource
23Modalidades A/B/C/D: campo declarativo (clasificador) en MVP. Sin lógica asociada. Extensible en v2.Confirmado 2026-03-31Confignota-pedido-resource, nota-venta-resource
24importe_a_facturar se define al crear la NV. Puede actualizarse (genera revisión).Confirmado 2026-03-31Corenota-venta-resource
25Adquirentes sin registro: alta automática en ordcon al persistir la NV.Confirmado 2026-03-31Corenota-venta-resource
26concesionario_id en NV → FK a ordcon, siempre requerido. Recibe el cliente_id de la NP (puede ser concesionario o cliente directo). No se exige que sea concesionario. Sin FK formal ordcon↔cpdprov en esta etapa.Confirmado 2026-03-31Coreentidades-comerciales, nota-venta-resource
27NP y NV viven en Modules/Crm/ como subdominios del ciclo CRM.Confirmado 2026-03-31Arquitectura
28NV → Facturación: genera prefa directamente (flujo propio, paralelo al budget→prefa existente).Confirmado 2026-03-31Corenota-venta-resource

Estado MVP

Implementado en feature/crm-ciclo-comercial-mvp:

ComponenteRepoEstado
Migraciones (ALTERs + 6 tablas nuevas)migrations/✅ Implementado
Módulo NP — backend (Models→Routes + tests)bautista-backend/✅ Implementado
Módulo NV — backend (Models→Routes + tests)bautista-backend/✅ Implementado
Test integración NP ciclo completobautista-backend/✅ Implementado
Frontend NP — types, schema, service, hooks, componentsbautista-app/✅ Implementado
Frontend NV — types, schema, service, hooks, componentsbautista-app/✅ Implementado
Integración cards Tab 2 CrmRecordFormActionsbautista-app/✅ Implementado
PDF RE-COM003 (confirmación NP)informes/✅ Implementado
PDF RE-COM004 (nota de venta)informes/✅ Implementado

Estados MVP de Nota de Pedido: borrador, confirmada, cancelada.

Estados MVP de Nota de Venta: solo pedido_confirmado y cancelada. Los estados en_fabricacion, disponible, facturado, cobrada son seteados por otros módulos (post-MVP).

Fuera de scope MVP (post-MVP):

  • USD / tipo de cambio / dólar diferido
  • Estados NV: en_produccion, disponible, con_cambios, entregado, facturado, cobrado
  • NV → prefa (flujo de facturación desde NV — arquitectura preparada, no activada)
  • Relación NP/NV ↔ budget/presupuesto CRM

Endpoints disponibles (MVP)

Nota de Pedido — Modules/Crm/

MétodoRutaDescripción
POST/mod-crm/nota-pedidoCrear NP (estado inicial: borrador)
GET/mod-crm/nota-pedidoListar NP (filtros: crm_record_id, estado)
GET/mod-crm/nota-pedido/{id}Detalle NP
PUT/mod-crm/nota-pedido/{id}Actualizar NP (solo estado borrador)
DELETE/mod-crm/nota-pedido/{id}Soft delete (solo estado borrador)
POST/mod-crm/nota-pedido/{id}/confirmarConfirmar NP (borradorconfirmada)
GET/mod-crm/nota-pedido/{id}/revisionesHistorial de versiones

Nota de Venta — Modules/Crm/

MétodoRutaDescripción
POST/mod-crm/nota-ventaCrear NV desde NP confirmada (estado: pedido_confirmado)
GET/mod-crm/nota-ventaListar NV
GET/mod-crm/nota-venta/{id}Detalle NV
PUT/mod-crm/nota-venta/{id}Actualizar NV (genera nueva versión)
POST/mod-crm/nota-venta/{id}/cancelarCancelar NV

PDFs (informes/ port 9999)

CódigoNombreDisponible para
405RE-COM003 Confirmación Nota de PedidoNP en estado confirmada
406RE-COM004 Nota de VentaNV en estado pedido_confirmado

Referencia técnica completa: specs SDD en openspec/changes/crm-ciclo-comercial-mvp/specs/crm/