AchieveApex: app contracts
Generado desde
achieveApex-Frontend/public/ai-docsel 2026-10-15. Contiene 22 archivos de la appcontracts. Para el contexto general del producto verapex-resumen.md.
Contracts
Contratos, plantillas y firma electronica.
- Etapa: Beta
- Landing:
/{orgId}/contracts
Modulos
| Modulo | Slug | Estado | Proposito |
|---|---|---|---|
| Contracts | contratos |
beta | Ciclo de vida de contratos. |
| Templates | templates |
beta | Plantillas reutilizables. |
| Firma publica | firma-publica |
beta | E-sign /contracts/sign/{token}. |
Funcionalidades internas
18 funcionalidades documentadas en 3 modulos. Ver la tabla de cada modulo.
id: contratos app: contracts nombre: Contratos estado: beta permiso: can_access_contracts
Contratos
Gestiona documentos para solicitar firmas electrónicas o registrar contratos recibidos.
Para que sirve
- Una agencia envía un acuerdo de servicios para firma y conserva el resultado con el deal del cliente.
- Una inmobiliaria prepara contratos de arrendamiento con varios firmantes y controla su vencimiento.
- Un despacho archiva contratos ya firmados recibidos de terceros junto al contacto, proyecto o factura relacionados.
- Una empresa B2B revisa qué contratos siguen pendientes y recuerda a los firmantes sin salir del CRM.
Que lo hace diferente
- Un contrato puede vincularse con contacto, empresa, deal, estimate, invoice y proyecto del CRM.
- Combina firma pública mediante enlace con el registro de contratos recibidos que no requieren un flujo de firma.
- Genera el documento firmado con sello y certificado de auditoría, y conserva eventos del proceso.
- Usa plantillas con variables de los registros CRM para crear el documento inicial de contratos de firma.
Acceso
- Ruta principal:
/[orgId]/contracts - Como se llega:
Header app switcher > Contracts - Permiso requerido:
can_access_contractsy permisos de contratos propios o de toda la organización
Alcance tecnico
- Frontend: lista, detalle, preparación y panel lateral de contratos.
- Backend:
contracts,contract-document-versions,contract-signers,contract-signature-fields,contract-send,cron-expire-contracts. - Integraciones externas: S3, SES, Telnyx y generación PDF.
Funcionalidades internas
| Funcionalidad | Archivo | Resumen |
|---|---|---|
| Crear contrato | create-contract.md | Inicia firma electrónica o registro. |
| Registrar contrato recibido | register-contract.md | Archiva un documento sin firma. |
| Buscar y filtrar | search-and-filter.md | Encuentra contratos por contenido y estado. |
| Gestionar detalle | contract-detail.md | Actualiza propietario, datos y relaciones. |
| Gestionar versiones | document-versions.md | Sube y consulta el documento vigente. |
| Preparar firmas | prepare-signatures.md | Añade firmantes y campos en el PDF. |
| Enviar para firma | send-for-signature.md | Define idioma, mensaje y vencimiento. |
| Recordar firmantes | reminders.md | Reenvía invitaciones pendientes. |
| Anular contrato | void-contract.md | Revoca un flujo aún no finalizado. |
| Historial y finalización | history-and-completion.md | Conserva eventos y genera el documento final. |
Relaciones
- Depende de: Contactos, Empresas, Deals, Estimates, Invoices y Proyectos.
- Usado por: firma pública y documentos relacionados.
Limitaciones y notas
- Los contratos registrados no se pueden enviar ni preparar para firma.
id: contract-detail modulo: contratos app: contracts nombre: Gestionar detalle del contrato tipo: accion
Gestionar detalle del contrato
Consulta y actualiza los datos, propietario y relaciones de un contrato.
Que se logra
- Resultado: mantiene el documento contractual conectado con su responsable y registros comerciales relacionados.
- Caso de uso: un ejecutivo actualiza el valor y vincula la factura de un acuerdo antes de iniciar la firma.
- Se combina con: versiones del documento, preparación de firmas y CRM.
Donde esta
- Ruta:
/[orgId]/contracts/[contractId] - Acceso en UI:
Contracts > fila - Componente(s):
ContractDetailView.tsx,ContractSidebar.tsx
Como funciona
- Revisa
DocumentyActivity. - Edita valor, fechas y notas desde el panel lateral.
- Cambia el propietario o asigna y desvincula contacto, empresa, deal, estimate, invoice y proyecto.
- Descarga el documento o abre
Prepare & Sendpara un borrador de firma.
Reglas y validaciones
- Los permisos propios o globales se basan en el propietario.
- Tras la primera firma, estimate, invoice y archivos adicionales quedan bloqueados.
Backend
- Servicios:
contracts(get/patch), servicios de relaciones.
Relaciones
- Requiere: contrato existente.
id: create-contract modulo: contratos app: contracts nombre: Crear contrato para firma tipo: accion
Crear contrato para firma
Inicia un borrador que podrá prepararse y enviarse para firma electrónica.
Que se logra
- Resultado: crea un contrato de firma con documento y relaciones de negocio listo para preparar.
- Caso de uso: una agencia abre un acuerdo ligado al deal ganado de un cliente antes de enviarlo a firma.
- Se combina con: plantillas, preparar firmas y registros CRM.
Donde esta
- Ruta:
/[orgId]/contracts - Acceso en UI:
Contracts > New Contract > Request signatures - Componente(s):
CreateContractDialog.tsx
Como funciona
- Elige
Request signaturese introduce el título. - Sube un PDF/DOCX o selecciona una plantilla activa.
- Vincula opcionalmente registros CRM, financieros o proyecto y añade valor o fechas.
- Crea el borrador y abre su detalle.
Reglas y validaciones
- Título y documento o plantilla son obligatorios.
- Los archivos aceptados son PDF/DOCX hasta 20 MB.
Backend
- Servicios:
contracts(create),contract-document-versions(create),contract-generate-document(create).
Relaciones
- Dispara / afecta: preparación y envío para firma.
id: document-versions modulo: contratos app: contracts nombre: Gestionar versiones del documento tipo: accion
Gestionar versiones del documento
Mantiene el archivo actual del contrato y conserva las versiones previas.
Que se logra
- Resultado: reemplaza el documento de trabajo sin perder el historial de versiones del contrato.
- Caso de uso: una empresa actualiza las cláusulas de un acuerdo antes de enviarlo a los firmantes.
- Se combina con: preparar firmas y detalle del contrato.
Donde esta
- Ruta:
/[orgId]/contracts/[contractId] - Acceso en UI:
Contract detail > Document > upload or version picker - Componente(s):
ContractDetailView.tsx,ContractSidebar.tsx
Como funciona
- Sube un PDF o DOCX desde el detalle.
- El sistema convierte el DOCX para permitir vista previa y firma.
- Consulta la versión actual o selecciona una versión disponible.
Reglas y validaciones
- Al incorporar una versión, los campos ligados a la anterior dejan de ser vigentes.
- Después de abandonar
draft, no se puede cambiar la estructura de firma.
Backend
- Servicios:
contract-document-versions(find/create). - Efectos: S3 almacena el archivo y se calcula la vista PDF.
Relaciones
- Afecta: preparación de firmas.
id: history-and-completion modulo: contratos app: contracts nombre: Historial y finalización del contrato tipo: automatizacion
Historial y finalización del contrato
Registra el progreso de firma y produce el documento definitivo cuando firma la última persona.
Que se logra
- Resultado: conserva el rastro de la firma y entrega un PDF final con certificado al completar el flujo.
- Caso de uso: un despacho demuestra el progreso y cierre de un acuerdo ante el propietario del contrato.
- Se combina con: firma pública, recordatorios y detalle del contrato.
Donde esta
- Ruta:
/[orgId]/contracts/[contractId] - Acceso en UI:
Contract detail > Activity / Signers - Componente(s):
ContractTimeline.tsx,ContractSidebar.tsx
Como funciona
- El historial refleja creación, envío, apertura, recordatorios, firma, rechazo o anulación.
View detailsmuestra información de una firma o rechazo.- Al completar todos los firmantes, el sistema finaliza el contrato y ofrece su descarga.
Reglas y validaciones
- El proceso pasa por
Sent,Partially SignedySigned, o por rechazo, vencimiento o anulación. - El cron vence contratos pendientes después de su fecha límite.
Backend
- Servicios:
contract-events(find),cron-expire-contracts. - Efectos: se sella el PDF, se agrega certificado de firma y se envían correos de finalización.
Relaciones
- Requiere: firma pública.
id: prepare-signatures modulo: contratos app: contracts nombre: Preparar firmantes y campos tipo: accion
Preparar firmantes y campos
Configura quién firma y dónde debe completar el documento.
Que se logra
- Resultado: asigna a cada firmante los campos obligatorios y el orden necesario para completar un PDF.
- Caso de uso: una inmobiliaria coloca firmas e iniciales para arrendador, arrendatario y codeudor.
- Se combina con: enviar para firma y firma pública.
Donde esta
- Ruta:
/[orgId]/contracts/[contractId]/prepare - Acceso en UI:
Contract detail > Prepare & Send - Componente(s):
ContractPrepareView.tsx,ContractPdfCanvas.tsx
Como funciona
- Agrega firmantes manualmente, desde el usuario, equipo o cliente.
- Selecciona firma paralela o secuencial y ordena los firmantes.
- Coloca
Signature,Initials,Name,Date,TextoCheckboxsobre el PDF. - Ajusta responsable, obligatorio y etiqueta de cada campo.
Reglas y validaciones
- Solo está disponible para borradores de firma, no para
On file. - Cada firmante necesita al menos un campo
Signatureobligatorio antes de enviar. - Los cambios se guardan progresivamente.
Backend
- Servicios:
contract-signers,contract-signature-fields,contracts(create/patch/remove).
Relaciones
- Requiere: documento PDF vigente.
id: register-contract modulo: contratos app: contracts nombre: Registrar contrato recibido tipo: accion
Registrar contrato recibido
Archiva un contrato que ya recibió la organización, sin solicitar firmas.
Que se logra
- Resultado: conserva un contrato firmado externamente con sus relaciones comerciales sin abrir un proceso de firma.
- Caso de uso: una inmobiliaria archiva un contrato de arrendamiento recibido y lo relaciona con el inquilino.
- Se combina con: contactos, empresas, deals y proyectos.
Donde esta
- Ruta:
/[orgId]/contracts - Acceso en UI:
Contracts > New Contract > Register on file - Componente(s):
CreateContractDialog.tsx
Como funciona
- Selecciona
Register on file. - Añade título y un PDF/DOCX.
- Vincula registros relacionados y detalles opcionales.
- Selecciona
Register contract.
Reglas y validaciones
- Requiere documento y no admite iniciar desde plantilla.
- No tiene firmantes, preparación ni envío electrónico.
Backend
- Servicios:
contracts(create),contract-document-versions(create).
Relaciones
- Requiere: un documento recibido.
id: reminders modulo: contratos app: contracts nombre: Recordatorios a firmantes tipo: accion
Recordatorios a firmantes
Reenvía la invitación de firma a un firmante pendiente.
Que se logra
- Resultado: reanuda el seguimiento de un firmante pendiente sin generar un contrato nuevo.
- Caso de uso: una consultora recuerda a un cliente el acuerdo enviado antes de la fecha de vencimiento.
- Se combina con: enviar para firma e historial del contrato.
Donde esta
- Ruta:
/[orgId]/contracts/[contractId] - Acceso en UI:
Contract detail > Signers > reminder bell - Componente(s):
ContractSidebar.tsx
Como funciona
- Abre el contrato enviado.
- Selecciona el recordatorio junto al firmante pendiente.
- El sistema reenvía el correo de invitación.
Reglas y validaciones
- Solo aplica a contratos
SentoPartially Signed. - No se permite para firmantes que ya firmaron o rechazaron.
Backend
- Servicios:
contract-send(create con acción de recordatorio). - Efectos: envía correo y registra el evento.
Relaciones
- Requiere: envío para firma previo.
id: search-and-filter modulo: contratos app: contracts nombre: Buscar y filtrar contratos tipo: vista
Buscar y filtrar contratos
Permite localizar contratos y segmentarlos por tipo o estado.
Que se logra
- Resultado: identifica contratos de firma o archivados por estado, contenido y relación comercial.
- Caso de uso: un despacho prioriza los contratos enviados que siguen pendientes antes del cierre mensual.
- Se combina con: detalle del contrato e historial de firma.
Donde esta
- Ruta:
/[orgId]/contracts - Acceso en UI:
Contracts > search and filters - Componente(s):
ContractsListView.tsx
Como funciona
- Escribe un término en la búsqueda.
- Filtra entre
For signatureyOn file, y por estado. - Abre una fila o un registro relacionado de la columna
Related.
Reglas y validaciones
- La búsqueda cubre título, número, notas, relaciones y datos de firmantes.
- Los contratos registrados no muestran firmantes.
Backend
- Servicios:
contracts(find). - Hooks relevantes: búsqueda de contratos.
Relaciones
- Requiere: contratos creados.
id: send-for-signature modulo: contratos app: contracts nombre: Enviar contrato para firma tipo: accion
Enviar contrato para firma
Envía enlaces de firma a todos los firmantes configurados.
Que se logra
- Resultado: inicia un proceso de firma con enlaces personales, idioma, mensaje y vencimiento definidos.
- Caso de uso: una empresa B2B envía un acuerdo a cliente y representante legal siguiendo un orden acordado.
- Se combina con: preparar firmas, firma pública e historial del contrato.
Donde esta
- Ruta:
/[orgId]/contracts/[contractId]/prepare - Acceso en UI:
Prepare & Send > Send for signature - Componente(s):
ContractPrepareView.tsx
Como funciona
- Espera que figure
All changes saved. - Abre
Send for signature. - Selecciona idioma, asunto, mensaje y vencimiento.
- Confirma con
Send now.
Reglas y validaciones
- Solo se envían borradores con documento, firmantes y firma obligatoria por firmante.
- El vencimiento es entre 1 y 365 días.
- En modo secuencial todos reciben enlace, pero los posteriores ven espera hasta su turno.
Backend
- Servicios:
contract-send(create). - Efectos: genera tokens, envía correos, registra historial y fija vencimiento.
Relaciones
- Dispara / afecta: firma pública.
id: void-contract modulo: contratos app: contracts nombre: Anular contrato tipo: accion
Anular contrato
Detiene un contrato que ya no debe seguir disponible para firma.
Que se logra
- Resultado: invalida los enlaces de firma de un documento que no debe continuar vigente.
- Caso de uso: una empresa reemplaza una propuesta contractual enviada con condiciones incorrectas.
- Se combina con: historial del contrato y firma pública.
Donde esta
- Ruta:
/[orgId]/contracts/[contractId] - Acceso en UI:
Contract detail > More > Void contract - Componente(s):
ContractDetailView.tsx
Como funciona
- Abre el menú
More. - Selecciona
Void contracty confirma la operación. - El contrato queda anulado y los enlaces de firma se invalidan.
Reglas y validaciones
- No se puede anular un contrato ya firmado, vencido o anulado.
Backend
- Servicios:
contract-send(create con acción de anulación). - Efectos: elimina los tokens de firmantes y añade un evento al historial.
Relaciones
- Afecta: firma pública.
id: firma-publica app: contracts nombre: Firma pública estado: public permiso: ninguno
Firma pública
Permite a una persona firmar un contrato desde un enlace seguro sin cuenta de AchieveApex.
Para que sirve
- Una empresa de servicios obtiene la firma de un cliente sin pedirle acceso al CRM.
- Una inmobiliaria coordina una firma secuencial entre arrendador, arrendatario y codeudor.
- Un despacho recoge evidencia de consentimiento, verificación y, cuando se exige, foto de identidad.
- Un equipo comercial recibe el documento final al completar el último firmante.
Que lo hace diferente
- La firma pública completa el contrato que vive en Apex y conserva sus relaciones con contacto, deal, factura o proyecto.
- Admite orden paralela o secuencial, y entrega cada enlace según el estado del flujo.
- El documento final se sella con un certificado de auditoría y el historial queda disponible para el propietario en Contracts.
- La verificación puede usar correo y SMS con el canal Telnyx configurado por la organización.
Acceso
- Ruta principal:
/contracts/sign/[token] - Como se llega: enlace recibido por correo
- Permiso requerido: ninguno
Alcance tecnico
- Frontend:
ContractSigningExperience,SignaturePady captura de identidad. - Backend:
public-contract-signing. - Superficies publicas:
/contracts/sign/[token]. - Integraciones externas: SES, Telnyx, S3 y generación PDF.
Funcionalidades internas
| Funcionalidad | Archivo | Resumen |
|---|---|---|
| Abrir paquete de firma | open-signing-package.md | Muestra el estado y documentos disponibles. |
| Verificar identidad | verify-identity.md | Valida códigos enviados por correo o SMS. |
| Completar campos | fill-fields.md | Rellena los campos asignados en el PDF. |
| Firmar o rechazar | sign-or-decline.md | Registra consentimiento, firma o rechazo. |
Relaciones
- Depende de: Contratos, firmantes y documentos relacionados.
- Dispara / afecta: finalización del contrato y correos de estado.
Limitaciones y notas
- Un firmante secuencial puede abrir el enlace, pero debe esperar su turno.
id: fill-fields modulo: firma-publica app: contracts nombre: Completar campos del contrato tipo: publico
Completar campos del contrato
Permite llenar los campos que el emisor asignó al firmante dentro del PDF.
Que se logra
- Resultado: cada firmante completa únicamente los datos y firmas que le corresponden en el documento.
- Caso de uso: una inmobiliaria recoge fecha, iniciales y firma de cada parte del arrendamiento.
- Se combina con: abrir paquete de firma y firmar o rechazar.
Donde esta
- Ruta:
/contracts/sign/[token] - Acceso en UI:
Signing page > document fields - Componente(s):
ContractSigningExperience.tsx,ContractPdfCanvas.tsx
Como funciona
- Selecciona el siguiente campo o pulsa directamente uno del PDF.
- Completa texto, nombre, fecha, casilla, iniciales o firma.
- El avance indica campos completados y dirige al siguiente obligatorio.
Reglas y validaciones
- Los campos requeridos deben completarse para finalizar.
- El nombre y la fecha se proponen automáticamente cuando están vacíos.
Backend
- Servicios:
public-contract-signing(get/create).
Relaciones
- Requiere: paquete de firma disponible.
id: open-signing-package modulo: firma-publica app: contracts nombre: Abrir paquete de firma tipo: publico
Abrir paquete de firma
Presenta al firmante el documento, sus campos y el estado de su enlace.
Que se logra
- Resultado: el firmante sabe si puede actuar, esperar su turno o si el enlace ya no está disponible.
- Caso de uso: un arrendatario abre el enlace de su contrato y consulta el PDF sin usar una cuenta interna.
- Se combina con: verificar identidad y completar campos.
Donde esta
- Ruta:
/contracts/sign/[token] - Acceso en UI: enlace enviado por correo
- Componente(s):
ContractSigningExperience.tsx
Como funciona
- La persona abre el enlace personal.
- Ve un estado de disponible, completado, espera, verificación requerida o no disponible.
- Cuando corresponde, consulta el PDF y documentos relacionados.
Reglas y validaciones
- Un enlace anulado, rechazado o vencido no permite firmar.
- En firma secuencial muestra a quién debe esperar.
Backend
- Servicios:
public-contract-signing(get).
Relaciones
- Requiere: envío de contrato.
id: sign-or-decline modulo: firma-publica app: contracts nombre: Firmar o rechazar contrato tipo: publico
Firmar o rechazar contrato
Registra la decisión del firmante, su consentimiento y evidencia asociada.
Que se logra
- Resultado: formaliza la firma o rechazo y deja evidencia para finalizar o detener el contrato.
- Caso de uso: un cliente acepta un acuerdo con firma y consentimiento desde el enlace recibido por correo.
- Se combina con: verificación de identidad e historial y finalización del contrato.
Donde esta
- Ruta:
/contracts/sign/[token] - Acceso en UI:
Signing page > FinishoMore > Decline - Componente(s):
ContractSigningExperience.tsx,SignaturePad.tsx,SigningIdentityPhoto.tsx
Como funciona
- Añade la firma dibujada, escrita o cargada cuando existe un campo de firma.
- Selecciona
Finish, acepta el consentimiento y toma foto de identidad si se solicita. - Confirma
Sign; alternativamente abreDeclinee indica un motivo opcional.
Reglas y validaciones
- Requiere consentimiento, campos obligatorios y firma si hay campo de firma.
- La foto requerida debe ser JPEG y no superar 3 MB.
- Un rechazo cambia el contrato a
Declinedy avisa al propietario.
Backend
- Servicios:
public-contract-signing(create). - Efectos: guarda evidencia, registra IP y dispositivo; la última firma finaliza y sella el PDF.
Relaciones
- Dispara / afecta: historial y finalización del contrato.
id: verify-identity modulo: firma-publica app: contracts nombre: Verificar identidad del firmante tipo: publico
Verificar identidad del firmante
Verifica al firmante antes de mostrarle el paquete de firma cuando el remitente lo exige.
Que se logra
- Resultado: añade una comprobación por código antes de permitir el acceso al documento de firma.
- Caso de uso: un despacho exige código por correo o SMS antes de que un cliente firme un acuerdo sensible.
- Se combina con: abrir paquete de firma y firmar o rechazar.
Donde esta
- Ruta:
/contracts/sign/[token] - Acceso en UI: pantalla
Verification - Componente(s):
ContractSigningExperience.tsx
Como funciona
- La persona solicita un código.
- Recibe el mismo código de seis dígitos por correo, SMS o ambos.
- Lo introduce y continúa al documento.
Reglas y validaciones
- El código vence en 15 minutos.
- Después de cinco intentos fallidos debe solicitarse un código nuevo.
- La verificación SMS requiere teléfono válido del firmante.
Backend
- Servicios:
public-contract-signing(create). - Efectos: correo de verificación y/o SMS de Telnyx.
Relaciones
- Requiere: verificación configurada al preparar el firmante.
id: templates app: contracts nombre: Plantillas de contratos estado: beta permiso: can_access_contracts
Plantillas de contratos
Define documentos reutilizables con variables para generar contratos de firma.
Para que sirve
- Una consultora estandariza acuerdos de servicios y genera un borrador específico para cada cliente.
- Una inmobiliaria reutiliza la base de contratos y completa datos del inmueble o negocio vinculado.
- Un despacho reduce la copia manual de datos al crear contratos desde oportunidades y contactos del CRM.
Que lo hace diferente
- Las variables se resuelven a partir de los registros vinculados al contrato de Apex, no de una base externa de destinatarios.
- La plantilla genera directamente la primera versión de un contrato que después se prepara y envía para firma pública.
- Las plantillas activas se administran dentro de la misma aplicación que conserva contratos, relaciones CRM e historial de firma.
Acceso
- Ruta principal:
/[orgId]/contracts/templates - Como se llega:
Contracts > Templates - Permiso requerido:
can_access_contractsy permiso de edición de contratos
Alcance tecnico
- Frontend:
ContractTemplatesViewyContractTemplateEditorView. - Backend:
contract-templatesycontract-generate-document.
Funcionalidades internas
| Funcionalidad | Archivo | Resumen |
|---|---|---|
| Gestionar plantillas | manage-templates.md | Crea, busca, activa o elimina plantillas. |
| Editar documento | edit-template-document.md | Redacta el contenido en Markdown. |
| Usar variables | template-variables.md | Inserta datos del contrato relacionado. |
| Generar contrato | generate-contract.md | Convierte una plantilla activa en documento. |
Relaciones
- Depende de: Contratos y registros CRM vinculados.
- Usado por: creación de contratos para firma.
Limitaciones y notas
- Solo las plantillas activas se ofrecen al crear un contrato.
id: edit-template-document modulo: templates app: contracts nombre: Editar documento de plantilla tipo: accion
Editar documento de plantilla
Redacta y guarda el contenido reutilizable de una plantilla.
Que se logra
- Resultado: estandariza el texto de futuros contratos y conserva una base editable por la organización.
- Caso de uso: un despacho actualiza sus cláusulas para que los próximos acuerdos usen la versión aprobada.
- Se combina con: variables de plantilla y generar contrato.
Donde esta
- Ruta:
/[orgId]/contracts/templates/[templateId] - Acceso en UI:
Contracts > Templates > fila - Componente(s):
ContractTemplateEditorView.tsx,DocumentMarkdownEditor
Como funciona
- Actualiza el nombre y el cuerpo en el editor.
- Usa la previsualización del editor para revisar el Markdown.
- Activa o desactiva la disponibilidad de la plantilla.
- Selecciona
Save changes.
Reglas y validaciones
- Guardar requiere nombre y contenido no vacío.
- Las plantillas históricas con HTML aún pueden generar documentos.
Backend
- Servicios:
contract-templates(get/patch).
Relaciones
- Requiere: permiso de edición de contratos.
id: generate-contract modulo: templates app: contracts nombre: Generar contrato desde plantilla tipo: accion
Generar contrato desde plantilla
Convierte una plantilla activa en el documento inicial de un contrato de firma.
Que se logra
- Resultado: crea un borrador documental a partir de una plantilla y sus datos CRM vinculados.
- Caso de uso: una empresa de servicios abre un nuevo acuerdo de cliente desde su modelo de contratación.
- Se combina con: crear contrato, variables de plantilla y preparar firmas.
Donde esta
- Ruta:
/[orgId]/contracts - Acceso en UI:
Contracts > New Contract > Request signatures > Use a template - Componente(s):
CreateContractDialog.tsx
Como funciona
- El usuario elige una plantilla activa al crear un contrato de firma.
- El sistema genera el documento y abre el detalle del nuevo borrador.
- El contrato pasa a preparación de firmantes y campos.
Reglas y validaciones
- Los contratos
Register on fileno pueden usar plantillas. - Si no hay plantillas activas, la opción no está disponible.
Backend
- Servicios:
contract-generate-document(create),contract-document-versions.
Relaciones
- Dispara / afecta: crear contrato y preparar firmas.
id: manage-templates modulo: templates app: contracts nombre: Gestionar plantillas tipo: accion
Gestionar plantillas
Crea y administra el inventario de plantillas reutilizables.
Que se logra
- Resultado: mantiene versiones reutilizables de documentos disponibles para nuevos contratos de firma.
- Caso de uso: una agencia conserva sus modelos de acuerdo activos y retira los que ya no debe usar.
- Se combina con: generar contrato desde plantilla.
Donde esta
- Ruta:
/[orgId]/contracts/templates - Acceso en UI:
Contracts > Templates - Componente(s):
ContractTemplatesView.tsx
Como funciona
- Selecciona
New Template, escribe el nombre y la crea. - Busca por nombre o filtra por estado.
- Abre una fila para editarla, o elimina la plantilla desde
Actions.
Reglas y validaciones
- Crear solicita únicamente el nombre.
- Eliminar una plantilla no altera contratos ya generados.
Backend
- Servicios:
contract-templates(find/create/remove).
Relaciones
- Afecta: creación de contratos desde plantilla.
id: template-variables modulo: templates app: contracts nombre: Variables de plantilla tipo: configuracion
Variables de plantilla
Inserta referencias que se reemplazan al generar un contrato.
Que se logra
- Resultado: completa documentos con datos de las relaciones del contrato al generarlo.
- Caso de uso: una consultora crea un acuerdo desde un deal sin repetir manualmente los datos asociados.
- Se combina con: editar plantilla, contactos, empresas y deals.
Donde esta
- Ruta:
/[orgId]/contracts/templates/[templateId] - Acceso en UI:
Template page > Variables - Componente(s):
ContractTemplateVariablesButton.tsx
Como funciona
- Abre
Variables. - Pulsa una variable para insertarla en la posición actual del editor o usa el icono de copia.
- Guarda el documento.
Reglas y validaciones
- Las variables siguen siendo marcadores en la previsualización de la plantilla.
- Los valores disponibles dependen de los registros vinculados al contrato generado.
Backend
- Servicios:
contract-templates(patch),contract-generate-document(create).
Relaciones
- Requiere: contrato con sus relaciones correspondientes.