Skip to content

Nota de Pedido

Módulo: CRM / Comercialización
Tipo: resource
Estado: implementado
Fecha: 2026-03-18


Descripción

Documento generado cuando una venta se concreta en el flujo comercial. La Nota de Pedido es confirmada por el comercial antes de derivarse al área de Producción como "Pedido a Producción".

Es el documento puente entre el área comercial (CRM) y el área de Producción.

Nota: El sistema soporta tanto una Nota de Pedido por ítem/producto como múltiples ítems por Nota de Pedido, según la configuración del negocio. Los ítems son genéricos y abstractos — no están atados a ningún rubro específico.


Campos

Identificacion y origen

CampoTipoDescripcion
idUUIDIdentificador unico
numero_notastringNumero correlativo (formato YYYY-NNNNN, ej: 2025-00651)
pedidostringNumero de pedido interno
crm_record_idFKRegistro CRM Comercial de origen
vendedor_idFKOperador del sistema que realizó la venta. Se selecciona del listado de operadores del sistema. ordven (Vendedores) es una entidad comercial independiente (código de vendedor, comisiones); la relación Vendedor↔Operador está planificada para una etapa futura.
estadoenumVer estados
confirmado_porFKUsuario que confirmo la nota
fecha_confirmaciondatetimeFecha de confirmacion
created_atdatetimeFecha de creacion

Datos del cliente/concesionario

CampoTipoDescripcion
cliente_idFKCliente (concesionario o cliente directo)
contactostringPersona de contacto
direccionstringDireccion del cliente
localidadstringLocalidad
provinciastringProvincia
telefonostringTelefono
emailstringEmail de contacto
cuitstringCUIT del cliente

Detalle de operacion

CampoTipoDescripcion
modalidad_ventaenumA | B | C | D — clasificador declarativo (sin lógica asociada en MVP)
itemsarrayItems del pedido (del catálogo de productos de Ventas). Ver estructura de ítem abajo.
opcionalesarrayItems opcionales con montos
lista_precios_idnumberID de la lista de precios activa (referencia a tabla precios). Default: empresa.lista de configuración.
subtotaldecimalEquipo + opcionales

Descuentos y totales

CampoTipoDescripcion
comision_concesionariostringPorcentajes de comision (ej: "15% + 5%")
descuento_forma_pagodecimalPorcentaje de descuento por forma de pago
otro_descuentodecimalBonificacion adicional
importe_parcial_operaciondecimalSubtotal con descuentos (IVA incluido)
costo_fletedecimalMonto del flete con IVA incluido. Al generar la NV, se copia tal cual.
importe_total_operaciondecimalTotal final de la operacion (IVA incluido)

Pago y entrega

CampoTipoDescripcion
forma_pagotextTexto libre (ej: "7 cheques anticipados divididos en cuotas iguales a 15-30-60-90-120-150-180 dias")
plazo_entregadateFecha de entrega
lugar_entregastringDireccion de entrega

Facturacion

CampoTipoDescripcion
facturacion_tercerosbooleanSI / NO — si la factura va a un CUIT diferente del concesionario
importe_a_facturardecimalMonto a facturar al tercero (IVA incluido). Solo aplica cuando facturacion_terceros = true. Puede no estar definido al crear.
facturar_anticipobooleanSi se debe facturar como anticipo

Adquirente/Tercero: Cuando facturacion_terceros = true, los datos del tercero se almacenan en la tabla relacionada nota_pedido_adquirente (misma estructura que nota_venta_adquirente en NV). El tercero es siempre uno solo por operación. Al confirmar la NP y generar la NV automáticamente, el adquirente se copia a nota_venta_adquirente.

Campos de nota_pedido_adquirente: nota_pedido_id (FK), nombre, cuit, domicilio, condicion_iva, importe (porción a facturar al tercero).

Tercero/Adquirente: Es siempre uno solo por operación. Los datos se almacenan en la tabla relacionada nota_pedido_adquirente (misma estructura que nota_venta_adquirente). No se almacenan inline en nota_pedido.

Estructura de ítem (nota_pedido_item)

CampoTipoDescripcion
producto_idFKProducto del catálogo de Ventas
cantidaddecimalCantidad solicitada
lista_precios_idintegerID de lista de precios usada para este ítem (referencia tabla precios)
precio_unitariodecimalPrecio unitario obtenido del lookup de lista de precios
descripcionstringTexto libre de aclaración por ítem (opcional)

Nota: Los ítems de la NP provienen del catálogo de productos de Ventas. La Nota de Pedido es un recurso independiente del budget CRM — no existe FK entre nota_pedido y budget, y los ítems no se heredan del presupuesto. Son flujos paralelos: el budget→prefa sigue existiendo para el flujo de presupuestos CRM.

Trazabilidad de licitacion: Si el CRM de origen tiene es_licitacion = true, la Nota de Pedido hereda esa condicion automaticamente via crm_record_id. No se almacena un campo de origen separado.

Documento complementario: La Confirmacion de NP (RE-COM003) es el acuerdo comercial. La Nota de Venta es el detalle financiero. Son documentos complementarios generados juntos. Ver documentos-generados.


Frontend

Acceso: Tab 2 "Acciones Especiales" del registro CRM → card "Nota de Pedido" Condición de visibilidad: Solo se muestra si el tipo CRM del registro es comercial (INDUSTRIAL). No aparece en registros de tipo Básico ni Servicio Técnico. Permiso requerido: CRM_NOTA_PEDIDOComponente principal: NotaPedidoOrchestrator (modal xl) Ruta de código: ts/crm/nota-pedido/

Vistas

VistaDescripción
Card NP (Tab 2)Si no existe NP para el registro (ni para ningún registro relacionado): muestra botón "Crear Nota de Pedido". Si ya existe: muestra directamente los datos de la NP con acciones Ver/Editar/Confirmar/Cancelar/Imprimir RE-COM003 según estado. No hay listado.
FormularioCrear/editar NP: datos de cabecera (cliente, vendedor —select de operadores del sistema—, modalidad A/B/C/D, comisiones, descuentos, forma de pago, plazo/lugar entrega, facturación a terceros) + tabla de ítems del catálogo de Ventas con búsqueda de producto. El formulario hace focus automático al primer campo al abrirse.
Modal ConfirmarConfirmación de transición borradorconfirmada. Al confirmar: el backend valida que cliente_id sea un concesionario, luego crea la NV automáticamente en la misma transacción (rollback total si falla). Habilita la card "Nota de Venta" en Tab 2. El adquirente (si existe en nota_pedido_adquirente) se copia a nota_venta_adquirente.

Comportamiento de la card NV en Tab 2

Al confirmar una NP, NotaPedidoOrchestrator invalida la query de NVs del registro CRM. CrmRecordFormActions detecta que ahora existe al menos una NV y activa automáticamente la card "Nota de Venta".


Versionado

La Nota de Pedido implementa versionado formal con audit trail. Cada modificacion post-confirmacion genera una nueva revision del documento.

Campos de versionado

CampoTipoDescripcion
revisionintegerNumero de revision actual (inicia en 0 al confirmar, incrementa con cada modificacion)
revision_fechadatetimeFecha/hora de la ultima revision
revision_usuario_idFKUsuario que realizo la modificacion
revision_motivotextDescripcion del cambio realizado

Nota: La revisión de una NP comienza en 00. El número de NP no cambia entre revisiones; el campo revision se incrementa: Rev.00 → Rev.01 → Rev.02... El formulario físico (RE-COM003) confirma que el versionado formal es parte del proceso ISO.

Historial de revisiones (audit trail)

Cada revision genera un registro en el historial con:

CampoTipoDescripcion
nota_pedido_idFKNP versionada
revisionintegerNumero de revision
fechadatetimeFecha/hora del cambio
usuario_idFKQuien realizo el cambio
motivotextDescripcion del cambio
campos_modificadosjsonDetalle de campos: campo, valor anterior, valor nuevo
snapshotjsonEstado completo del documento antes del cambio (para consulta de versiones anteriores)

Reglas de versionado

  • La NP es modificable en cualquier estado. Cada modificación genera una nueva revisión. El acceso por estado depende del rol del usuario.
  • Solo el vendedor original o Administracion pueden generar nuevas revisiones. Produccion NO tiene permisos de modificacion.
  • Cada revision incrementa el numero de revision en 1. Numeración: NP-XXXX Rev.0N (el número de documento no cambia entre versiones).
  • Se pueden consultar versiones anteriores completas (el snapshot preserva el estado del documento).
  • Al generar una nueva revision, se reimprimen todos los documentos afectados:
    • Confirmacion de Nota de Pedido (RE-COM003) — con nuevo numero de revision
    • Pedido a Produccion — con datos actualizados
    • Nota de Venta (RE-COM004) — si los cambios impactan datos financieros
  • Se envia email a Produccion detallando los cambios realizados.

Estados

EstadoDescripción
borradorGenerada, pendiente de confirmación
confirmadaConfirmada por el comercial, lista para Producción
en_produccionDoc: Pedido a Producción generado y enviado
facturadaNota de Venta emitida

Documentos que genera

DocumentoPasoDestino
Doc: Pedido a ProducciónAl confirmar y enviar a ProducciónA1 Producción → flujo-produccion-process
Doc: Nota de VentaAl registrar la Nota de VentaA2 Administración → nota-venta-desde-crm-process

Documentos ISO generados

Al confirmar una Nota de Pedido, el sistema genera dos documentos imprimibles que cumplen con las normas ISO que la empresa acata:

DocumentoDescripción
Confirmación de Nota de PedidoConfirma la orden de venta al cliente. Se imprime y entrega/envía al cliente.
Pedido a ProducciónOrden de producción enviada al área de Producción. Se imprime y se anota manualmente el número de NV sobre el documento físico.

Ambos documentos deben imprimirse obligatoriamente. Son requeridos por las normas ISO que la empresa cumple.


Reglas de negocio

  • [x] ¿Se puede confirmar una NP sin ítems? No. El backend valida que la NP tenga al menos un ítem antes de permitir la confirmación (400 si no hay ítems).
  • [x] ¿La nota de pedido puede modificarse después de confirmada? Resuelto: Si. Cada modificacion genera una nueva revision formal (versionado). Solo vendedor original o Administracion. Se reimprimen todos los documentos afectados (Conf NP, Pedido a Produccion, NV si aplica) + email a Produccion con detalle de cambios. El sistema enforza permisos (no es solo procedimiento operativo). Produccion es pasiva: no puede modificar.
  • [x] TBD: ¿Un pedido puede derivar en multiples pedidos a produccion? Resuelto: No. Relacion univoca: un pedido deriva en un unico Pedido a Produccion (1:1).
  • [x] TBD: ¿Los items de la nota de pedido vienen del presupuesto CRM previo? Actualizado: No. Los ítems provienen del catálogo de productos de Ventas. La NP es independiente del budget CRM — sin FK a budget. Son flujos paralelos e independientes.
  • [x] Relación 1:1 con CrmRecord: Un CrmRecord puede tener como máximo UNA Nota de Pedido. No existe listado de NPs por registro. La card en Tab 2 muestra directamente esa NP (o la acción de crearla si no existe).
  • [x] Relación compartida en registros relacionados: Si un conjunto de registros CRM están relacionados entre sí, comparten la misma Nota de Pedido. Si los records 1, 2, 3, 4, 5 están relacionados y se crea la NP desde el record 1, al acceder al record 5 el sistema muestra esa misma NP — no permite crear una nueva. La búsqueda de NP existente recorre todo el grupo de registros relacionados.
  • [ ] ¿La nota de pedido puede crearse para cualquier registro CRM? En el MVP aplica solo desde CRM con cliente_id concesionario (es_concesionario = true). Modalidad B podría habilitar NPs desde clientes directos (sin concesionario ni adquirente) — pendiente de definición cuando se resuelva la lógica de modalidades. Ver preguntas-abiertas.

Proceso relacionado

flujo-comercial-process