Files
tms-erp-web/需求卡/合同管理需求卡.md
b2894lxlx 0b2e07f1fe 1、新增常用货物
2、新增运输计划
3、新增项目管理
4、新增运单管理
5、新增常用线路
6、新增发货模板
7、新增合同管理
8、新增过程配置
9、新增临时额度管理
2026-07-28 23:14:37 +08:00

775 lines
35 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 合同管理需求卡
## 目录
- [REQ-CONTR-001 菜单入口](#req-contr-001-菜单入口)
- [REQ-CONTR-002 列表与分页](#req-contr-002-列表与分页)
- [REQ-CONTR-003 条件查询与重置](#req-contr-003-条件查询与重置)
- [REQ-CONTR-004 到期快捷筛选](#req-contr-004-到期快捷筛选)
- [REQ-CONTR-005 合同阶段与审核状态](#req-contr-005-合同阶段与审核状态)
- [REQ-CONTR-006 列表操作](#req-contr-006-列表操作)
- [REQ-CONTR-007 新增合同](#req-contr-007-新增合同)
- [REQ-CONTR-008 合同基本信息](#req-contr-008-合同基本信息)
- [REQ-CONTR-009 合同文件与附件](#req-contr-009-合同文件与附件)
- [REQ-CONTR-010 保存草稿](#req-contr-010-保存草稿)
- [REQ-CONTR-011 转临时合同](#req-contr-011-转临时合同)
- [REQ-CONTR-012 临时合同转正式合同](#req-contr-012-临时合同转正式合同)
- [REQ-CONTR-013 正式合同审批通过](#req-contr-013-正式合同审批通过)
- [REQ-CONTR-014 编辑合同](#req-contr-014-编辑合同)
- [REQ-CONTR-015 删除草稿合同](#req-contr-015-删除草稿合同)
- [REQ-CONTR-016 查看合同与流程](#req-contr-016-查看合同与流程)
- [REQ-CONTR-017 复制合同](#req-contr-017-复制合同)
- [REQ-CONTR-018 附件上传](#req-contr-018-附件上传)
- [REQ-CONTR-019 计费信息开关](#req-contr-019-计费信息开关)
- [REQ-CONTR-020 计费方案](#req-contr-020-计费方案)
- [REQ-CONTR-021 计费规则明细](#req-contr-021-计费规则明细)
- [REQ-CONTR-022 计费要素组合](#req-contr-022-计费要素组合)
- [REQ-CONTR-023 计费规则匹配条件](#req-contr-023-计费规则匹配条件)
- [REQ-CONTR-024 结算生成规则](#req-contr-024-结算生成规则)
- [REQ-CONTR-025 对账配置](#req-contr-025-对账配置)
- [REQ-CONTR-026 标准结算流程](#req-contr-026-标准结算流程)
- [REQ-CONTR-027 发起合同变更](#req-contr-027-发起合同变更)
- [REQ-CONTR-028 合同内容变更](#req-contr-028-合同内容变更)
- [REQ-CONTR-029 终止合同](#req-contr-029-终止合同)
- [REQ-CONTR-030 变更审批与生效](#req-contr-030-变更审批与生效)
- [REQ-CONTR-031 变更记录](#req-contr-031-变更记录)
- [REQ-CONTR-032 导出合同列表](#req-contr-032-导出合同列表)
- [REQ-CONTR-033 权限与审计](#req-contr-033-权限与审计)
- [通用规则](#通用规则)
---
### REQ-CONTR-001 菜单入口
- 功能点:
- 合同管理模块归属于“合同管理”主菜单。
- 在“合同管理”菜单下提供“合同管理”入口。
- 用户进入合同管理页面后,可进行查询、新增合同、复制、编辑、删除、转临时合同、转正式合同、变更、终止、附件上传、流程查看、导出等操作。
- 异常与边界:
- 无菜单权限时不展示“合同管理”入口。
- 有菜单权限但无按钮权限时,仅展示允许访问的页面和操作。
- 菜单或页面加载失败时提示失败原因,不影响其他模块访问。
- 反例:
- 不允许把合同管理挂到非合同管理主菜单下。
- 不允许无权限用户通过 URL 直接进入合同管理页面。
- 不允许菜单入口存在但页面无法访问。
---
### REQ-CONTR-002 列表与分页
- 功能点:
- 默认展示当前用户权限范围内的合同数据。
- 列表展示序号、合同编号、合同名称、所属项目、所属组织、合同类别、签约类型、甲方、乙方、开始日期、结束日期、临时效力起、临时效力止、经办人、创建时间、合同阶段、审核状态、当前节点、当前处理人、操作等字段。
- 合同名称支持点击查看合同详情。
- 合同阶段、审核状态和操作列固定在右侧,不随横向滚动条滑动。
- 默认按创建时间降序展示。
- 支持分页展示默认10条/页支持20/50/100条/页。
- 异常与边界:
- 查询无数据时展示空状态。
- 当前页数据因新增、编辑、提交、撤回、审批、变更、删除等操作变化后,应刷新列表并保持分页逻辑正确。
- 列表加载失败时保留当前查询条件和分页条件,提示用户重新查询。
- 反例:
- 不允许合同阶段、审核状态或操作列被横向滚动隐藏。
- 不允许列表展示经办人、当前处理人的用户 ID。
- 不允许分页后丢失当前查询条件。
---
### REQ-CONTR-003 条件查询与重置
- 功能点:
- 支持按合同类别、所属项目、合同名称、合同编号、生效类型、审核状态、所属组织、合同阶段、签约类型等条件组合查询。
- 合同类别、生效类型、审核状态、合同阶段、签约类型使用下拉单选或多选控件。
- 所属项目使用搜索选择控件。
- 合同名称、合同编号、所属组织使用输入框,支持模糊查询。
- 点击查询后按当前条件刷新列表。
- 点击重置后清空所有查询条件,恢复默认列表。
- 异常与边界:
- 查询条件为空时点击查询,按默认规则展示全部权限范围内数据。
- 查询结果为空时展示空状态,不清空用户已输入条件。
- 重置后页码恢复第一页,并重新加载列表。
- 反例:
- 不允许重置后仍保留隐藏查询条件。
- 不允许只按单个条件查询而忽略其他已选择条件。
- 不允许查询后改变列表字段或操作范围。
---
### REQ-CONTR-004 到期快捷筛选
- 功能点:
- 列表支持按合同到期时间快捷筛选。
- 快捷筛选项包含全部、30天内到期、90天内到期、90天以上、已到期。
- 每个筛选项展示当前条件下的数量。
- 点击快捷筛选项后,列表按对应到期范围刷新。
- 异常与边界:
- 合同结束日期为空时不计入到期筛选统计。
- 选择快捷筛选后再点击查询,应与其他查询条件组合生效。
- 重置查询条件后快捷筛选恢复全部。
- 反例:
- 不允许快捷筛选忽略用户已选择的其他查询条件。
- 不允许已到期合同仍统计到30天内到期。
- 不允许数量统计与列表结果不一致。
---
### REQ-CONTR-005 合同阶段与审核状态
- 功能点:
- 合同阶段包含草稿、临时合同、正式合同、已终止。
- 审核状态包含草稿、审批中、已驳回、审批通过、变更审批中、变更驳回、变更审批通过。
- 草稿表示新增合同草稿,尚未转临时合同,无业务生效。
- 临时合同表示草稿转临时成功,临时有效期内可执行短期结算。
- 正式合同表示临时合同或合同草稿经审批通过后正式生效。
- 已终止表示正式合同经终止变更审批通过后生命周期结束。
- 异常与边界:
- 状态为空或未知时,列表应展示兜底文案,并限制高风险操作。
- 状态变更后需刷新列表和详情,确保合同阶段、审核状态、操作按钮一致。
- 审核状态与合同阶段不匹配时,应提示数据异常并限制提交、变更、结算等操作。
- 反例:
- 不允许草稿合同执行业务结算。
- 不允许临时合同永久有效。
- 不允许已终止合同继续新建运单或结算单。
---
### REQ-CONTR-006 列表操作
- 功能点:
- 草稿合同支持复制、编辑、删除。
- 临时合同草稿状态支持复制、编辑。
- 临时合同审批中支持复制、查看流程、撤回。
- 临时合同已驳回支持复制、编辑、重新提交转正。
- 正式合同审批通过支持复制、发起变更、附件上传、查看流程。
- 正式合同变更审批中支持复制、查看流程、撤回变更。
- 正式合同变更驳回支持复制、编辑变更内容、重新提交变更。
- 正式合同变更审批通过支持复制、再次发起变更、附件上传、查看流程。
- 已终止合同仅支持复制和查看流程。
- 异常与边界:
- 操作执行前需重新校验合同最新阶段和审核状态。
- 用户无按钮权限时不展示对应操作入口。
- 状态变更成功后刷新列表,展示最新可操作按钮。
- 反例:
- 不允许临时合同转正审批中继续编辑合同正文。
- 不允许正式合同直接删除。
- 不允许已终止合同发起新变更。
---
### REQ-CONTR-007 新增合同
- 功能点:
- 点击“新增合同”后进入新建合同页面。
- 新建合同页面包含基本信息、计费信息、结算生成规则、对账配置、其它附件、变更记录等区域。
- 新建合同支持保存、提交临时合同、提交正式合同、关闭。
- 合同编号不填写时由系统自动生成,生成后只读不可编辑。
- 草稿保存不触发审批流程。
- 异常与边界:
- 新建页面打开失败时提示失败原因,不改变列表数据。
- 基础信息必填项为空时不允许保存为有效草稿。
- 提交临时合同或正式合同时需按对应规则校验必填项和附件。
- 重复点击保存或提交时应防止重复生成合同。
- 反例:
- 不允许用户重复提交生成多个相同合同。
- 不允许没有合同名称和合同类型的合同草稿保存成功。
- 不允许合同编号由用户随意修改。
---
### REQ-CONTR-008 合同基本信息
- 功能点:
- 基本信息包含签约类型、合同编号、合同名称、合同类型、甲方、乙方、所属项目、合同期限、所属组织、经办人、签订日期、结算方式、合同格式、是否需要加盖法人章、一式份数、回款账期、备注等字段。
- 签约类型为必填字段,使用下拉单选控件,枚举包含新签、续签。
- 合同编号为必填字段,可不填写,由系统自动生成。
- 合同名称为必填字段,使用输入框。
- 合同类型为必填字段,枚举包含客户合同、承运商合同等。
- 甲方、乙方为必填字段,从客商或组织档案选择。
- 所属项目从项目管理中选择。
- 合同期限为必填日期范围字段。
- 签订日期为必填日期字段。
- 结算方式、合同格式、是否需要加盖法人章、一式份数、回款账期、备注按合同业务要求填写。
- 备注最多2000字。
- 异常与边界:
- 转临时合同时,签约人、签约日期、合同期限可不填。
- 提交正式合同时,所有必填字段必须完整,包含签约人、签约日期、合同期限。
- 合同期限开始日期晚于结束日期时阻止提交。
- 备注超过2000字时阻止保存或提交。
- 反例:
- 不允许正式合同缺少签订日期或合同期限。
- 不允许合同期限结束日期早于开始日期。
- 不允许甲方、乙方为空后提交正式合同。
---
### REQ-CONTR-009 合同文件与附件
- 功能点:
- 合同文件区域用于上传合同主文件。
- 其它附件区域用于上传银行承兑汇票、补充材料等合同相关附件。
- 附件列表展示序号、文件名、附件描述、文件大小、上传人、上传时间、操作等字段。
- 支持批量下载附件。
- 支持 pdf、bmp、jpeg、png、jpg、doc、docx、ppt、pptx、xlsx、xls、eml、msg、zip 等格式文件。
- 单个文件大小限制500M。
- 异常与边界:
- 保存草稿或转临时合同时,附件可不上传。
- 提交正式合同时,应校验所有必须附件已上传。
- 文件格式不支持或大小超过500M时阻止上传并提示。
- 删除附件前需二次确认。
- 反例:
- 不允许正式合同缺少必须合同文件仍提交审批。
- 不允许上传超过500M的文件。
- 不允许附件上传成功后列表不展示文件信息。
---
### REQ-CONTR-010 保存草稿
- 功能点:
- 新建或编辑页面点击保存后,临时保存当前填写内容。
- 保存后合同阶段为草稿,审核状态为草稿。
- 保存草稿只要求基础信息满足最小必填校验,附件可不上传。
- 草稿合同无业务生效,不可创建运单和结算单。
- 异常与边界:
- 基础信息缺失导致无法识别合同主体时阻止保存并提示。
- 保存失败时保留用户已填写内容。
- 草稿数据已删除或状态已变化时,不允许继续保存。
- 反例:
- 不允许保存草稿触发审批流程。
- 不允许草稿合同执行结算过程。
- 不允许保存失败后清空用户输入。
---
### REQ-CONTR-011 转临时合同
- 功能点:
- 草稿合同支持提交临时合同。
- 转临时合同时,签约人、签约日期、合同期限可不填。
- 转临时合同只校验基础信息必填项,附件可不上传。
- 转临时成功后合同阶段变为临时合同,审核状态保持草稿。
- 临时合同有效期为30天。
- 临时合同可执行结算过程。
- 转临时合同后不可删除。
- 异常与边界:
- 基础信息缺失时不允许转临时合同。
- 临时有效期计算失败时不允许转临时合同。
- 转临时合同失败时保持草稿状态,并保留用户填写内容。
- 反例:
- 不允许草稿合同未转临时就执行结算。
- 不允许转临时合同后继续删除。
- 不允许临时合同有效期超过30天。
---
### REQ-CONTR-012 临时合同转正式合同
- 功能点:
- 临时合同支持补全信息后提交正式合同审批。
- 转正式合同前需完成所有正式合同必填内容。
- 转正式合同前需上传所有必须附件。
- 转正式合同需走审批流程。
- 提交成功后合同阶段保持临时合同,审核状态更新为审批中。
- 审批通过后合同阶段转为正式合同。
- 异常与边界:
- 正式合同必填字段缺失时阻止提交审批并提示。
- 必须附件缺失时阻止提交审批并提示缺失附件。
- 临时合同已超过30天有效期时应提示临时效力已过期并按业务规则限制继续结算。
- 审批流程发起失败时保持原状态,并保留用户输入内容。
- 反例:
- 不允许资料未补齐的临时合同转正式审批。
- 不允许转正式合同绕过审批。
- 不允许提交失败后仍把合同阶段改为正式合同。
---
### REQ-CONTR-013 正式合同审批通过
- 功能点:
- 当前审批节点处理人可对审批中合同执行审批通过。
- 全部审批通过后,合同阶段更新为正式合同,审核状态更新为审批通过。
- 正式合同永久正式生效,完整开放运单、结算、回款权限。
- 正式合同审批通过后,临时效力不再作为业务有效期判断依据。
- 异常与边界:
- 非当前审批节点处理人不允许审批通过。
- 审批通过时如合同已被终止或数据不存在,应阻止审批并提示。
- 审批状态更新失败时需保持审批前状态。
- 反例:
- 不允许未审批通过的合同成为正式合同。
- 不允许非审批处理人执行审批通过。
- 不允许正式合同仍按30天临时效力限制结算。
---
### REQ-CONTR-014 编辑合同
- 功能点:
- 草稿合同支持编辑。
- 临时合同草稿或已驳回状态支持编辑。
- 正式合同仅可通过变更流程修改合同内容。
- 编辑页面回显合同完整信息,合同编号只读不可编辑。
- 编辑保存后按当前阶段和审核状态保持或更新。
- 异常与边界:
- 编辑前需校验当前合同状态仍允许编辑。
- 合同已进入审批中时不允许直接编辑。
- 修改所属项目或合同类型时,应重新校验计费、结算、对账配置适用性。
- 编辑失败时保留用户修改内容。
- 反例:
- 不允许审批中合同直接编辑。
- 不允许正式合同绕过变更流程直接修改。
- 不允许编辑时修改系统生成的合同编号。
---
### REQ-CONTR-015 删除草稿合同
- 功能点:
- 未转临时的草稿合同支持删除。
- 点击删除后弹出二次确认弹窗。
- 删除前需校验合同未生效且未被业务数据引用。
- 删除成功后刷新列表。
- 异常与边界:
- 临时合同、正式合同、已终止合同均不允许删除。
- 存在运单、结算、应收应付、附件审批等业务引用时不允许删除。
- 删除时状态已变化为临时合同或审批中时,应阻止删除并刷新列表。
- 反例:
- 不允许删除转临时后的合同。
- 不允许删除正式合同。
- 不允许跳过二次确认直接删除。
---
### REQ-CONTR-016 查看合同与流程
- 功能点:
- 支持点击合同名称或行操作查看合同详情。
- 查看详情展示基本信息、计费信息、结算生成规则、对账配置、附件、变更记录等内容。
- 查看状态下所有字段只读。
- 支持查看审批流程节点、处理人、处理时间和审批意见。
- 异常与边界:
- 合同不存在或无权限查看时提示无法查看。
- 附件加载失败时不影响基础信息展示。
- 流程加载失败时提示失败原因,不改变合同状态。
- 反例:
- 不允许查看状态下保存修改。
- 不允许流程查看展示其他合同的审批记录。
- 不允许查看时自动切换为编辑状态。
---
### REQ-CONTR-017 复制合同
- 功能点:
- 支持通过列表行操作复制合同。
- 复制后生成一条新合同草稿。
- 新合同编号重新生成,合同阶段为草稿,审核状态为草稿。
- 复制时可带出原合同基本信息、计费规则、结算规则、对账配置和附件清单。
- 异常与边界:
- 原合同已删除或无权限查看时不允许复制。
- 复制后的合同名称应提示用户调整,避免与原合同混淆。
- 复制失败时不影响原合同数据。
- 反例:
- 不允许复制后沿用原合同编号。
- 不允许复制操作修改原合同。
- 不允许复制后直接生成临时合同或正式合同。
---
### REQ-CONTR-018 附件上传
- 功能点:
- 正式合同审批通过后支持附件上传。
- 合同变更过程中支持上传变更材料。
- 附件上传成功后自动新增附件行,展示文件名、大小、上传人、上传时间。
- 支持批量下载附件。
- 附件删除按合同阶段、审核状态和权限控制。
- 异常与边界:
- 审批中合同不允许随意删除已提交审批附件。
- 附件上传失败时保留当前附件列表并提示失败原因。
- 变更材料与普通附件需按业务场景区分归档。
- 反例:
- 不允许附件上传后不归属任何合同或变更记录。
- 不允许审批材料被无权限用户删除。
- 不允许变更材料混入普通附件后无法追溯。
---
### REQ-CONTR-019 计费信息开关
- 功能点:
- 合同基本信息支持配置是否自动生成费用明细。
- 开启自动生成费用明细时,系统展示计价配置页面,并按合同计费规则自动核算单票运单总费用,生成应收或应付。
- 关闭自动生成费用明细时,不展示计价配置页面。
- 关闭后费用入账依据导入结算账单或手动生成账单。
- 自动生成费用明细适用于先做运单,再按合同运价自动核算的业务场景。
- 异常与边界:
- 开启自动生成费用明细但未配置计费方案时,提交正式合同需阻止并提示。
- 关闭自动生成费用明细后,不得继续要求填写计费方案。
- 合同已产生自动费用明细后,关闭开关需按变更流程处理。
- 反例:
- 不允许开关关闭时仍展示计价配置并强制填写。
- 不允许开关开启但没有任何计费规则就提交正式合同。
- 不允许已生效合同绕过变更直接修改费用生成方式。
---
### REQ-CONTR-020 计费方案
- 功能点:
- 计费信息区域支持新增、编辑、删除计费方案。
- 计费方案包含方案名称、默认方案标识、备注和计费规则明细。
- 方案名称为必填字段。
- 同一合同内可维护多套计费方案。
- 同一合同内只能设置一个默认方案。
- 异常与边界:
- 方案名称为空时阻止提交并提示。
- 删除默认方案前需提示用户重新指定默认方案。
- 已被费用明细引用的计费方案不允许直接删除。
- 反例:
- 不允许一个合同存在多个默认计费方案。
- 不允许无方案名称的计费方案保存。
- 不允许删除已被历史运单费用引用的计费方案。
---
### REQ-CONTR-021 计费规则明细
- 功能点:
- 计费方案内支持添加多条计费规则。
- 计费规则字段包含费用类型、费用项、计费要素、计费类型、计费单位、单价、计费要素下限、计费要素上限、保底计费量、备注和操作。
- 费用类型包含运输费、其它费用等。
- 费用项包含运费、装卸车费、提货费、送货费、保险费等。
- 计费类型包含固定单价、区间单价、阶梯单价、区间阶梯一口价、固定一口价等。
- 同一套计费方案内,同一条计费要素可配置多行区间。
- 同一条计费要素的区间上下限必须连续、不重叠、无间隙。
- 前端保存时需自动校验区间冲突。
- 异常与边界:
- 费用类型、费用项、计费要素、计费类型、计费单位、单价等核心字段为空时阻止保存。
- 计费要素上下限不连续、重叠或存在间隙时阻止保存并提示。
- 单价或保底计费量为负数时阻止保存。
- 已生效计费规则被历史费用引用时,修改需走合同变更流程。
- 反例:
- 不允许同一计费要素区间重叠。
- 不允许单价填写负数。
- 不允许计费规则被引用后直接删除导致历史费用无法追溯。
---
### REQ-CONTR-022 计费要素组合
- 功能点:
- 计费要素支持按重量、按体积、按车辆、按里程、按吨公里、固定金额整单一口价、按数量等类型。
- 按重量支持固定单价、区间单价、阶梯单价、区间阶梯一口价,适用于整车散货按吨计价、分吨位阶梯调价、吨位区间一口价。
- 按体积支持固定单价、区间单价、阶梯单价、区间阶梯一口价,适用于轻泡货按立方计费。
- 按车辆支持固定单价,适用于包月固定车费、单次车辆包干费。
- 按里程支持固定单价、区间单价、阶梯单价、区间阶梯一口价,适用于长途干线按公里计价。
- 按吨公里支持固定单价、区间单价、阶梯单价、区间阶梯一口价,适用于水陆联运复合计量计费。
- 固定金额整单一口价支持固定一口价,适用于同城配送、短途整车包干。
- 按数量支持固定单价、区间单价、阶梯单价、区间阶梯一口价,适用于小件零担按件计费。
- 异常与边界:
- 计费要素与计费类型不匹配时阻止保存并提示。
- 计费单位需与计费要素匹配,例如重量对应元/吨,里程对应元/公里。
- 复合计量场景需明确计费要素来源,避免同一运单重复计费。
- 反例:
- 不允许按车辆计费配置阶梯单价。
- 不允许按里程计费用元/吨作为计费单位。
- 不允许一个费用项重复命中多个同优先级计费规则。
---
### REQ-CONTR-023 计费规则匹配条件
- 功能点:
- 计费规则支持设置匹配条件。
- 匹配条件包含起运地、目的地、运输方式、货物类型等字段。
- 起运地和目的地支持按省、市、区县配置。
- 运输方式和货物类型使用下拉选择。
- 保存匹配条件后,系统在执行运单计费时按条件匹配对应计费规则。
- 支持新增多组匹配条件。
- 异常与边界:
- 匹配条件为空时视为通用规则或按业务默认规则处理。
- 多组匹配条件冲突时,应提示用户调整。
- 保存失败时保留用户已填写条件。
- 反例:
- 不允许同一费用项存在无法区分优先级的重复匹配条件。
- 不允许保存后匹配条件与计费规则脱离。
- 不允许匹配条件冲突时静默覆盖旧规则。
---
### REQ-CONTR-024 结算生成规则
- 功能点:
- 合同支持配置是否自动生成预结算单。
- 开启自动生成预结算单时,到达预设账单日,系统汇总当期所有应收或应付,生成统一内部预结算单。
- 关闭自动生成预结算单时,不自动生成预结算单,可手动选择应收应付转预结算单。
- 账单起始日期、结算类型、账单周期类型、账单截单日、周期天数等字段按结算规则配置。
- 结算时以合同截止时间产生的运单为有效单据,支持超合同有效期发起结算。
- 异常与边界:
- 开启自动生成预结算单时,账单起始日期、结算类型、账单周期类型等必填字段缺失应阻止提交。
- 周期天数不合法时阻止保存。
- 自动预结算任务失败时,应保留补偿处理记录。
- 反例:
- 不允许开启自动预结算但缺少账单周期配置。
- 不允许合同截止前产生的有效运单因合同已过期而不能结算。
- 不允许关闭自动预结算后仍自动生成预结算单。
---
### REQ-CONTR-025 对账配置
- 功能点:
- 合同支持配置是否跳过对账。
- 开启跳过对账后,预结算单手动确认后直接生成正式结算单。
- 关闭跳过对账后,预结算单需按对账模式完成对账后生成正式结算单。
- 对账模式包含明细逐行核对和仅核对总额。
- 明细逐行核对要求外部账单明细与内部账单明细一一匹配,所有明细匹配后才可完成对账。
- 仅核对总额要求外部账单总条数、总金额、总货量一致后即可完成对账,不按明细逐行核对。
- 异常与边界:
- 未选择是否跳过对账时阻止提交正式合同。
- 不跳过对账时,对账模式必填。
- 明细逐行核对存在不匹配明细时,不允许完成对账。
- 仅核对总额存在总条数、总金额或总货量不一致时,不允许完成对账。
- 反例:
- 不允许开启跳过对账后仍强制进入对账流程。
- 不允许未选择对账模式就保存正式合同配置。
- 不允许明细不匹配或总额不一致时完成对账。
---
### REQ-CONTR-026 标准结算流程
- 功能点:
- 合同标准结算流程为合同配置计费规则、执行运单、生成应收应付、账期自动生成预结算、对账、正式结算。
- 自动生成费用明细开启时,运单执行后系统按合同计费规则生成应收应付。
- 自动生成预结算单开启时,系统按账期汇总生成预结算。
- 对账完成或配置跳过对账后,系统生成正式结算单。
- 异常与边界:
- 合同未生效、计费规则不完整或费用明细开关关闭时,不按合同计费规则自动生成应收应付。
- 运单未完成或不满足结算条件时,不进入预结算。
- 合同已终止后,不允许新建运单或新结算单,但历史单据可正常对账回款。
- 反例:
- 不允许草稿合同进入标准结算流程。
- 不允许已终止合同新建业务单据。
- 不允许跳过应收应付直接生成正式结算单,除非业务配置明确支持。
---
### REQ-CONTR-027 发起合同变更
- 功能点:
- 审批通过的正式合同支持发起变更。
- 变更类型包含合同信息变更、终止合同。
- 发起变更后打开变更页面,自动带入原合同完整信息。
- 变更页面支持修改允许变更的合同字段、计费规则、附件和变更说明。
- 变更需要走审核流程。
- 异常与边界:
- 非审批通过正式合同不允许发起变更。
- 存在未完成变更审批时,不允许重复发起变更。
- 已终止合同不允许发起变更。
- 反例:
- 不允许临时合同发起合同内容变更。
- 不允许变更页面为空白而不带入原合同数据。
- 不允许同一合同同时存在多个审批中的变更单。
---
### REQ-CONTR-028 合同内容变更
- 功能点:
- 合同内容变更用于调整正式合同的基础信息、计费规则、结算规则、对账配置和附件。
- 变更内容需填写本次修改说明。
- 变更原因需填写本次变更原因。
- 变更内容和变更原因最多2000字。
- 内容变更审批通过后更新合同计费和基础信息。
- 异常与边界:
- 变更内容或变更原因为空时阻止提交审批。
- 文本超过2000字时阻止提交。
- 变更审批通过前,原合同条款保持正常履约,变更内容暂不生效。
- 反例:
- 不允许变更说明为空后发起审批。
- 不允许审批未通过的变更内容影响正式合同。
- 不允许超过2000字的变更原因提交。
---
### REQ-CONTR-029 终止合同
- 功能点:
- 终止合同属于合同变更类型。
- 终止合同需填写变更原因和上传变更材料。
- 终止申请提交后进入变更审批中。
- 终止审批通过后合同阶段更新为已终止。
- 已终止合同彻底停用,禁止新建任何运单、结算单据。
- 历史单据可正常对账回款。
- 异常与边界:
- 终止审批未通过前,合同仍按原状态处理。
- 存在未完成变更审批时,不允许再次发起终止。
- 终止失败时保持原合同状态,并提示失败原因。
- 反例:
- 不允许未审批通过就终止合同。
- 不允许已终止合同继续新建运单或结算单。
- 不允许终止合同影响历史应收应付对账回款。
---
### REQ-CONTR-030 变更审批与生效
- 功能点:
- 变更提交后审核状态更新为变更审批中。
- 变更审批通过后审核状态更新为变更审批通过。
- 合同内容变更审批通过后,新内容正式生效。
- 终止合同审批通过后,合同阶段更新为已终止。
- 变更驳回后审核状态更新为变更驳回,允许编辑后重新提交。
- 异常与边界:
- 变更审批未通过前,不得覆盖原正式合同信息。
- 审批过程中合同已终止或数据不存在时,不允许继续审批。
- 变更审批失败时保持原合同数据不变,并提示失败原因。
- 反例:
- 不允许变更草稿直接影响正式合同。
- 不允许审批未通过却生成正式变更结果。
- 不允许变更驳回后仍按变更内容计费。
---
### REQ-CONTR-031 变更记录
- 功能点:
- 合同详情和编辑页面展示变更记录。
- 变更记录展示序号、变更日期、经办人、变更类型、变更原因、状态、操作等字段。
- 支持查看变更审批流程。
- 变更记录在变更提交后生成,并在详情页可查看。
- 变更记录需保留变更前后关键字段。
- 异常与边界:
- 变更记录加载失败时提示失败原因,不影响合同基础信息查看。
- 查看历史变更记录时全字段只读。
- 变更记录与合同不匹配时不展示,并提示数据异常。
- 反例:
- 不允许删除已审批通过的变更记录。
- 不允许变更记录只保存变更原因而无变更内容。
- 不允许跨合同展示变更记录。
---
### REQ-CONTR-032 导出合同列表
- 功能点:
- 列表顶部支持导出合同列表。
- 点击导出后,导出当前筛选条件下的合同基础信息、阶段状态、计费方案摘要、附件清单和变更记录到 Excel 文件。
- 导出字段与列表和详情展示字段保持一致。
- 数据量较大时页面展示导出中提示。
- 异常与边界:
- 当前查询条件下无数据时允许导出空文件或提示无可导出数据。
- 导出失败时提示失败原因,不改变当前列表状态。
- 无导出权限时不展示导出按钮。
- 反例:
- 不允许无权限用户导出合同数据。
- 不允许导出时忽略当前查询条件。
- 不允许导出文件展示用户 ID 代替姓名。
---
### REQ-CONTR-033 权限与审计
- 功能点:
- 根据用户权限控制查询、新增、复制、编辑、删除、转临时、转正式、审批、变更、终止、附件上传、流程查看、导出等操作入口。
- 列表、详情、导出、审批流中用户可见字段优先展示姓名,不直接展示用户 ID。
- 新增、保存、提交临时合同、提交正式合同、审批、撤回、复制、删除、变更、终止、附件上传、导出等关键操作需记录操作日志。
- 审计信息应包含操作人、操作时间、操作类型、合同编号、合同阶段、审核状态和关键变更内容。
- 异常与边界:
- 无按钮权限时不展示对应按钮,通过 URL 或接口绕过时也应拒绝。
- 操作日志记录失败时不得影响用户已成功的业务操作,但需保留可排查信息。
- 数据权限限制下,用户只能查看和操作授权范围内合同。
- 反例:
- 不允许无权限用户审批、变更、终止或导出合同。
- 不允许列表展示经办人、审批人等用户 ID。
- 不允许关键状态变更没有审计记录。
---
## 通用规则
- 合同管理用于维护客户合同、承运商合同等合同全生命周期,归属于“合同管理”主菜单。
- 合同阶段包含草稿、临时合同、正式合同、已终止;审核状态包含草稿、审批中、已驳回、审批通过、变更审批中、变更驳回、变更审批通过。
- 合同编号由系统自动生成,全局唯一,只读不可编辑。
- 暂存草稿无业务生效,不可执行结算流程。
- 草稿可提交为临时合同签约人、签约日期、合同期限可不填临时合同有效期30天可执行结算流程且不可删除。
- 临时合同转正式合同需补齐所有必填信息并上传所有必须附件,审批通过后转为正式合同。
- 正式合同可执行完整结算流程,并支持发起合同信息变更或终止合同变更。
- 标准结算流程为合同配置计费规则、执行运单、生成应收应付、账期自动生成预结算、对账、正式结算。
- 自动生成费用明细开启时,需维护计价配置;关闭时不展示计价配置,费用依据导入结算账单或手工生成账单入账。
- 自动生成预结算单开启时,系统按账期生成预结算;关闭时可手动选择应收应付转预结算。
- 是否跳过对账开启时,预结算单手动确认后直接生成正式结算单;关闭时需按明细逐行核对或仅核对总额完成对账。
- 同一套计费方案内,同一计费要素的多行区间必须连续、不重叠、无间隙。
- 变更审批通过前,原正式合同内容继续生效;变更审批通过后新内容生效或合同终止。
- 已终止合同禁止新建运单、结算单据,历史单据可正常对账回款。
- 列表、详情、导出、审批等用户可见场景优先展示姓名字段,不直接展示用户 ID。
- 新增、保存、提交、审批、撤回、复制、删除、变更、终止、附件上传、导出后均需刷新相关列表或详情状态。