CRMconnect Azuvio · Docs

Legal Department

Roles covered: Lawyer · Legal Counsel · DPO (Data Protection Officer) · Compliance Manager
Primary modules: Contracts · Document Management · GDPR · Proposals · HR Contracts · Purchase Contracts · Workflow Automation


Who this guide is for

Role What they do in CRMConnect
Lawyer / Legal Counsel Drafts and manages contracts with clients, suppliers and partners; monitors expirations and renewals
DPO (Data Protection Officer) Manages GDPR consents, data deletion requests, compliance audits
Compliance Manager Approves internal documents, maintains approval flows, manages document archive
Legal Secretary Administers contract templates, sends documents for signing, tracks signature statuses

CONTRACTS (4 types)
  ├── Client Documents         /admin/contracts
  │     Client → digital or manual signature
  ├── Vendor Documents         /admin/contracts_vendor
  │     Vendor → digital or manual signature
  ├── Opportunity Documents    /admin/contracts_opportunity
  │     Lead/Opportunity → pre-sale commitment
  └── HR Contracts             /admin/hr_profile/contracts
        Employee → individual employment contract

INTERNAL DOCUMENTS
  └── Document Management      /admin/document_management
        Multi-level internal approval → electronic signature

COMMERCIAL PROPOSALS (quasi-contract)
  └── Proposals                /admin/proposals
        Digital acceptance/signing by client → quasi-contractual force

COMPLIANCE & GDPR
  └── GDPR                     /admin/gdpr
        Consents, deletion requests, right to be forgotten

Morning (15–20 min)

1. Contracts expiring in 30 / 60 days
/admin/contracts → filter dateend between today and today + 60 days
Initiate the renewal process or send the client a notification.

2. Documents awaiting your approval
/admin/document_management → filter documents with approval = 0 where you are an approver
Review and approve or return with comments.

3. Sent but unsigned contracts
/admin/contracts → filter signed = 0 AND marked_as_signed = 0 AND sent
Follow up on signing and contact the client if needed.

4. Pending GDPR requests
/admin/gdpr → unresolved deletion or data export requests
Process within legal deadlines (30 days).

During the week

  • Monday: Review contracts newly created by the sales team — check standard clauses
  • Wednesday: Approve internal documents from Document Management
  • Friday: Contract status report — how many signed, how many pending, how many expiring this month

Contract types and where to find them

1. Client Documents

Where: /admin/contracts

Contracts with clients — NDAs, service agreements, framework contracts, annexes.

Key fields:

Field Notes
subject Contract title (visible in client portal)
nr Contract number (manual or auto)
contract_type Type: NDA, Service Agreement, Framework Contract, Annex, etc.
client Contracting client
datestart / dateend Validity period
contract_value Contractual value
content HTML content with automatically populated merge fields
not_visible_to_client If 1 → client cannot see the contract in portal
parent_id Link to parent contract (for addenda)
project_id Associated project (optional)

2. Vendor Documents

Where: /admin/contracts_vendor

Identical structure to client contracts, but linked to the vendor record. Includes procurement contracts, vendor NDAs, external service agreements.

3. Opportunity Documents

Where: /admin/contracts_opportunity

Contracts attached to a lead or opportunity — letters of intent (LOI), heads of agreement, pre-contracts. Linked to tblleads instead of tblclients.

4. HR Contracts

Where: /admin/hr_profile/contracts

Individual employment contracts, salary addenda, signed job descriptions. Separate functionality with employee-specific merge fields and a dedicated PDF.


Contract templates

Where: /admin/contracts/templates

Creating a template

  1. Draft the contract content in the HTML/rich text editor
  2. Insert merge fields — fields that auto-populate when the contract is generated

Available merge fields

Contract data:

Merge field Value
{contract_subject} Contract title
{contract_nr} Contract number
{contract_value} Contractual value
{datestart} Start date
{dateend} Expiry date
{contract_type} Contract type

Client data:

Merge field Value
{client_name} Company name
{client_email} Contact email
{client_phone} Phone
{client_address} Full address
{client_vat} Client VAT number

Company and other data:

Merge field Value
{staff_name} Internal representative
{current_date} Current date
{current_year} Current year
Email signature Data from staff profile

Contract types

Where: /admin/contracts/types

Classify contracts by type for organisation and reporting: NDA, Service Agreement, Framework Contract, Annex, Addendum, SLA, Licence, Partnership.


Signing flow — complete guide

Step 1: Drafting and sending

Contract drafted (from template or from scratch)
  ↓
Optional: Internal approval (Legal reviews before sending)
  ↓
"Send" button → automatic email to client with:
  - Unique link: https://company.com/contract/{hash}
  - PDF attached (if configured)
  - Custom message from email template

Step 2: Client signs digitally

Client accesses the link (no authentication — the hash is the authentication):

  1. Reads the contract in browser (HTML or PDF)
  2. Draws signature (canvas touchscreen or mouse)
  3. Fills in: First name, Last name, Email (if not pre-populated)
  4. Clicks Sign and Accept

Step 3: Audit capture — what is recorded

On signing, the system automatically records:

Field Captured value
acceptance_firstname Signatory's first name (from form)
acceptance_lastname Last name
acceptance_email Signatory's email
acceptance_date Exact signing timestamp (DATETIME)
acceptance_ip IP address from which signing occurred
signature PNG image of the digital holographic signature
signed 1 (digital signature confirmation flag)

Legal value: The combination of IP + timestamp + name + signature image constitutes electronic evidence of acceptance. It is not equivalent to a qualified electronic signature (QES) under eIDAS, but has probative value.

Step 4: Staff notification

On signing → automatic email sent to the internal team (Contract_signed_to_staff.php) with:

  • Contract identification
  • Signatory details
  • Link to the contract in CRM

Manual signing (marked_as_signed)

If the contract was signed physically (paper + scanned) or via another external method:

  • From the open contract → Mark as Signedmarked_as_signed = 1
  • Does not capture the digital signature, but blocks editing

Edit lock after signing

Once signed = 1 OR marked_as_signed = 1:

  • Contract fields are read-only — cannot be modified
  • Any modification requires an Addendum (new contract linked via parent_id)

Contract renewals

Where: From the open contract → Renew

What the renewal function does

The renew() method creates a record in tblcontract_renewals:

Recorded field Notes
old_value Previous contractual value
new_value New value (can be changed)
old_start_date Previous start date
new_start_date Renewal start date
new_end_date New expiry date
date_renewed When the renewal was made
renewed_by Who renewed (staff name)
renewed_by_staff_id Staff member's ID

Options on renewal:

  • Keep signature (renew_keep_signature = 1) → existing signature remains
  • Reset signature (renew_keep_signature = 0) → signed = 0, contract must be re-signed by client
  • The isexpirynotified flag resets to 0 → expiry reminders will be re-sent on the new term

Renewal history

All renewals are stored in tblcontract_renewals — you can see the complete renewal history with values and periods, including who performed each renewal.


Monitoring expirations

Automatic expiry notification

The system checks daily (via cron) contracts with dateend < current_date:

  • Email sent to client contacts with contract_emails = 1
  • Template: Contract_expiration_reminder_to_customer
  • Internal template: Contract_expiration_reminder_to_staff
  • isexpirynotified = 1 flag set after sending (prevents re-sending)

Workflow Automation — proactive alert

Configure in Workflow Automation an alert 30 / 60 days before:

Trigger: dateend − 60 days
  → Action: Task "Initiate contract renewal [X]" → Responsible lawyer
  → Action: Reminder email → Client

Trigger: dateend − 30 days (if not renewed)
  → Action: Urgent task "Contract expires in 30 days — action required"
  → Action: Notification to Legal Manager

Contract report — useful filters

Filter Purpose
dateend < today Already expired contracts — follow-up or archiving
dateend within next 30 days Expiring this month — urgent renewal
signed = 0 AND marked_as_signed = 0 Unsigned — follow-up on signature
signed = 1 OR marked_as_signed = 1 Signed — active archive
Per contract_type NDAs only, framework contracts only, etc.

Comments and communication on contracts

Where: Comments tab from the open contract

Bidirectional communication

Who comments Who receives notification
Internal staff Client (email Contract_comment_to_customer)
Client (from portal) Internal team (email Contract_comment_to_staff)

Comment fields:

  • staffid — Who commented (null = client comment)
  • content — Comment text
  • dateadded — Timestamp

Legal use: Clause clarifications, term negotiations, receipt confirmations — all archived in the contract thread with timestamp and author.


Addenda and Annexes

Contracts can form hierarchies through the parent_id field:

Framework Contract #1 (parent)
  ├── Annex no. 1 — Technical specifications (parent_id = 1)
  ├── Annex no. 2 — Prices (parent_id = 1)
  └── Addendum no. 1 — Clause modification (parent_id = 1)

Each addendum follows the same signing flow as the main contract.


Document Management — internal approval flows

Where: /admin/document_management

When to use Document Management vs. Contracts

Situation Module
Document sent to client for signing Contracts
Internal document requiring multi-level approval Document Management
Internal policies, procedures, regulations Document Management
Documents with versioning and structured archive Document Management
Technical proposals requiring director approval Document Management

Folder structure

Organise documents in a folder tree with permissions per folder:

📁 Active Contracts/
   📁 Clients 2026/
   📁 Vendors 2026/
📁 Legal Templates/
   📄 Standard NDA.docx
   📄 Service Framework Contract.docx
📁 Internal Documents/
   📁 HR Policies/
   📁 Compliance Procedures/
📁 Archive/
   📁 Expired Contracts 2025/

Multi-level approval flow

Configuration: From Document Management settings → Approval Flows

Document created/uploaded
  ↓
Approver 1 notified (e.g. Department Manager)
  → Approves → moves to next level
  → Rejects → feedback to creator (note field)
  ↓
Approver 2 notified (e.g. Legal Director)
  → Approves → document FINALLY APPROVED (approve = 1)
  → Optionally: automatically moved to another folder (folder_after_approval)

Document versioning

Each document modification creates a new version in tblmg_file_versions. You can:

  • View the complete version history
  • Revert to a previous version
  • Download any version from the archive

Reminders for pending documents

Configure automatic reminders for approvers who have not responded (tblmg_remiders):

  • Email with direct link to document
  • Custom message
  • Specific send date

Audit log for documents

Table tblmg_audit_logs automatically records all actions on documents in Document Management with: user_id, user_name, action, item_id, date.


GDPR — Personal data compliance

Where: /admin/gdpr

Table tblconsent_purposes — processing types for which you request consent:

  • Email marketing
  • Data transfer to partners
  • Use of data for analytics
  • Tracking cookies

Table tblconsents — individual consent records:

Field Value
contact_id / lead_id Data subject
purpose_id Processing purpose
action opt-in (consent) / opt-out (withdrawal)
date Timestamp
ip IP from which consent was given
opt_in_purpose_description Description of accepted purpose

Data deletion requests (Right to be forgotten)

Table tblgdpr_requests:

Field Notes
request_type account_removal — complete deletion request
status pending → manually processed by DPO
request_date Request date

Legal process:

  1. Client / lead requests data deletion (from portal or email)
  2. DPO receives the request in /admin/gdpr
  3. DPO verifies if there are contractual or legal obligations preventing deletion
  4. If deletion is possible → record is anonymised or deleted
  5. Response sent to person within 30 days (GDPR obligation)

Important: The Gdpr_contracts.php library implements the anonymisation/deletion of contractual data — personal fields are deleted or replaced with anonymous data, the contract remaining in archive without identifiable data.

Right to portability

Data export for a contact/lead can be done from the client or lead record — includes all activities, documents and data stored in the system.


Proposals as quasi-contractual instrument

Where: /admin/proposals

A proposal digitally accepted by the client captures:

Field Value
acceptance_firstname / acceptance_lastname Acceptor's identity
acceptance_email Email
acceptance_date Acceptance timestamp
acceptance_ip IP from which acceptance occurred
signature Signature image (if signature is enabled)
rejected_reason Reason for rejection (if applicable)

The accepted proposal can be converted into a formal contract or can serve as evidence of commercial agreement before signing the actual contract.

Terms and conditions: The terms field on proposals allows including standard legal clauses (T&C) directly in the document sent to the client.


Where: /admin/custom_fields (admin only)

The administrator can add custom fields on contracts for specific legal data:

Example field Type Use
Confidentiality level Dropdown Public / Internal / Confidential / Secret
Legal basis (GDPR) Dropdown Art. 6(1)(a)/(b)/(c)/(f)
Responsible lawyer Text Tracking responsibility
Penalty clause Checkbox Contract with penalty?
Applicable law Text Jurisdiction
Arbitration Checkbox Disputes through arbitration?
Signature type required Dropdown Holographic / Simple electronic / QES

Complete audit trail — what is logged

CRMConnect maintains an automatic log of all actions on legal documents:

Contract activity log

Event What is recorded
Contract created Staff, timestamp, subject, client
Contract modified Staff, timestamp, modified fields
Contract sent to client Timestamp, recipient
Contract signed (digitally) IP, timestamp, signatory name, signature image
Contract signed (manually) Staff who marked it, timestamp
Contract renewed Staff, timestamp, old vs. new values
Comment added Author (staff or client), timestamp, content
File attached Staff, timestamp, file name
Contract deleted Staff, timestamp

HR Contracts — employees

Where: /admin/hr_profile/contracts

Differences from client contracts

Aspect Client Contracts HR Contracts
Linked entity Client (tblclients) Employee (staff)
Merge fields Client data Employee data (function, salary, employment contract details)
PDF template Standard template Employment contract-specific template
Signature Client in portal Employee in HR portal

HR contract-specific features

  • Import from XLSX — can import contracts in bulk
  • Salary table in PDF — structured display of salary components
  • Special merge fieldsHr_contract_merge_fields includes specific fields: function, department, salary, hire date, probation period

Configurable in Workflow Automation (/admin/workflow_automation):

Trigger Action Benefit
Contract created by Sales Task "Legal review required" → Lawyer Zero contracts without verification
Contract signed by client Team notification + archiving task Immediate confirmation
dateend − 60 days Task "Initiate renewal" → Lawyer Proactive renewal
dateend − 30 days Reminder email → Client External alert
dateend passed Notification to Legal Manager Zero expired contracts undetected
DM document approved Move to "Approved" folder + notification Automatic archiving
GDPR request received Urgent task "Process GDPR request 30 days" → DPO Compliance with legal deadline
Proposal accepted Task "Issue formal contract" → Lawyer Continuity of sale→contract flow

Where: /admin/announcements

The legal team can publish internal announcements for:

  • New privacy policies
  • Relevant legislative changes
  • New signing procedures
  • Compliance alerts (e.g. new GDPR requirements, tax changes)

Announcements appear when all users log in and remain visible until confirmation (dismiss).


Request from the administrator at /admin/roles:

Permission Required for
Contracts → View / Create / Edit Full contract management
Contracts → Delete Delete contracts (usually restricted)
Document Management → View / Create / Approve Document approval flow
GDPR → View / Manage Manage requests and consents
Proposals → View View accepted proposals
HR Profile → Contracts Employment contracts
Reports → View Reports and audits
Utilities → Activity Log Audit log access
Announcements → Create Publish internal policies
Custom Fields → View Legal fields on contracts

Quick reference

Workflows: Contract Approval + Signature · Lead → Cash · Recruit to Payroll

Modules: Contracts · Document Management · GDPR · Proposals · HR Profile · Purchase Contracts · Custom Fields · Utilities · Announcements

Related departments: Sales Department · VRM — Vendor Relations · Finance Department · HR Department

← Back to Department Guides

Tip

Use Document Management's approval workflow for all contracts before signature — no contract should reach a client or partner without the required internal sign-offs captured in the system as a timestamped audit trail.

Note

Contract renewal alerts (60 and 30 days) configured in Workflow Automation are the Legal department's most important automation. One missed renewal can leave services running without a contractual basis — a legal and financial risk that is difficult to remediate retroactively.