CRMconnect Azuvio · Docs

Flusso di Lavoro: Approvazione Contratto + Firma Digitale

Moduli coinvolti: Contratti · Gestione Documenti · Automazione Flussi di Lavoro · Proposte
Chi lo utilizza: Legale, Account manager, Responsabile vendite, Clienti
Durata tipica: 1 giorno – 2 settimane (dipende dal numero di approvatori)

Panoramica

Il flusso di firma completo per un documento contrattuale: dalla redazione da un template, attraverso l'approvazione interna multilivello, all'invio per la firma digitale del cliente e all'archiviazione del contratto firmato. I contratti non firmati o scaduti generano promemoria automatici.


Diagramma del flusso

[TEMPLATE CONTRATTO]
  │  libreria di template con campi di unione
  │  ↓ Crea contratto (manuale / da proposta / da opportunità)
  │
[CONTRATTO — Bozza]
  │  campi: oggetto, cliente, tipo, valore, data inizio/fine
  │  contenuto: HTML con campi di unione popolati automaticamente
  │
  ├── [APPROVAZIONE INTERNA — opzionale]
  │     │  flusso multilivello configurato in Gestione Documenti
  │     │  wh_approval_setting → approvatori notificati
  │     │  stato approvazione: in attesa → approvato / rifiutato
  │     │  ↓ Approvato internamente → inviato al cliente
  │
  ├── [INVIATO AL CLIENTE]
  │     │  email con link univoco (URL hash) + PDF allegato
  │     │  il cliente accede al portale con il link ricevuto
  │
  └── [FIRMA CLIENTE]
        │  Metodo A: Firma digitale nel portale
        │            → signed = 1, signature = file PNG
        │            → dmg_approval_detail_eids: IP, timestamp, nome
        │  Metodo B: Contrassegno manuale dall'agente
        │            → marked_as_signed = 1
        │
        ↓
[CONTRATTO FIRMATO ✓]
  │  bloccato per la modifica
  │  avvisi di scadenza: isexpirynotified → promemoria email
  │
[SCADENZA / RINNOVO]
  │  renew() → nuovo contratto con le stesse clausole
  │  firma: mantenuta (renew_keep_signature) o azzerata

Passaggi chiave

1. Template e Tipi di Contratto

Dove: /admin/contracts/templates e /admin/contracts/types

Tipi di Contratto (`/admin/contracts/types`)

Classificano i contratti organizzativamente: NDA, Accordo Quadro, Contratto di Servizio, Addendum, ecc.

Template (`/admin/contracts/templates`)

Documenti HTML pre-redatti con campi di unione che vengono popolati automaticamente quando il contratto viene creato:

Campo di unione Valore
{client_name} Nome cliente
{client_email} Email cliente
{contract_subject} Oggetto contratto
{contract_value} Valore contratto
{contract_nr} Numero contratto
{datestart} Data inizio
{dateend} Data scadenza
{staff_name} Agente responsabile
{current_date} Data corrente

2. Creazione del Contratto

Dove: /admin/contracts

Fonti di creazione:

  • Da proposta accettata → pulsante Crea Contratto porta il cliente e il valore
  • Da opportunità → tramite Contracts_opportunity_model
  • Direttamente/admin/contracts → Aggiungi Contratto
  • Documenti Fornitore/admin/contracts_vendor

Campi chiave (tblcontracts):

Campo Note
subject Titolo del contratto
client Cliente associato (obbligatorio)
contract_type Tipo (NDA, servizi, ecc.)
datestart / dateend Periodo di validità
contract_value Valore monetario
nr Numero contratto (manuale o automatico)
hash Token univoco a 32 caratteri per l'URL di firma

Alla creazione: signed = 0, marked_as_signed = 0, isexpirynotified = 0


3. Approvazione Interna (opzionale, tramite Gestione Documenti)

Dove: /admin/document_management

Se l'organizzazione richiede una revisione interna prima di inviare al cliente, il contratto può essere sottoposto a un flusso di approvazione configurato in Gestione Documenti.

Esiti:

  • Approvato → il contratto è pronto per essere inviato al cliente
  • Rifiutato → restituito al redattore con una nota; modifica + reinvio

4. Invio al Cliente

Dove: Dal contratto aperto → pulsante Invia

Cosa succede:

  1. Email generata dal template contract_send_to_customer con campi di unione popolati
  2. Se document_attachment_on_email = 1 → il PDF del contratto è allegato all'email
  3. L'email contiene un link univoco: https://azienda.com/contract/{hash}
  4. Il cliente accede al link senza autenticazione (hash = autenticazione implicita)

5. Firma Digitale del Cliente

Dove: Portale cliente (URL con hash univoco)

Metodo A — Firma Digitale:

  1. Il cliente legge il contratto nel browser (HTML o PDF)

  2. Disegna la firma nel campo dedicato (canvas touchscreen/mouse)

  3. Clicca Accetta e Firma

  4. Il sistema registra in dmg_approval_detail_eids:

    • Nome del firmatario, email, indirizzo IP, timestamp esatto della firma
  5. Sul contratto nel CRM: signed = 1, signature = {filename.png} (immagine firma)

  6. Notifica automatica inviata all'agente responsabile

Metodo B — Contrassegno Manuale:

L'agente contrassegna il contratto come firmato manualmente:

  • Pulsante Segna come Firmatomarked_as_signed = 1

Blocco della modifica dopo la firma:
Se signed = 1 O marked_as_signed = 1 → i campi del contratto sono bloccati e non possono più essere modificati.


6. Monitoraggio e Scadenza del Contratto

Promemoria di scadenza:

Il sistema controlla dateend giornalmente sui contratti attivi:

  • Se la scadenza si avvicina → email contract_expiration_reminder_to_customer inviata al cliente
  • isexpirynotified = 1 impostato dopo l'invio (per evitare l'invio ripetuto)

Rinnovo (renew()):

  • Viene creato un nuovo contratto con le stesse clausole, data inizio = giorno corrente
  • L'opzione renew_keep_signature:
    • 1 → la firma viene mantenuta sul nuovo contratto
    • 0 → la firma viene azzerata: signed = 0, marked_as_signed = 0, signature = null

Tipi di Contratto in CRMconnect

Tipo URL Descrizione
Documenti Cliente /admin/contracts Contratti con clienti
Documenti Fornitore /admin/contracts_vendor Contratti con fornitori
Documenti Opportunità /admin/contracts_opportunity Allegati alle opportunità

Automazione Flussi di Lavoro — Automazioni Utili

Trigger: Contratto firmato (signed = 1)
  → Azione: Crea Progetto di implementazione
  → Azione: Invia email di benvenuto al cliente
  → Azione: Notifica al team di consegna

Trigger: dateend − 30 giorni
  → Azione: Attività "Contatta cliente per rinnovo" → agente responsabile
  → Azione: Email promemoria al cliente

Trigger: Contratto rifiutato all'approvazione interna
  → Azione: Notifica redattore + nota con motivo del rifiuto

Cosa viene creato automaticamente

Evento Creato automaticamente
Contratto creato da proposta Cliente e valore portati; hash generato
Approvazione interna avviata Notifiche inviate agli approvatori dalla configurazione
Contratto inviato al cliente Email con link hash + PDF (se abilitato)
Il cliente firma digitalmente signed=1; file PNG firma; log dmg_approval_detail_eids
Contratto firmato Notifica agente; registro attività sul record cliente
Data scadenza in avvicinamento Email promemoria cliente; isexpirynotified=1

Punti in cui il flusso può bloccarsi

Problema Causa probabile Soluzione
Il cliente non riesce ad aprire il link Hash errato o sessione scaduta Reinvia il contratto — viene generata una nuova email con lo stesso hash
Impossibile modificare il contratto firmato signed=1 o marked_as_signed=1 blocca la modifica Crea un addendum (nuovo contratto) o ripristina manualmente nel DB
I campi di unione non vengono sostituiti Campi mancanti sul record cliente (es. email vuota) Completa il record cliente prima di creare il contratto
Il cliente non riceve l'email SMTP non impostato o email cliente non valida Controlla SMTP e indirizzo email nel record cliente

Report e Visibilità

  • Elenco contratti/admin/contracts — filtra per tipo, cliente, stato firmato, periodo
  • Contratti scaduti — filtra per dateend < oggi
  • Attività cliente — record cliente → scheda Contratti — cronologia completa

Moduli coinvolti — documentazione dettagliata

← Torna ai Flussi di Lavoro