mcpField
C
contract-obligation-extraction

contract-obligation-extraction

github.com/happy-technologies-llc文档处理4141 次安装2 天前更新
代码仓库

关于 contract-obligation-extraction

该技能提供在 ServiceNow Legal Service Delivery 中提取和跟踪合同义务的结构化方法。法律与合同团队可将条款转为分配负责人和截止日期的任务,并监控整个合同组合的合规情况。

主要功能

  1. 01解析合同文档和条款
  2. 02分类付款、交付与 SLA 义务
  3. 03提取截止日期和周期安排
  4. 04创建带负责人和截止日期的法律任务
  5. 05监控合规状态并报告差异

适用场景

  1. 01合同签署后建立义务跟踪
  2. 02在审计中核查义务合规情况
  3. 03供应商入驻时跟踪合同义务
  4. 04为续约谈判准备义务记录

MCP 相关

使用 ServiceNow MCP 工具检索合同和附件、查询条款与任务、创建义务跟踪任务、更新记录并记录报告。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill contract-obligation-extraction

安装后在 Claude Code 中输入/contract-obligation-extraction确认已加载。

详细介绍

合同义务提取

概述

此技能提供了一套在 ServiceNow Legal Service Delivery 中提取和跟踪合同义务的结构化方法。它可以帮助你:

  • 解析 ast_contract 和关联的 sys_attachment 记录中的合同文档,识别所有具有约束力的义务
  • 按类型对义务进行分类:交付物、付款条款、SLA 承诺、报告要求、终止条件和合规规定
  • 提取具体截止日期、里程碑和周期性义务安排
  • 为每项义务在 sn_legal_task 中创建可跟踪的法律任务,并设置到期日期和负责人
  • 建立义务登记册,以监控整个合同组合的合规情况
  • 监控义务合规状态并生成偏差报告

**使用时机:**合同签署后设置义务跟踪、合同审计期间核实合规情况、建立新的供应商合作关系时,或准备合同续签谈判时。

所需插件:com.sn_legal_service_delivery

前提条件

  • 角色:sn_legal_case_user、sn_legal_case_manager、contract_manager 或 sn_legal_admin
  • **访问权限:**对 ast_contract、sn_legal_task、sn_legal_case 和 sys_attachment 表具有读写权限
  • **知识:**了解合同结构、义务类型以及组织的合规跟踪要求
  • **插件:**必须激活 Legal Service Delivery(com.sn_legal_service_delivery)

操作步骤

步骤 1:检索合同记录和文档

获取合同元数据和关联的文档附件。

使用 MCP(Claude Code/Desktop):

Tool: SN-Get-Record
Parameters:
  table_name: ast_contract
  sys_id: [contract_sys_id]
  fields: sys_id,number,short_description,contract_type,vendor,starts,ends,renewal_date,payment_amount,payment_terms,total_cost,state,terms_and_conditions,auto_renew,notice_period,assigned_to,department

检索附件:

Tool: SN-Query-Table
Parameters:
  table_name: sys_attachment
  query: table_name=ast_contract^table_sys_id=[contract_sys_id]
  fields: sys_id,file_name,content_type,size_bytes,sys_created_on
  limit: 20
  order_by: sys_created_on

使用 REST API:

# Get contract record
GET /api/now/table/ast_contract/[contract_sys_id]?sysparm_fields=sys_id,number,short_description,contract_type,vendor,starts,ends,renewal_date,payment_amount,payment_terms,total_cost,state,terms_and_conditions,auto_renew,notice_period,assigned_to,department&sysparm_display_value=true

# Get attachments
GET /api/now/table/sys_attachment?sysparm_query=table_name=ast_contract^table_sys_id=[contract_sys_id]&sysparm_fields=sys_id,file_name,content_type,size_bytes,sys_created_on&sysparm_limit=20

# Download contract document
GET /api/now/attachment/[attachment_sys_id]/file
步骤 2:检索现有条款和条件

如果已启用 Contract Lifecycle Management,请查询关联条款。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: clm_m2m_contract_and_terms
  query: contract=[contract_sys_id]
  fields: sys_id,contract,terms_and_conditions,state
  limit: 50

然后检索条款详细信息:

Tool: SN-Query-Table
Parameters:
  table_name: clm_terms_and_conditions
  query: sys_idIN[terms_sys_ids]
  fields: sys_id,name,description,category,obligation_type,obligation_owner,due_date,frequency,status
  limit: 50

使用 REST API:

GET /api/now/table/clm_m2m_contract_and_terms?sysparm_query=contract=[contract_sys_id]&sysparm_fields=sys_id,contract,terms_and_conditions,state&sysparm_limit=50

GET /api/now/table/clm_terms_and_conditions?sysparm_query=sys_idIN[terms_sys_ids]&sysparm_fields=sys_id,name,description,category,obligation_type,obligation_owner,due_date,frequency,status&sysparm_limit=50&sysparm_display_value=true
步骤 3:按类别提取义务

解析合同文本并对每项义务进行分类:

3a. 付款义务
字段要提取的内容示例
金额每笔付款的金额每月 $25,000
频率付款计划每月、每季度、每年
净付款期限付款到期前的天数Net 30、Net 45、Net 60
逾期费用逾期付款的罚金对逾期款项按月收取 1.5%
价格递增年度价格涨幅每年递增 3%
差额结算使用量核对按季度对超额使用量进行差额结算
里程碑付款由交付物触发启动时支付 30%,UAT 时支付 40%,上线时支付 30%
3b. 交付物义务
字段要提取的内容示例
交付物必须提供的内容每月安全审计报告
负责人责任方供应商 / 客户
到期日到期时间每月 15 日
验收标准衡量方式按照附件 B 的规格
补救期限修复缺陷的时间10 个工作日
3c. SLA 承诺
字段要提取的内容示例
指标SLA 衡量指标系统正常运行时间
目标要求的水平每月 99.95%
衡量周期时间范围日历月
抵扣未达标的补救措施每低于目标 0.1%,抵扣 5%
除外情形不纳入计算的情况计划内维护时段
持续未达标多次未达标连续 3 次未达标 = 有权终止合同
3d. 合规与报告
字段要提取的内容示例
报告要求提交的报告SOC 2 Type II 审计报告
频率提交频率每年
截止日期到期时间审计期结束后 90 天内
认证要求的认证ISO 27001、SOC 2、HITRUST
数据处理隐私要求GDPR DPA、数据须存储在欧盟境内
泄露通知事件报告要求发现后 72 小时内
3e. 终止条件
字段提取内容示例
因故终止触发条件重大违约,且 30 天后仍未补救
无因终止所需通知提前 90 天发出书面通知
收尾期过渡期提供 6 个月的过渡协助
数据返还终止后要求在 30 天内返还所有数据
持续有效条款终止后仍有效的条款第 7、8、12、15 条仍然有效
步骤 4:创建义务登记表

为每项提取出的义务创建法律任务,建立汇总的义务登记表。

使用 MCP:

Tool: SN-Create-Record
Parameters:
  table_name: sn_legal_task
  fields:
    short_description: "Payment obligation - Monthly license fee $25,000"
    description: |
      Contract: [contract_number]
      Vendor: [vendor_name]
      Obligation Type: Payment
      Amount: $25,000
      Frequency: Monthly
      Due: 1st of each month
      Net Terms: Net 30
      Late Fee: 1.5% per month
      Contract Reference: Section 4.1
    legal_case: [case_sys_id]
    priority: 3
    task_type: obligation_tracking
    assigned_to: [finance_contact_sys_id]
    due_date: [next_payment_date]
    state: 1

针对每个义务类别重复此操作。以下是跟踪 SLA 的示例:

Tool: SN-Create-Record
Parameters:
  table_name: sn_legal_task
  fields:
    short_description: "SLA monitoring - 99.95% uptime commitment"
    description: |
      Contract: [contract_number]
      Vendor: [vendor_name]
      Obligation Type: SLA
      Metric: System uptime
      Target: 99.95% monthly
      Credit: 5% per 0.1% below target
      Chronic Failure: 3 consecutive misses triggers termination right
      Contract Reference: Exhibit C, Section 2.1
    legal_case: [case_sys_id]
    priority: 2
    task_type: obligation_tracking
    assigned_to: [service_manager_sys_id]
    due_date: [month_end_date]
    state: 1

使用 REST API:

POST /api/now/table/sn_legal_task
Content-Type: application/json

{
  "short_description": "Payment obligation - Monthly license fee $25,000",
  "description": "Contract: CON0045678\nObligation Type: Payment\nAmount: $25,000\nFrequency: Monthly\nDue: 1st of each month\nNet Terms: Net 30",
  "legal_case": "[case_sys_id]",
  "priority": "3",
  "task_type": "obligation_tracking",
  "assigned_to": "[finance_contact_sys_id]",
  "due_date": "[next_payment_date]",
  "state": "1"
}
步骤 5:设置义务合规监控

查询现有义务任务,以跟踪合规状态。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: sn_legal_task
  query: legal_case.legal_matter=[matter_sys_id]^task_type=obligation_tracking
  fields: sys_id,number,short_description,state,due_date,assigned_to,priority,work_notes
  limit: 100
  order_by: due_date

使用 REST API:

GET /api/now/table/sn_legal_task?sysparm_query=legal_case.legal_matter=[matter_sys_id]^task_type=obligation_tracking^ORDERBYdue_date&sysparm_fields=sys_id,number,short_description,state,due_date,assigned_to,priority,work_notes&sysparm_limit=100&sysparm_display_value=true

监控逾期义务:

Tool: SN-Query-Table
Parameters:
  table_name: sn_legal_task
  query: task_type=obligation_tracking^due_date<javascript:gs.beginningOfToday()^state!=3^state!=7
  fields: sys_id,number,short_description,due_date,assigned_to,legal_case,priority
  limit: 50
  order_by: due_date
步骤 6:生成义务合规报告

记录完整的义务登记表和合规状态。

使用 MCP:

Tool: SN-Add-Work-Notes
Parameters:
  table_name: sn_legal_case
  sys_id: [case_sys_id]
  work_notes: |
    === OBLIGATION EXTRACTION REPORT ===
    Contract: [contract_number] - [short_description]
    Vendor: [vendor_name]
    Effective: [start_date] to [end_date]
    Analyst: AI Obligation Analyst
    Date: [current_date]

    OBLIGATION SUMMARY:
    Total Obligations Extracted: [total_count]
    - Payment: [payment_count]
    - Deliverables: [deliverable_count]
    - SLA Commitments: [sla_count]
    - Compliance/Reporting: [compliance_count]
    - Termination Conditions: [termination_count]

    PAYMENT OBLIGATIONS:
    1. Monthly license fee: $25,000 due 1st of month (Net 30)
    2. Annual support fee: $50,000 due January 15
    3. Quarterly true-up: Variable, due 15th after quarter end
    Total Annual Financial Commitment: $350,000 + overages

    DELIVERABLE OBLIGATIONS:
    1. Monthly security report: Due 15th of each month (Vendor)
    2. Quarterly business review: Due within 30 days of quarter end (Mutual)
    3. Annual SOC 2 report: Due within 90 days of audit period (Vendor)

    SLA COMMITMENTS:
    1. System uptime: 99.95% monthly (5% credit per 0.1% miss)
    2. Support response: P1 within 1 hour, P2 within 4 hours
    3. Data backup: Daily with 4-hour RPO

    KEY DEADLINES:
    | Date | Obligation | Owner | Task # |
    |------|-----------|-------|--------|
    | Monthly 1st | License payment | Client | LT0012345 |
    | Monthly 15th | Security report | Vendor | LT0012346 |
    | Quarterly | Business review | Mutual | LT0012347 |
    | 2026-12-01 | Renewal notice deadline | Client | LT0012348 |

    COMPLIANCE STATUS:
    - On Track: [on_track_count] obligations
    - At Risk: [at_risk_count] obligations
    - Overdue: [overdue_count] obligations

    RECOMMENDED ACTIONS:
    1. Configure automated reminders for payment due dates
    2. Assign SLA monitoring to service delivery team
    3. Calendar renewal notice deadline 90 days before expiration
    4. Schedule quarterly obligation compliance review
步骤 7:使用义务元数据更新合同

在合同记录中记录义务提取结果。

使用 MCP:

Tool: SN-Update-Record
Parameters:
  table_name: ast_contract
  sys_id: [contract_sys_id]
  data:
    work_notes: "Obligation extraction completed. [total_count] obligations identified and tracked. See legal case [case_number] for full register. Next review: [next_review_date]."

使用 REST API:

PATCH /api/now/table/ast_contract/[contract_sys_id]
Content-Type: application/json

{
  "work_notes": "Obligation extraction completed. 14 obligations identified and tracked across 5 categories."
}

工具使用

MCP 工具参考
工具使用时机
SN-Natural-Language-Search按供应商、类型或义务关键词查找合同
SN-Query-Table查询合同、任务、条款和附件
SN-Get-Record检索特定合同记录
SN-Create-Record创建义务跟踪任务
SN-Update-Record更新合同元数据和任务状态
SN-Add-Work-Notes记录义务登记表和合规报告
REST API 参考
端点方法用途
/api/now/table/ast_contractGET查询合同记录
/api/now/table/ast_contract/{sys_id}GET/PATCH读取或更新合同
/api/now/table/sn_legal_taskGET/POST查询或创建义务任务
/api/now/table/sn_legal_caseGET查询关联的法律案件
/api/now/table/sys_attachmentGET检索合同附件
/api/now/attachment/{sys_id}/fileGET下载合同文件
/api/now/table/clm_terms_and_conditionsGET查询 CLM 条款记录

最佳实践

  • 全面提取: 提取每项义务,而不只是显而易见的义务;细小的报告义务往往会导致合规失败
  • 指定负责人: 每项义务都必须指定一位明确的负责人,而不能只指定部门
  • 预留提前期: 设置任务到期日时,应在实际合同截止日期前留出充足时间(例如,提前 5 个工作日)
  • 定期义务: 对于每月或每季度履行的义务,创建一项主任务,并使用 ServiceNow 计划作业生成定期子任务
  • 双向义务: 分别跟踪约束本组织和约束供应商的义务
  • 版本意识: 每当签署合同修订或变更单时,都要重新提取义务
  • 关联来源: 始终在义务说明中注明具体的合同条款编号,以便追溯
  • 财务影响: 为每项义务标注其财务影响,以便进行预算和应计处理

故障排除

“在 ast_contract 中找不到与义务相关的字段”

原因: 标准的 ast_contract 可能没有专门用于义务的字段;这些字段可能位于 CLM 扩展表中
解决方案: 检查 clm_terms_and_conditions 和 clm_m2m_contract_and_terms 中是否包含结构化义务数据。使用 nameLIKEclm^elementLIKEobligation 查询 sys_dictionary,以查找相关字段。

“检测到重复义务”

原因: 同一义务可能出现在多个合同章节或修订文件中
解决方案: 创建新的义务任务前,先查询现有任务:使用 sn_legal_task 和 legal_case=[case_sys_id]^short_descriptionLIKE[obligation_keyword] 检查是否重复。

“未生成定期义务任务”

原因: 尚未配置用于创建定期任务的计划作业
解决方案: 在 sn_legal_task 上创建计划脚本执行,根据频率字段克隆定期义务任务。检查 sysauto_script 中是否已有与义务相关的作业。

“无法解析合同附件”

原因: 合同文档是未经 OCR 处理的扫描 PDF 或图像格式
解决方案: 使用 ServiceNow Document Intelligence(com.sn_doc_intelligence)执行 OCR 提取。配置步骤请参阅 document/document-extraction 技能。

示例

示例 1:SaaS 协议义务提取

输入: 合同 CON0045678——“Enterprise CRM Platform - CloudCo”

提取的义务:

  1. 付款:年度许可费 150,000 美元,应于 1 月 1 日支付,账期为 45 天
  2. 付款:超过 500 位用户后,每位用户每月收取 2 美元超额费用,每季度进行一次结算调整
  3. SLA:正常运行时间为 99.9%,按月衡量;每低于目标 0.5%,提供 10% 的抵扣
  4. 交付物:每月 10 日前提交月度使用报告
  5. 合规:审计后 90 天内每年提交 SOC 2 Type II 报告
  6. 数据:在 48 小时内通知数据泄露事件
  7. 终止:无理由终止需提前 90 天书面通知;有理由终止需给予 30 天补救期
  8. 数据返还:终止后 30 天内导出所有数据

创建的任务: 在 sn_legal_task 中创建了 8 个义务跟踪任务

示例 2:专业服务合同

输入: 合同 CON0046789——“IT Consulting Services - TechPartners Inc”

提取的义务:

Tool: SN-Create-Record
Parameters:
  table_name: sn_legal_task
  fields:
    short_description: "Milestone payment - Phase 1 completion $75,000"
    description: |
      Contract: CON0046789
      Obligation Type: Milestone Payment
      Amount: $75,000
      Trigger: Phase 1 UAT sign-off
      Net Terms: Net 30 from acceptance
      Contract Reference: Exhibit A, Milestone 2
    legal_case: [case_sys_id]
    priority: 2
    task_type: obligation_tracking
    assigned_to: [project_manager_sys_id]
    due_date: 2026-06-30
    state: 1
示例 3:义务合规审计

输入:“显示所有有效合同中的逾期义务”

查询:

Tool: SN-Query-Table
Parameters:
  table_name: sn_legal_task
  query: task_type=obligation_tracking^active=true^due_date<javascript:gs.beginningOfToday()^stateNOT IN3,4,7
  fields: sys_id,number,short_description,due_date,assigned_to,legal_case.short_description,priority,state
  limit: 50
  order_by: due_date

结果: 发现 6 项逾期义务:

  • 2 项供应商报告义务(SOC 2 报告逾期 15 天)
  • 1 项付款义务(季度结算调整逾期 5 天)
  • 3 项内部交付物(安排业务审查会议)

操作: 升级处理供应商义务;更新内部任务负责人;记录合规差距。

相关技能

  • legal/contract-analysis - 分析合同中的关键条款并评估风险
  • legal/legal-request-triage - 对收到的合同审查请求进行分类
  • legal/legal-matter-summarization - 汇总与合同相关的法律事务
  • document/document-extraction - 使用 OCR 从合同文档中提取结构化数据
  • catalog/approval-workflows - 配置用于义务签核的审批工作流

评论

支持 Markdown