Overview
This example demonstrates a comprehensive data definition for extracting metadata and key terms from legal contracts. It covers contract identification, parties, financial terms, dates, obligations, and legal clauses.Use Cases
- Contract Management Systems: Extract key contract terms for centralized tracking
- Legal Review Workflows: Identify critical dates, obligations, and risk factors
- Compliance Monitoring: Track renewal dates, termination clauses, and regulatory requirements
- Financial Analysis: Extract payment terms, contract values, and financial obligations
Complete Data Definition Structure
YAML Configuration
Copy
Ask AI
slug: contract-metadata
name: Contract Metadata Extraction
description: Extract key metadata, parties, terms, and obligations from legal contracts
taxonomyType: CONTENT
enabled: true
taxons:
# ==========================================
# Document Metadata
# ==========================================
- name: document_metadata
label: Document Metadata
group: true
children:
- name: filename
label: Original Filename
taxonType: STRING
valuePath: METADATA
metadataValue: FILENAME
description: Source document filename
- name: processing_date
label: Processing Date
taxonType: DATE_TIME
valuePath: METADATA
metadataValue: PROCESSING_DATE
description: When this contract was processed
- name: document_hash
label: Document Hash
taxonType: STRING
valuePath: METADATA
metadataValue: CONTENT_HASH
description: SHA-256 hash for document integrity verification
# ==========================================
# Contract Identification
# ==========================================
- name: contract_header
label: Contract Header
group: true
children:
- name: contract_type
label: Contract Type
taxonType: SELECTION
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The type of contract. Look for headers like "Service Agreement",
"Master Services Agreement", "Purchase Agreement", "NDA", etc.
selectionOptions:
- label: "Service Agreement"
description: "General service delivery contract"
- label: "Master Services Agreement (MSA)"
description: "Framework agreement for multiple projects"
- label: "Statement of Work (SOW)"
description: "Project-specific work definition"
- label: "Purchase Agreement"
description: "Contract for purchase of goods/services"
- label: "Non-Disclosure Agreement (NDA)"
description: "Confidentiality agreement"
- label: "License Agreement"
description: "Software or IP licensing contract"
- label: "Employment Agreement"
description: "Employee contract"
- label: "Consulting Agreement"
description: "Independent contractor agreement"
- label: "Partnership Agreement"
description: "Business partnership terms"
- label: "Lease Agreement"
description: "Property or equipment lease"
- label: "Other"
description: "Other contract type"
- name: contract_number
label: Contract Number
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The unique contract identifier. Look for "Contract No.", "Agreement No.",
"Reference No.", or similar identifiers in the header or footer.
- name: contract_title
label: Contract Title
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The full title of the contract as it appears in the document header.
- name: version
label: Version
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The version number of the contract if specified (e.g., "v1.0", "Rev 2").
- name: replaces_contract
label: Replaces Contract Number
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
If this contract replaces or supersedes a previous agreement,
extract the reference to the previous contract number.
# ==========================================
# Parties
# ==========================================
- name: parties
label: Contract Parties
group: true
description: All parties involved in the contract
children:
- name: party_a
label: Party A (Primary)
group: true
children:
- name: legal_name
label: Legal Name
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The full legal name of the first party. Look for text near
"hereinafter referred to as" or in signature blocks.
- name: role
label: Party Role
taxonType: SELECTION
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "The role of this party (e.g., Provider, Customer, Buyer, Seller)"
selectionOptions:
- label: "Provider"
- label: "Customer"
- label: "Buyer"
- label: "Seller"
- label: "Licensor"
- label: "Licensee"
- label: "Employer"
- label: "Employee"
- label: "Contractor"
- label: "Partner"
- label: "Lessor"
- label: "Lessee"
- name: address
label: Business Address
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "The business address of Party A"
- name: jurisdiction
label: Jurisdiction
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "The state or country of incorporation/registration"
- name: signatory_name
label: Signatory Name
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "Name of the authorized signatory for Party A"
- name: signatory_title
label: Signatory Title
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "Title of the signatory (e.g., CEO, Director)"
- name: party_b
label: Party B (Secondary)
group: true
children:
- name: legal_name
label: Legal Name
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "The full legal name of the second party"
- name: role
label: Party Role
taxonType: SELECTION
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "The role of this party"
selectionOptions:
- label: "Provider"
- label: "Customer"
- label: "Buyer"
- label: "Seller"
- label: "Licensor"
- label: "Licensee"
- label: "Employer"
- label: "Employee"
- label: "Contractor"
- label: "Partner"
- label: "Lessor"
- label: "Lessee"
- name: address
label: Business Address
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "The business address of Party B"
- name: jurisdiction
label: Jurisdiction
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "The state or country of incorporation/registration"
- name: signatory_name
label: Signatory Name
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "Name of the authorized signatory for Party B"
- name: signatory_title
label: Signatory Title
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "Title of the signatory"
- name: additional_parties
label: Additional Parties
group: true
description: Other parties involved (guarantors, witnesses, etc.)
children:
- name: party_name
label: Party Name
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
multiValue: true
semanticDefinition: "Names of any additional parties mentioned in the contract"
- name: party_role
label: Party Role
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
multiValue: true
semanticDefinition: "Roles of additional parties (e.g., Guarantor, Witness)"
# ==========================================
# Financial Terms
# ==========================================
- name: financial_terms
label: Financial Terms
group: true
children:
- name: contract_value
label: Total Contract Value
taxonType: CURRENCY
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The total monetary value of the contract. Look for "Total Contract Value",
"Maximum Liability", or similar financial commitments.
- name: currency
label: Currency
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "The currency for all financial terms (USD, EUR, GBP, etc.)"
- name: payment_structure
label: Payment Structure
taxonType: SELECTION
valuePath: VALUE_OR_ALL_CONTENT
selectionOptions:
- label: "Fixed Price"
- label: "Time & Materials"
- label: "Milestone-Based"
- label: "Retainer"
- label: "Subscription"
- label: "Revenue Share"
- label: "Cost Plus"
- name: payment_terms
label: Payment Terms
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
Payment timing and conditions (e.g., "Net 30", "50% upfront, 50% on completion",
"Quarterly in advance").
- name: late_payment_penalty
label: Late Payment Penalty
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
Penalties for late payment (e.g., "1.5% per month", "10% penalty fee").
- name: deposit_amount
label: Deposit Amount
taxonType: CURRENCY
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: "Any upfront deposit or retainer amount required"
# ==========================================
# Dates and Terms
# ==========================================
- name: dates_and_terms
label: Dates and Terms
group: true
children:
- name: execution_date
label: Execution Date
taxonType: DATE
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The date the contract was signed or executed. Look near signature blocks
or "Dated as of" language.
- name: effective_date
label: Effective Date
taxonType: DATE
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The date the contract becomes effective, which may differ from execution date.
- name: expiration_date
label: Expiration Date
taxonType: DATE
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
The date the contract expires if it has a fixed term.
May be labeled "Term End Date" or "Termination Date".
- name: initial_term
label: Initial Term
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The initial contract duration (e.g., "12 months", "3 years", "Perpetual").
- name: renewal_terms
label: Renewal Terms
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
How the contract renews (e.g., "Auto-renews annually unless terminated with
90 days notice", "Mutual agreement required for renewal").
- name: notice_period
label: Notice Period for Termination
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
How much advance notice is required to terminate the contract
(e.g., "30 days", "90 days written notice").
# ==========================================
# Key Obligations and Deliverables
# ==========================================
- name: obligations
label: Key Obligations
group: true
children:
- name: scope_of_work
label: Scope of Work Summary
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
A high-level summary of what services or deliverables are included.
Look for "Scope of Work", "Services", or "Deliverables" sections.
- name: deliverables
label: Key Deliverables
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
multiValue: true
semanticDefinition: |
Specific deliverables or milestones mentioned in the contract.
- name: service_levels
label: Service Level Requirements
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
Any SLA or performance requirements (e.g., "99.9% uptime",
"Response within 4 hours").
- name: party_a_obligations
label: Party A Key Obligations
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
multiValue: true
semanticDefinition: "Key obligations or responsibilities of Party A"
- name: party_b_obligations
label: Party B Key Obligations
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
multiValue: true
semanticDefinition: "Key obligations or responsibilities of Party B"
# ==========================================
# Legal and Compliance
# ==========================================
- name: legal_clauses
label: Legal Clauses
group: true
children:
- name: governing_law
label: Governing Law
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: |
The jurisdiction whose laws govern the contract (e.g., "State of California",
"Laws of England and Wales").
- name: dispute_resolution
label: Dispute Resolution Method
taxonType: SELECTION
valuePath: VALUE_OR_ALL_CONTENT
selectionOptions:
- label: "Litigation"
- label: "Arbitration"
- label: "Mediation"
- label: "Mediation then Arbitration"
- label: "Not Specified"
- name: arbitration_venue
label: Arbitration Venue
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: "Location or rules for arbitration if applicable"
- name: confidentiality_clause
label: Confidentiality Clause Present
taxonType: BOOLEAN
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "Does the contract include confidentiality obligations?"
- name: confidentiality_duration
label: Confidentiality Duration
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
How long confidentiality obligations last (e.g., "3 years after termination",
"Perpetual").
- name: liability_cap
label: Liability Cap
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
Maximum liability amount or percentage (e.g., "Total fees paid in prior 12 months",
"$100,000").
- name: indemnification
label: Indemnification Present
taxonType: BOOLEAN
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "Does the contract include indemnification clauses?"
- name: insurance_requirements
label: Insurance Requirements
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
multiValue: true
semanticDefinition: |
Required insurance coverage (e.g., "General Liability $2M",
"Professional Indemnity $5M").
- name: intellectual_property
label: IP Ownership Terms
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
Summary of intellectual property ownership and rights provisions.
# ==========================================
# Termination Conditions
# ==========================================
- name: termination
label: Termination Conditions
group: true
children:
- name: termination_for_cause
label: Termination for Cause Allowed
taxonType: BOOLEAN
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "Can the contract be terminated for cause (breach)?"
- name: termination_for_convenience
label: Termination for Convenience Allowed
taxonType: BOOLEAN
valuePath: VALUE_OR_ALL_CONTENT
semanticDefinition: "Can either party terminate without cause?"
- name: termination_fee
label: Early Termination Fee
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
semanticDefinition: |
Any penalties or fees for early termination (e.g., "3 months fees",
"Remaining contract value").
- name: post_termination_obligations
label: Post-Termination Obligations
taxonType: STRING
valuePath: VALUE_OR_ALL_CONTENT
nullable: true
multiValue: true
semanticDefinition: |
Obligations that survive contract termination (e.g., "Return of materials",
"Continued confidentiality").
# ==========================================
# Risk Assessment
# ==========================================
- name: risk_assessment
label: Risk Assessment
group: true
description: Computed risk indicators for contract review
children:
- name: risk_level
label: Overall Risk Level
taxonType: SELECTION
valuePath: FORMULA
semanticDefinition: |
IF(contract_value > 1000000, "High",
IF(contract_value > 100000, "Medium", "Low"))
selectionOptions:
- label: "Low"
- label: "Medium"
- label: "High"
- label: "Critical"
- name: requires_legal_review
label: Requires Legal Review
taxonType: BOOLEAN
valuePath: FORMULA
semanticDefinition: |
contract_value > 100000 OR
initial_term CONTAINS "year" OR
liability_cap IS_EMPTY()
- name: renewal_alert_date
label: Renewal Alert Date
taxonType: DATE
valuePath: FORMULA
semanticDefinition: |
DATE_ADD(expiration_date,
PARSE_DAYS(notice_period) * -1)
description: "Date to send renewal reminder based on notice period"
# ==========================================
# Review and Approval
# ==========================================
- name: review_workflow
label: Review Workflow
group: true
children:
- name: reviewed_by
label: Reviewed By
taxonType: STRING
valuePath: REVIEW
userEditable: true
description: "Person who reviewed this contract"
- name: review_date
label: Review Date
taxonType: DATE
valuePath: REVIEW
userEditable: true
- name: approval_status
label: Approval Status
taxonType: SELECTION
valuePath: REVIEW
userEditable: true
selectionOptions:
- label: "Pending Review"
- label: "Approved"
- label: "Approved with Conditions"
- label: "Rejected"
- label: "Requires Negotiation"
- name: review_notes
label: Review Notes
taxonType: STRING
valuePath: REVIEW
userEditable: true
description: "Notes from legal or business review"
# ==========================================
# Validation Rules
# ==========================================
validationRules:
# Required Fields
- name: "Contract type required"
ruleFormula: "NOT_EMPTY(contract_header.contract_type)"
messageFormula: '"Contract type must be specified"'
overridable: false
- name: "Parties required"
ruleFormula: |
NOT_EMPTY(parties.party_a.legal_name) AND
NOT_EMPTY(parties.party_b.legal_name)
messageFormula: '"Both contracting parties must be identified"'
overridable: false
- name: "Effective date required"
ruleFormula: "NOT_EMPTY(dates_and_terms.effective_date)"
messageFormula: '"Effective date is required"'
overridable: false
# Date Logic
- name: "Execution before effective"
ruleFormula: |
IS_EMPTY(dates_and_terms.execution_date) OR
IS_EMPTY(dates_and_terms.effective_date) OR
dates_and_terms.execution_date <= dates_and_terms.effective_date
messageFormula: '"Execution date should not be after effective date"'
overridable: true
- name: "Effective before expiration"
ruleFormula: |
IS_EMPTY(dates_and_terms.expiration_date) OR
dates_and_terms.effective_date < dates_and_terms.expiration_date
messageFormula: '"Effective date must be before expiration date"'
overridable: false
- name: "Future expiration"
ruleFormula: |
IS_EMPTY(dates_and_terms.expiration_date) OR
dates_and_terms.expiration_date >= TODAY()
messageFormula: '"Contract appears to be expired"'
overridable: true
# Financial Validation
- name: "Contract value reasonable"
ruleFormula: |
IS_EMPTY(financial_terms.contract_value) OR
financial_terms.contract_value > 0
messageFormula: '"Contract value must be positive"'
overridable: false
- name: "Currency specified"
ruleFormula: |
IS_EMPTY(financial_terms.contract_value) OR
NOT_EMPTY(financial_terms.currency)
messageFormula: '"Currency must be specified when contract value is present"'
overridable: false
- name: "Payment terms specified"
ruleFormula: |
IS_EMPTY(financial_terms.contract_value) OR
NOT_EMPTY(financial_terms.payment_terms)
messageFormula: '"Payment terms should be specified for contracts with financial value"'
overridable: true
- name: "Deposit not exceeding value"
ruleFormula: |
IS_EMPTY(financial_terms.deposit_amount) OR
IS_EMPTY(financial_terms.contract_value) OR
financial_terms.deposit_amount <= financial_terms.contract_value
messageFormula: '"Deposit amount cannot exceed total contract value"'
overridable: true
# Legal Validation
- name: "Governing law specified"
ruleFormula: "NOT_EMPTY(legal_clauses.governing_law)"
messageFormula: '"Governing law should be specified"'
overridable: true
- name: "High-value contracts need liability cap"
ruleFormula: |
IS_EMPTY(financial_terms.contract_value) OR
financial_terms.contract_value <= 100000 OR
NOT_EMPTY(legal_clauses.liability_cap)
messageFormula: '"Contracts over $100,000 should include liability cap"'
overridable: true
- name: "Confidentiality duration for NDA"
ruleFormula: |
contract_header.contract_type != "Non-Disclosure Agreement (NDA)" OR
NOT_EMPTY(legal_clauses.confidentiality_duration)
messageFormula: '"NDAs should specify confidentiality duration"'
overridable: true
# Termination Validation
- name: "Notice period for renewable contracts"
ruleFormula: |
IS_EMPTY(dates_and_terms.renewal_terms) OR
NOT_EMPTY(dates_and_terms.notice_period)
messageFormula: '"Contracts with renewal terms should specify notice period"'
overridable: true
# Party Validation
- name: "Signatory information complete"
ruleFormula: |
(NOT_EMPTY(parties.party_a.signatory_name) AND
NOT_EMPTY(parties.party_a.signatory_title)) AND
(NOT_EMPTY(parties.party_b.signatory_name) AND
NOT_EMPTY(parties.party_b.signatory_title))
messageFormula: '"Both parties should have complete signatory information"'
overridable: true
- name: "Party roles are different"
ruleFormula: |
IS_EMPTY(parties.party_a.role) OR
IS_EMPTY(parties.party_b.role) OR
parties.party_a.role != parties.party_b.role
messageFormula: '"Parties should have different roles (e.g., Provider/Customer)"'
overridable: true
# Risk-based Validation
- name: "High-value requires legal review"
ruleFormula: |
IS_EMPTY(financial_terms.contract_value) OR
financial_terms.contract_value <= 100000 OR
review_workflow.approval_status IN ["Approved", "Approved with Conditions"]
messageFormula: '"Contracts over $100,000 require legal approval"'
overridable: false
- name: "Multi-year requires executive approval"
ruleFormula: |
NOT(dates_and_terms.initial_term CONTAINS "year") OR
review_workflow.approval_status IN ["Approved", "Approved with Conditions"]
messageFormula: '"Multi-year contracts require executive approval"'
overridable: true
# ==========================================
# Conditional Formatting
# ==========================================
conditionalFormats:
- name: "High-value contract"
formula: "financial_terms.contract_value > 500000"
backgroundColor: "#FEF3C7"
textColor: "#92400E"
fontWeight: "bold"
icon: "dollar-sign"
- name: "Expired contract"
formula: |
NOT_EMPTY(dates_and_terms.expiration_date) AND
dates_and_terms.expiration_date < TODAY()
backgroundColor: "#FEE2E2"
textColor: "#991B1B"
fontWeight: "bold"
icon: "exclamation-triangle"
- name: "Expiring soon (within 90 days)"
formula: |
NOT_EMPTY(dates_and_terms.expiration_date) AND
dates_and_terms.expiration_date >= TODAY() AND
dates_and_terms.expiration_date <= DATE_ADD(TODAY(), 90)
backgroundColor: "#FED7AA"
textColor: "#9A3412"
icon: "clock"
- name: "Pending approval"
formula: |
review_workflow.approval_status == "Pending Review" OR
review_workflow.approval_status == "Requires Negotiation"
backgroundColor: "#DBEAFE"
textColor: "#1E40AF"
icon: "hourglass"
- name: "No liability cap (high risk)"
formula: |
financial_terms.contract_value > 100000 AND
IS_EMPTY(legal_clauses.liability_cap)
backgroundColor: "#FEE2E2"
textColor: "#991B1B"
fontWeight: "bold"
icon: "warning"
- name: "Auto-renewal contract"
formula: |
dates_and_terms.renewal_terms CONTAINS "auto" OR
dates_and_terms.renewal_terms CONTAINS "automatic"
backgroundColor: "#E0E7FF"
textColor: "#3730A3"
icon: "refresh"
Key Features
Comprehensive Party Information
- Multiple Party Support: Captures Party A, Party B, and additional parties
- Role Classification: Categorizes parties as Provider, Customer, Buyer, Seller, etc.
- Signatory Details: Tracks who signed and their authority
- Jurisdictional Information: Important for legal compliance
Financial Term Tracking
- Contract Value: Total monetary commitment
- Payment Structure: Fixed price, T&M, milestone-based, etc.
- Payment Terms: Net 30, upfront, quarterly, etc.
- Penalties and Deposits: Late fees, advance payments
Date Management
- Multiple Date Types: Execution, effective, expiration dates
- Term Management: Initial term, renewal terms, notice periods
- Automated Alerts: Calculate renewal reminder dates based on notice period
Legal Clause Extraction
- Governing Law: Jurisdiction for legal disputes
- Dispute Resolution: Litigation, arbitration, or mediation
- Confidentiality: NDA provisions and duration
- Liability Caps: Maximum exposure limits
- IP Ownership: Intellectual property rights
Risk Assessment
- Automated Risk Scoring: Based on contract value and terms
- Review Requirements: Flag contracts needing legal review
- Compliance Checks: Insurance, indemnification, liability caps
Workflow Integration
- Review Status: Track approval workflow
- Reviewer Information: Who reviewed and when
- Notes and Conditions: Capture approval conditions or concerns
Validation Strategy
Critical Validations (Non-overridable)
Copy
Ask AI
- Contract type must be specified
- Both parties must be identified
- Effective date required
- Effective before expiration
- Contract value must be positive
- High-value contracts require legal approval
Quality Checks (Overridable)
Copy
Ask AI
- Execution date should be before or equal to effective date
- Payment terms should be specified
- Governing law should be specified
- Notice period for renewable contracts
- Party roles should be different
Business Rules
Copy
Ask AI
- Contracts > $100k should have liability caps
- NDAs should specify confidentiality duration
- Multi-year contracts require executive approval
Conditional Formatting
Provides visual indicators for:- High-value contracts (> $500k) - Gold highlight
- Expired contracts - Red alert
- Expiring soon (< 90 days) - Orange warning
- Pending approval - Blue information
- Missing liability cap (high-value) - Red warning
- Auto-renewal contracts - Purple indicator
Usage Tips
For Legal Teams
- Focus on
legal_clausesgroup for risk assessment - Use
risk_assessment.requires_legal_reviewto prioritize review queue - Track
terminationconditions for exit strategy planning - Monitor
renewal_alert_datefor proactive contract management
For Finance Teams
- Extract
financial_termsfor budgeting and forecasting - Use
contract_valueandpayment_structurefor cash flow planning - Track
payment_termsandlate_payment_penaltyfor AR management
For Procurement Teams
- Monitor
partiesinformation for vendor management - Track
obligations.scope_of_workfor deliverable oversight - Use
service_levelsfor SLA monitoring - Review
insurance_requirementsfor compliance
For Contract Managers
- Use
dates_and_termsfor renewal calendar - Monitor
expiration_dateandnotice_periodfor timely action - Track
approval_statusfor workflow management - Review
post_termination_obligationswhen ending contracts
Best Practices
- Always Extract Key Dates: Effective date and expiration date are critical for contract lifecycle management
- Capture Both Parties Fully: Legal names, roles, and signatory information are essential for enforceability
- Document Financial Terms Clearly: Include currency, payment structure, and terms to avoid disputes
- Track Legal Clauses: Governing law, dispute resolution, and liability caps are critical risk factors
- Use Risk Assessment Fields: Automated risk scoring helps prioritize review and approval workflows
- Enable Workflow Tracking: Capture review status, approver, and notes for audit trail
-
Monitor Renewal Dates: Use computed
renewal_alert_dateto avoid unwanted auto-renewals - Validate Party Roles: Ensure parties have different roles (not both “Provider”)
- Check Liability Caps on High-Value Contracts: Important risk mitigation for large commitments
- Track Post-Termination Obligations: These survive contract end and must be managed
Integration Examples
CRM Integration
Copy
Ask AI
# Export party information to CRM
externalName: account_name → parties.party_b.legal_name
externalName: account_type → parties.party_b.role
externalName: contract_value → financial_terms.contract_value
Contract Management System
Copy
Ask AI
# Sync to contract repository
externalName: contractNumber → contract_header.contract_number
externalName: expiryDate → dates_and_terms.expiration_date
externalName: renewalDate → risk_assessment.renewal_alert_date
externalName: status → review_workflow.approval_status
Financial System
Copy
Ask AI
# Export to accounting/ERP
externalName: totalValue → financial_terms.contract_value
externalName: paymentTerms → financial_terms.payment_terms
externalName: currency → financial_terms.currency
Related Examples
- Invoice Data Definition - Financial document extraction
- Form Data Definition - Structured form processing
- Purchase Order Data Definition - Procurement document extraction
