# 需求 - 合同附件归档规约 **版本**:1.0 **日期**:2026-05-09 **状态**:模块级开发规约 **补充口径**:OPOLICY1 后,合同/用印先按小团队 V1 执行;V1 通过合同台账、归档位置、离线档案号、非涉密证明、到期提醒和审计承载,不立即上电子签章、复杂法务审查、条款库、版本协同或完整 CLM。 **上级事实源**:[海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md) **审批总依据**:[需求 - 统一审批中心规约](./需求-统一审批中心规约.md) **体验事实依据**:[产品体验事实源](./产品设计规则.md);视觉与交互裁决以 `frontend-design` 为准。 本规约细化合同台账、合同编号、非涉密附件、归档位置、到期提醒、权限审计和业务关联要求。合同审批、合同变更审批和归档审批如果需要,走 OA 统一审批中心或后续独立 Trellis task;合同台账页本身不自建审批流。PC 和移动页面职责以产品体验事实源为依据;本规约不替代公司法务制度。 --- ## 1. 模块目标与边界 ### 1.1 目标 - 建立公司合同台账,避免合同编号、负责人、状态和归档位置分散在个人电脑或聊天记录中。 - 将合同与客户/供应商、项目、采购、费用、报销和交付记录关联起来。 - 对非涉密附件进行受控归档,并对查看、下载和归档动作留审计。 - 提供到期、续签、待归档和关联缺失提醒,帮助小团队少漏事。 - 明确涉密资料不进入公网 OA 的边界,降低小团队试运行风险。 ### 1.2 适用对象 | 对象 | 说明 | | --- | --- | | 销售或项目合同 | 与客户签署的销售、技术服务、项目交付合同 | | 采购或服务合同 | 与供应商、外包方、云服务或软件服务方签署的合同 | | 框架协议 | 与客户或供应商的框架合作协议 | | 补充协议 | 对原合同范围、金额、期限或付款条件的补充 | | 归档附件 | 非涉密合同扫描件、盖章页、验收单、往来确认、归档证明等 | ### 1.3 暂不做范围 - 首批不做电子签章、在线法务审查、红线对比、条款库、版本协同或合同智能审阅。 - 首批不做合同自动履约、自动催收、收付款核销或 ERP 入账。 - 首批不做客户关系管理 CRM、供应商生命周期管理、完整法务系统或完整 CLM。 - 首批不在合同台账页自建复杂合同审批流;审批如需启用,走 OA 统一审批中心或后续独立任务。 - 涉密合同正文、敏感报价、成本细节、客户敏感资料不进入公网 OA。 - 不使用企业微信原生审批管理正式合同审批。 - 合同正文、合同附件、报价、供应商资料和涉密归档信息不上传到企业微信原生审批或企业微信附件;企业微信只做脱敏提醒和 OA deeplink。 - 不接入飞书文档或飞书审批作为合同事实源。 ### 1.4 OPOLICY1 小团队 V1 裁剪口径 正式启用前,合同和用印管理不追求一次性建设完整电子签章、法务审阅、红线对比或电子档案系统。V1 目标是合同台账可查、责任人明确、资料不乱传、用印可追溯。 - 用印台账 V1 先由合同台账字段和人工记录承载:事项、文件版本、份数、审批状态、日期、用印管理员或责任人、线下归档位置。现有字段可使用摘要、归档位置、离线档案号和非涉密证明附件组合表达。 - 涉密合同正文、敏感报价、成本细节、客户敏感资料和完整线下路径不得进入公网 OA;只登记可控摘要、敏感级别、负责人、项目/采购/付款关联和归档位置摘要。 - 电子签章、合同智能审阅、完整法务会签和全量电子档案留存继续作为 P2 后置能力;真实使用证明现有字段不足时,另建 Trellis task 再做 schema/UI 小改。 - 审批异常 SOP 固定为阻断项:无审批人、自审、越权查看附件、误传涉密正文或用印责任不清时,暂停对应流程并当天登记修复或人工绕行责任。 --- ## 2. 角色与权限 | 角色 | 主要动作 | 权限边界 | | --- | --- | --- | | 合同负责人 | 新建合同台账、维护基本信息、上传允许上传的附件、按规则发起归档或审批入口 | 只能维护自己负责或被授权的合同 | | 项目负责人 | 查看与项目相关合同、确认项目关联、补充交付或验收信息 | 不能越权下载无关合同附件 | | 财务 | 查看金额、付款条款、发票或收付款相关字段,参与财务复核 | 只处理财务范围字段和复核动作 | | 老板/总经理 | 审批重大合同或高风险变更,查看公司级合同摘要 | 查看和下载仍需审计 | | 管理员 | 维护合同类型、编号规则、归档位置、权限和基础字典 | 不默认拥有业务审批权;敏感附件查看需最小化授权 | | 系统管理员 | 维护存储、备份、日志和配置 | 不应直接查看合同正文,排障需留审计 | 权限必须服务端校验。合同附件下载、归档、删除、替换和敏感字段查看都应写入审计日志。 --- ## 3. 入口与业务对象 | 入口 | 用途 | 要求 | | --- | --- | --- | | 合同台账列表 | 按编号、名称、客户/供应商、项目、负责人和状态查询 | 支持基础筛选和权限数据范围 | | 合同详情页 | 查看合同字段、附件、审批历史、变更记录和业务关联 | 不展示无权限字段和附件 | | 项目页合同区域 | 汇总项目相关合同 | 只展示当前用户有权查看的合同摘要 | | 审批待办 | 如未来启用合同审批、变更审批或归档审批,在待办中处理 | 统一进入 OA 审批中心;合同台账不自建审批工作台,不直接放审批动作 | | 移动端详情 | 查看摘要、到期/归档状态和必要待办入口 | 不做复杂合同编辑,不做完整法务审查 | 合同台账是首批核心,职责限定为登记、归档、到期/续签提醒和关联项目/采购/付款。合同正文是否上传取决于敏感级别和公司制度;不能上传时,应登记线下归档位置。 合同列表只显示附件完整性、归档状态、到期/续签提醒和进入详情入口;合同文件预览、附件查看/下载/删除、归档动作、敏感材料用途填写和批量打包必须进入合同详情、详情命令区、`更多` 或授权审计路径。 合同审批、变更审批和归档审批如启用,审批动作集中在 `待我审批`、审批详情或移动审批详情执行。合同台账和普通合同详情只显示审批状态、当前节点、历史、`查看处理`、`查看进度` 或进入审批任务入口,不直接放 `通过`、`驳回`、`退回`、`转审`。 --- ## 4. 字段要求 ### 4.1 合同主字段 | 字段 | 要求 | | --- | --- | | 合同编号 | 必填,OA 生成或管理员登记后校验唯一;历史合同允许补录编号 | | 合同名称 | 必填 | | 合同类型 | 必填,如销售合同、采购合同、服务合同、框架协议、补充协议 | | 甲方/客户 | 视合同类型必填 | | 乙方/供应商 | 视合同类型必填 | | 关联项目 | 推荐填写;项目相关合同应必填 | | 合同金额 | 金额类合同必填;框架协议可为空并说明 | | 币种 | 首批默认 CNY | | 签署日期 | 已签署后必填 | | 生效日期 | 可选 | | 到期日期 | 有固定期限时必填 | | 负责人 | 必填 | | 归档位置 | 必填或待归档;支持线下柜号、对象存储路径或外部编号 | | 敏感级别 | 必填,至少分为普通、内部敏感、涉密不上传 | | 状态 | 必填 | | 备注 | 可选 | ### 4.2 附件字段 | 字段 | 要求 | | --- | --- | | 附件类型 | 合同扫描件、盖章页、补充协议、验收单、报价摘要、归档证明等 | | 文件名 | 必填 | | 文件 hash | 推荐,用于防重复和完整性校验 | | 上传人和上传时间 | 必填 | | 敏感级别 | 必填,继承合同或单独指定 | | 可见范围 | 必填,由权限规则计算或管理员配置 | | 下载次数和最近下载人 | 推荐记录 | 合同上传必须先明确附件类型,例如合同扫描件、盖章页、补充协议、验收单、报价摘要或归档证明。不同类型适用不同敏感级别、可见范围、下载用途和审计规则;合同文件不进入普通报销附件、普通采购附件或资产材料的万能上传入口。 ### 4.3 变更记录字段 | 字段 | 要求 | | --- | --- | | 变更类型 | 金额、期限、范围、负责人、归档位置、附件、状态等 | | 变更前后值 | 关键字段必须记录 | | 变更原因 | 必填 | | 操作者和时间 | 必填 | | 是否触发审批 | 金额、期限、主体和关键条款变更应触发或关联审批 | --- ## 5. 编号规则 ### 5.1 首批建议 合同编号可采用 `HT-YYYY-序号` 或按业务类型扩展为: | 类型 | 示例 | 说明 | | --- | --- | --- | | 销售合同 | `HT-S-2026-0001` | S 表示销售或客户合同 | | 采购合同 | `HT-P-2026-0001` | P 表示采购或供应商合同 | | 服务合同 | `HT-V-2026-0001` | V 表示服务类合同 | | 补充协议 | `HT-SUP-2026-0001` | 可关联原合同编号 | ### 5.2 规则要求 - OA 生成的合同编号必须唯一。 - 管理员补录历史合同时,也必须校验唯一。 - 退回修改、审批重提、归档不改变合同编号。 - 作废或终止合同不得释放编号重用。 - 历史合同编号不符合新规则时允许原样补录,但应记录来源。 --- ## 6. 状态模型 | 状态 | 含义 | 允许动作 | | --- | --- | --- | | 拟稿 | 合同信息录入中,未正式提交审批或签署 | 保存、按规则提交审批或转入登记、删除草稿 | | 审批中 | 合同或关键变更正在 OA 统一审批中心处理 | 在待我审批/审批详情中审批、退回、驳回、转审、按规则撤回 | | 已签署 | 合同已签署但履行尚未完成 | 上传允许附件、登记签署日期、进入履行 | | 履行中 | 合同正在执行 | 关联项目、采购、费用、验收、收付款摘要 | | 已完成 | 合同义务完成 | 归档、查看、导出摘要 | | 已终止 | 合同提前终止或作废 | 记录原因、附件和审批记录 | | 已归档 | 合同资料已完成归档 | 普通字段锁定,后续修正追加记录 | 合同删除、撤回、取消、作废和归档语义遵循产品体验事实源:拟稿且未提交/未登记的合同可删除草稿;审批中按规则撤回;合同谈判不继续可取消拟办;已编号、已签署或已生效合同失效必须用作废或终止,不释放合同编号重用;归档后普通字段锁定,修正只能追加记录并留审计。 拟稿、审批中、已驳回、已退回、已撤回等通用审批状态只有在启用合同审批时才按统一审批中心语义处理;合同台账展示时可映射为以上合同业务状态。 --- ## 7. 审批和变更规则 | 场景 | 是否进入 OA 审批 | 说明 | | --- | --- | --- | | 新合同签署前审批 | 是 | 金额、主体、项目、负责人、附件或线下归档位置应可查看 | | 合同金额变更 | 是 | 必须记录变更前后金额和原因 | | 合同期限变更 | 是或按规则 | 影响交付和付款时建议审批 | | 合同主体变更 | 是 | 客户或供应商变化必须审批 | | 负责人变更 | 可按规则 | 小团队可由管理员调整并留痕 | | 非涉密附件补充 | 可不审批但必须审计 | 例如归档证明、验收单 | | 合同终止 | 是 | 必须记录终止原因和审批历史 | | 合同归档 | 可按规则 | 归档动作必须留痕,敏感附件下载需审计 | 合同审批链不是合同台账 V1 的内置能力。如后续启用,建议仍由统一审批中心配置为负责人主管 -> 老板/总经理,财务按金额或付款条款参与复核;当前合同台账页不做并行会签或法务会签工作台。 --- ## 8. 敏感资料与附件边界 | 资料类型 | 是否进入公网 OA | 处理方式 | | --- | --- | --- | | 普通合同摘要 | 可以 | 录入台账字段 | | 非涉密盖章页或归档证明 | 可以 | 按权限上传和下载审计 | | 普通验收单或交付确认 | 可以 | 关联项目或合同 | | 涉密合同正文 | 不进入 | 只记录线下归档位置和责任人 | | 敏感报价 | 不进入或只录摘要 | 详细文件线下归档 | | 成本细节 | 不进入或最小化录入 | 只保留审批必要摘要 | | 客户敏感资料 | 不进入 | 线下受控保存 | | 账号密码、密钥、证书 | 禁止上传 | 需使用专门密钥管理或线下流程 | 前端必须用业务语言提示“涉密资料请登记线下归档位置”,不能引导用户把敏感正文直接上传到公网 OA。 合同附件同样遵循业务附件受控入库: - 授权合同负责人、审批人、用印经办人和管理层可以在合同业务流程内处理必要原文,例如待审合同稿、审批版、盖章扫描件、验收单和归档证明。 - “可上传原文”不等于“可自由下载或外发”。原文必须绑定合同、项目、采购或付款业务对象,并受状态、角色、敏感级别、下载用途和审计控制。 - AI/Codex 初审、普通员工协作、客户外发、企业微信消息和自动化报告只能使用脱敏副本、摘要或 OA deeplink。 - 合同归档后,正文、盖章扫描件和高敏附件默认收紧下载;如需下载,必须写明用途并留审计。 --- ## 9. 与其他模块关系 | 模块 | 关系 | | --- | --- | | 统一审批中心 | 如启用合同审批、变更、终止或归档审批,统一在审批中心留痕;合同台账只展示状态和跳转 | | 采购/费用 | 大额采购可关联合同;合同可查看相关采购/费用申请 | | 报销/OCR | 合同相关报销或付款附件可关联合同摘要,但发票处理仍由报销规约管理 | | 项目轻管理 | 项目页汇总相关合同、里程碑、交付和风险 | | 企业微信 | 只发送脱敏通知:合同编号、标题、状态和 deeplink | 合同页的跨模块关联采用“摘要 + 跳转”:可以展示项目、采购、报销、付款/AP 和验收对象的编号、名称、状态、金额、负责人、证据完整性和下一步,但不在合同页复制采购审批、报销发票/OCR、项目任务管理、付款处理或资产处置流程。需要处理时跳转到对应业务详情、审批任务或财务处理页。 合同台账和普通合同详情只显示付款条款、付款状态、回单状态、`查看付款` 或进入付款记录入口,不直接放 `标记已付款`、`取消付款`、`批量付款`、`执行付款`。合同相关付款准备、回单留痕和付款修正统一进入付款/财务处理详情,并按财务权限和审计执行。 企业微信通知不得包含合同正文、报价明细、供应商敏感资料、附件原文或线下归档位置的完整细节;点击后必须回到 OA,并按 OA 权限查看摘要或附件。 --- ## 10. 异常规则 | 异常 | 处理规则 | 用户提示或留痕 | | --- | --- | --- | | 合同编号重复 | 阻断保存或提交 | 提示使用新编号或检查历史合同 | | 必填字段缺失 | 阻断提交审批 | 明确缺少字段 | | 涉密资料上传 | 前端提示并阻断或由管理员下架 | 记录操作和处理结果 | | 无权限查看合同 | 服务端拒绝 | 不泄露合同名称、金额或附件信息 | | 无权限下载附件 | 服务端拒绝并记录安全日志 | 提示无权下载 | | 合同已归档后修改 | 普通用户禁止修改核心字段 | 授权角色追加修正记录 | | 附件 hash 重复 | 提示可能已上传 | 允许确认复用或取消 | | 项目已归档 | 默认不允许新增关联 | 管理员例外需记录原因 | --- ## 11. 审计与归档包 合同归档包至少包含: - 合同台账快照。 - 合同编号、名称、主体、金额、负责人和项目关联。 - 非涉密附件清单及文件 hash。 - 线下归档位置或外部归档编号。 - 审批历史、变更记录、终止记录和归档记录。 - 附件上传、下载、删除、替换审计。 - 关联采购、费用、报销、项目交付或验收记录摘要。 合同导出首批只导出台账摘要,不批量导出合同正文或敏感附件。 --- ## 12. 验收场景 | 场景 | 步骤 | 预期结果 | | --- | --- | --- | | 新建合同台账 | 负责人填写合同名称、客户、项目、金额、负责人和归档位置 | 合同保存为拟稿,编号唯一 | | 合同审批(如启用) | 负责人从统一审批中心提交合同审批;主管或老板处理 | 审批历史完整,合同台账只展示状态和跳转,不自建审批工作台 | | 历史合同补录 | 管理员录入历史编号和线下归档位置 | 编号唯一校验通过,可标记已归档 | | 涉密合同处理 | 用户尝试上传涉密正文 | 系统提示不进入公网 OA,要求登记线下归档位置 | | 附件下载审计 | 有权限用户下载非涉密附件 | 下载成功,审计记录包含人员、时间和附件 | | 合同变更审批(如启用) | 修改金额或期限并从统一审批中心发起变更 | 变更前后值和审批历史可追溯,合同台账只保留摘要 | | 项目关联查看 | 合同关联项目;项目页查看合同摘要 | 项目页只展示有权限合同摘要 | | 归档后修正 | 管理员修改归档位置并填写原因 | 不覆盖历史,追加修正记录 | --- ## 13. 后续开发拆分建议 1. 合同台账数据模型、编号规则和历史合同补录。 2. 合同列表、详情、创建和编辑页面。 3. 如需要合同审批、变更审批和终止审批,另建任务接入统一审批中心。 4. 非涉密附件上传、下载权限和审计。 5. 敏感级别、线下归档位置和上传阻断提示。 6. 项目、采购、费用、报销的业务关联。 7. 合同摘要导出和归档包生成。 8. 回归测试:编号唯一、审批、变更、附件审计、涉密阻断、归档后修正和权限拒绝。 --- ## 14. 后续 Backlog - 电子签章、合同在线签署和签署状态同步。 - 法务审查、红线对比、合同模板库、条款库和版本协同。 - 履约计划、收付款核销、自动提醒和 ERP 入账。 - CRM、供应商生命周期和合同风险评分。 - 合同智能审阅、条款抽取和 AI 摘要。