关于 contract-obligation-extraction
该技能提供在 ServiceNow Legal Service Delivery 中提取和跟踪合同义务的结构化方法。法律与合同团队可将条款转为分配负责人和截止日期的任务,并监控整个合同组合的合规情况。
主要功能
- 01解析合同文档和条款
- 02分类付款、交付与 SLA 义务
- 03提取截止日期和周期安排
- 04创建带负责人和截止日期的法律任务
- 05监控合规状态并报告差异
适用场景
- 01合同签署后建立义务跟踪
- 02在审计中核查义务合规情况
- 03供应商入驻时跟踪合同义务
- 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_contract | GET | 查询合同记录 |
/api/now/table/ast_contract/{sys_id} | GET/PATCH | 读取或更新合同 |
/api/now/table/sn_legal_task | GET/POST | 查询或创建义务任务 |
/api/now/table/sn_legal_case | GET | 查询关联的法律案件 |
/api/now/table/sys_attachment | GET | 检索合同附件 |
/api/now/attachment/{sys_id}/file | GET | 下载合同文件 |
/api/now/table/clm_terms_and_conditions | GET | 查询 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”
提取的义务:
- 付款:年度许可费 150,000 美元,应于 1 月 1 日支付,账期为 45 天
- 付款:超过 500 位用户后,每位用户每月收取 2 美元超额费用,每季度进行一次结算调整
- SLA:正常运行时间为 99.9%,按月衡量;每低于目标 0.5%,提供 10% 的抵扣
- 交付物:每月 10 日前提交月度使用报告
- 合规:审计后 90 天内每年提交 SOC 2 Type II 报告
- 数据:在 48 小时内通知数据泄露事件
- 终止:无理由终止需提前 90 天书面通知;有理由终止需给予 30 天补救期
- 数据返还:终止后 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- 配置用于义务签核的审批工作流