卖家端完整产品需求文档
商品经营、商机响应、交易履约、开票、结算和提现的实施规格。
卖家端完整产品需求文档功能脑图
从功能域向下展开到可开发功能点,便于产品、设计、开发和测试快速确认范围。
商品经营
商机与议价
成交履约
资金与服务
经营数据
卖家经营与履约流程
横向表示业务阶段,纵向表示参与角色;同一列为并行协作与状态交接,不代表所有动作机械串行。
- 商品模型新版本不覆盖历史交易快照;存量商品按平台迁移规则处理。
- 库存锁定失败时不得让任一方看到成交成功。
卖家端执行文档
目标
帮助销售和履约人员处理询价、管理商品库存、完成签约、发货、开票和投诉回应。
固定导航
首页、商品、交易、市场数据、消息、个人中心。首页是待办优先工作台。
页面责任
| 页面 | 主要任务 | 主操作 |
|---|---|---|
| 工作台 | 待回复、待签、待发货、库存预警 | 进入待办 |
| 商品管理 | 草稿、审核、销售、售罄、下架 | 新增商品、补库存 |
| 商品编辑 | 按模型填写动态参数 | 保存草稿、提交审核 |
| 采购商机 | 查看匹配采购需求 | 选择商品响应 |
| 交易列表 | 按销售状态处理交易 | 进入当前待办 |
| 交易详情 | 报价、合同、收款、发货、开票、投诉 | 当前阶段唯一动作 |
| 消息 | 与买家企业沟通 | 报价、还价、确认成交 |
| 个人中心 | 企业、认证、余额、开票、员工 | 当前模块动作 |
卖家专属规则
- 工作台顺序:待办、最新询价、最近交易、经营数据、库存概况。
- 一个商品支持多个买家和独立交易。
- 卖家不承担首期交易服务费,结算时应收到完整商品货款;买家服务费不得从卖家应收中扣除。
- 卖家不充值;资金页只展示待结算、争议冻结、可提现、提现中和提现记录。
- 提现账户必须是企业认证资料中的本企业对公账户,变更账户需要重新核验。
- 买家确认到货并申请商品专票后出现待开票;逾期开票计入履约信用并可限制新增业务。
- 投诉只能回应和协商,不能删除证据或单方面关闭。
必读模块
按任务读取 modules/01-account-enterprise.md 至 10-market-recommendation-advisor.md 中实际涉及的一份主模块;跨模块变更再补充相邻模块。
账户、企业认证与权限模块 PRD
模块目标
建立账号、企业、企业成员、认证和权限的统一身份底座,使一个手机号可安全加入多个企业,并按企业、业务端、角色和数据范围访问业务。
角色与页面
| 角色 | 页面或入口 | 主要动作 |
|---|---|---|
| 游客 | 登录、注册、忘记密码 | 手机号验证、设置密码 |
| 企业员工 | 企业选择、业务端选择 | 进入授权企业与端 |
| 企业管理员 | 企业资料、成员与权限 | 邀请、停用、分配角色 |
| 企业资料管理员 | 企业认证与资料编辑 | 提交资料、查看审核结果 |
| 平台审核员 | 企业认证队列与详情 | 通过、驳回、要求补充 |
| 风控人员 | 企业风险详情 | 限制、冻结、解除 |
核心对象
账号、登录凭证、验证码挑战、企业、企业资格、企业成员关系、角色、权限、数据范围、企业认证申请、认证材料、审核记录、安全事件。
业务规则
- 手机号为中国大陆 11 位,验证码 6 位、5 分钟有效、60 秒后可重发。
- 支持验证码登录和密码登录;密码由服务端校验,不在前端保存固定密码。
- 登录与注册为两个独立页面:登录页的“注册企业账号”必须进入注册页,不得复用登录表单或仅切换登录状态。注册至少采集手机号、短信验证码、企业名称、统一社会信用代码和登录密码,并要求用户主动同意协议。
- 买家完成企业账号注册后视为已登录但尚未完成企业认证,系统返回商品大厅并主动打开“完善采购偏好”弹窗。用户可跳过并继续浏览;联系卖家、发布采购需求、询价、出价和购买等交易动作仍按认证规则拦截。
- 密码 8—20 位且包含字母和数字;连续错误 5 次锁定密码登录 15 分钟。
- 一个账号可加入多个企业;一个企业可同时拥有买家与卖家资格。
- 单企业单端直接进入;多企业先选择企业;双端资格再选择业务端。
- 未认证企业可浏览公开内容,不能询价、出价、立即购买、成交确认、签合同、付款、发布商品或绑定对公账户。
- 企业主体字段或营业执照变更后进入重新审核;历史交易继续只读或按风控策略履约。
- 修改密码需原密码和当前手机号验证码;换绑手机号需原密码、当前手机号验证码和新手机号验证码。
- 全局页头不展示退出;退出登录位于企业中心或个人中心的设置页。
- 买家端企业中心不展示“当前角色”、企业联系人或联系信息;编辑企业信息仅维护企业名称、统一社会信用代码、注册地址和营业执照。企业成员与角色仍由独立权限模块管理,不混入买家企业资料页面。
- 买家端企业中心按“页面标题与账户设置—认证提示—企业与账号概览—采购业务—财务与售后—我的收藏”组织。企业概览只展示已存在的企业资料和累计采购交易、进行中交易、收藏商品、收藏企业四项数据,不展示采购金额、成交额、同比、趋势、通知铃铛或加入平台时间。
- 采购业务入口固定为采购需求、采购交易、采购偏好、地址管理;财务与售后入口固定为付款记录、发票管理、投诉与协调。入口使用图标、标题和一句说明的完整卡片,并直接进入对应既有页面。
企业认证与资料变更
- 认证申请至少包含企业名称、统一社会信用代码、注册地址、营业执照文件和申请人身份;企业名称与信用代码以营业执照识别结果为准,用户修改后必须重新确认。
- 认证提交后进入审核中,页面展示提交时间和当前状态;驳回必须提供可操作原因并允许沿用未失效材料补充提交。审核中不得重复创建第二份申请。
- 已上传营业执照可在线查看文件名、上传时间和当前审核版本;重新上传生成新版本,旧版本保留审计记录但不再作为当前材料。
- 已认证企业修改主体名称、信用代码、注册地址或营业执照后进入重新审核;仅修改非主体展示信息不改变认证状态。重新审核期间禁止新交易,已成立业务按原认证快照继续履约。
收货地址
- 地址属于买家企业而非个人账号,字段包含地址名称、收货人、手机号、省市区、详细地址和是否默认;收货人和手机号仅对授权交易参与方可见。
- 一个企业只能有一个默认地址。设置新默认地址时原默认自动取消;删除默认地址前必须先指定其他默认地址,企业仅剩一个地址时不可直接删除。
- 已被询价或交易引用的地址不可物理删除,只能停用;历史业务始终展示提交时的地址快照。停用地址不得用于新询价或购买。
- 购买和询价默认选中企业默认地址,但提交前必须由用户确认;无有效地址时先进入新增地址,保存后返回原动作。
权限模型
权限判定同时包含:账号有效、成员关系有效、企业有效、业务端资格有效、认证满足动作要求、角色具有动作权限、数据范围包含对象。前端只控制展示,服务端必须重新校验。
买家端动作门槛
- 登录即可维护收藏和采购偏好;企业认证通过且具备对应权限后,才可联系卖家、发布采购需求、询价、出价、立即购买、确认成交、签署合同或付款。
- 收货、售后、发票和历史合同等履约动作同时校验当前成员是否拥有对应交易的数据权限;企业被冻结或认证状态变化时,不得阻断依法必须继续处理的已成立交易。
- 被拦截动作保存来源路由和业务上下文。完成登录或认证后回到原页面重新校验,必须由用户再次点击确认,不得自动提交交易动作。
状态
| 对象 | 状态 |
|---|---|
| 账号 | 正常、密码锁定、停用 |
| 成员关系 | 待加入、正常、停用、已退出 |
| 企业认证 | 未认证、审核中、已认证、已驳回、已过期、已冻结 |
| 企业资格 | 买家有效、卖家有效、暂停、取消 |
异常与边界
- 验证码发送失败、频繁、错误或过期时保留手机号并给出重试时间。
- 同一手机号 60 秒内最多发送 1 次验证码,1 小时最多 5 次、24 小时最多 10 次;同一设备或 IP 触发风控阈值后要求额外校验。验证码连续错误 5 次后当前挑战失效,重新发送后旧验证码立即失效。
- 登录态过期时保留当前路由和未提交安全草稿,重新登录后恢复。
- 账号无企业时进入创建或申请加入企业,不展示空白业务首页。
- 企业被冻结时禁止新增交易,但保留合同、付款、售后等必要履约入口。
- 操作中权限被收回时提交失败,不允许以旧页面状态继续操作。
- 换绑手机号前校验新手机号未被其他有效账号占用;换绑成功后使其他设备登录态失效,并向新旧手机号发送安全通知。
- 平台审核员不能审核自己所属或存在利益冲突的企业。
通知
验证码、安全风险、密码修改、手机号换绑、成员邀请、权限变化、认证提交、通过、驳回、过期和冻结均产生对应通知和安全日志。
验收标准
- 游客受保护操作登录后回到原页面和原动作。
- 从登录页进入注册页、完成注册、返回商品大厅并打开采购偏好弹窗的链路可连续完成,浏览器后退不会再次提交注册。
- 多企业、多端资格分流结果正确且可切换。
- 无权限入口不可见,直接访问也被服务端拒绝。
- 企业认证状态同时影响买家、卖家和管理端。
- 敏感材料只对授权企业员工和平台审核角色可见。
商品数据模型与字段模块 PRD
模块目标
建立可配置、可版本化的商品数据底座,使商品发布、审核、筛选、详情、对比、采购需求和匹配使用同一结构化定义。
角色与页面
| 角色 | 页面 | 主要动作 |
|---|---|---|
| 商品运营 | 字段管理 | 新增字段、单位、枚举和校验 |
| 商品运营 | 商品模型管理 | 组合字段、设置展示筛选匹配属性 |
| 商品运营 | 模型预览 | 预览卖家表单、买家筛选和详情 |
| 平台管理员 | 模型发布 | 二次确认、发布版本、停用 |
| 卖家 | 商品编辑 | 按已发布模型填写商品 |
| 买家 | 商品筛选、详情与需求 | 使用模型配置的中文字段和选项 |
核心对象
品类、字段定义、字段选项、单位与换算规则、商品模型、商品模型版本、模型字段、显示分组、校验规则、筛选配置、对比配置、匹配配置。
字段能力
支持文本、整数、小数、金额、单选、多选、布尔、日期、地区、文件和复合规格。每个字段包含中文名称、内部编码、数据类型、单位、必填规则、范围、枚举、展示分组、是否筛选、是否对比、是否匹配、匹配方式和敏感级别。
版本规则
- 草稿模型可编辑;已发布模型不可原地修改,变更必须创建新版本。
- 发布前同时预览卖家填写、买家筛选、商品详情、对比和采购需求表单。
- 新版本只影响新建或主动升级的商品;历史商品与交易保留原版本。
- 字段停用不删除历史值;单位或枚举变更需定义迁移策略。
- 影响匹配或价格口径的变更必须二次确认并记录影响范围。
首期品类
| 品类 | 关键字段示例 |
|---|---|
| 煤炭 | 煤种、低位热值、全硫、灰分、挥发分、水分、粒度、产地 |
| 钢铁 | 品名、材质、规格、厚度、宽度、长度、钢厂、执行标准、仓库 |
| 铜 | 产品形态、牌号、纯度、规格、冶炼厂、产地、包装、仓库 |
| 铝 | 产品形态、牌号、纯度、状态、厚度、宽度、长度或卷重、厂家 |
匹配规则
- 数值支持精确、区间、最小值、最大值和容差匹配。
- 枚举支持必须包含、任一包含和排除。
- 地区支持省、市、港口或仓库层级。
- 单位先归一化再比较;转换失败不参与硬条件匹配。
- 硬条件决定是否进入候选集,软条件只影响排序。
异常与边界
- 删除被模型引用的字段时禁止物理删除,只允许停用。
- 发布模型存在必填字段无名称、单位缺失、枚举为空或规则冲突时阻止发布。
- 商品升级模型版本时先生成差异清单,缺少必填值不得提交审核。
- 模型回滚只改变新建默认版本,不覆盖已发布商品和历史交易。
- 前台遇到未知字段类型时显示只读值并上报配置异常,不隐藏整个商品。
审计与验收
- 记录字段、模型、版本、发布人、发布时间、变更内容和影响范围。
- 同一模型值在商品发布、筛选、详情、对比和匹配中的名称、单位和精度一致。
- 历史交易快照不因模型更新改变。
- 煤炭、钢铁、铜、铝可配置不同字段并独立筛选。
商品经营、审核与库存模块 PRD
模块目标
支持卖家按已发布商品模型创建商品,平台完成审核,卖家维护在售状态和库存,并为交易提供准确可追溯的商品与库存事实。
角色与页面
| 角色 | 页面 | 主要动作 |
|---|---|---|
| 卖家销售 | 商品管理、商品编辑 | 新增、修改、提交审核、上下架 |
| 卖家库存人员 | 库存管理 | 补库存、调整、查看流水和预警 |
| 商品运营 | 商品审核队列与详情 | 通过、驳回、要求补充 |
| 风控人员 | 商品风险详情 | 限制展示、人工复核 |
| 买家 | 商品大厅与详情 | 仅查看有效在售商品 |
核心对象
商品、商品版本、商品模型版本、商品资料、质量凭证、商品审核单、库存账户、库存流水、库存锁定、库存预警、商品快照。
商品状态
草稿、审核中、销售中、售罄、下架、驳回。已下架或历史商品从交易记录进入时只显示成交快照,不重新开放购买。
发布规则
- 卖家选择已发布品类模型后填写结构化字段、当前售价、计价单位、最小起订量、可售库存、发货地、交付方式和资料。
- 前台只展示一个当前售价;价格修改记录操作人、时间和前后值。
- 草稿可反复保存;提交审核后当前版本只读,修改需撤回或创建新版本。
- 关键字段、售价、质量凭证或交付条件变化按平台配置触发重新审核。
- 审核通过后进入销售中;驳回必须提供具体字段和原因。
库存规则
| 时点 | 可售 | 锁定 | 已发 |
|---|---|---|---|
| 卖家补库存 | 增加 | 不变 | 不变 |
| 普通询价 | 不变 | 不变 | 不变 |
| 成交确认成功 | 减少 | 增加 | 不变 |
| 成交取消 | 增加 | 减少 | 不变 |
| 创建发货批次 | 不变 | 减少 | 增加 |
- 库存不得为负;库存操作使用对象版本和幂等键。
- 一个商品可同时面对多个买家;按成交确认顺序锁定库存。
- 补库存、盘点调整、锁定、释放和扣减均产生不可删除流水。
- 可售库存低于阈值产生卖家待办;为零时商品显示售罄并禁止新成交。
异常与边界
- 审核期间商品不可搜索;已存在的历史链接显示审核不可见说明。
- 多笔交易并发锁定失败时,后确认交易返回库存不足,可修改数量或等待补货。
- 商品被风控下架后禁止新询价和购买,已生效合同按风控方案履约。
- 质量凭证失效或无法查看时标记资料异常,并按配置限制销售。
- 库存调整超过阈值需要二次确认或企业管理员复核。
通知与验收
- 提交、通过、驳回、下架、售罄、库存预警和锁定失败通知相应角色。
- 商品状态、列表、详情、交易快照和库存流水一致。
- 审核和库存高风险动作均有原因与审计记录。
- 历史成交商品值不随当前商品修改。
采购需求、匹配与商机模块 PRD
模块目标
让买家用结构化条件发布采购需求,让平台匹配有效商品,让卖家以本企业在售商品响应,并将有效响应转为统一询价流程。
角色与页面
| 角色 | 页面 | 主要动作 |
|---|---|---|
| 买家采购 | 采购需求列表、发布与详情 | 新建、编辑、发布、关闭、查看响应 |
| 卖家销售 | 商机列表与详情 | 查看匹配、选择商品响应、撤回响应 |
| 平台 | 匹配任务与规则 | 执行匹配、监控异常 |
| 交易顾问 | 采购需求草稿 | 整理自然语言,等待买家确认 |
核心对象
采购需求、需求模型版本、需求字段值、公开范围、匹配任务、匹配结果、卖家响应、响应商品、响应报价、未读状态、询价转换关系。
发布规则
- 采购需求属于买家企业,由有权限员工创建。
- 品类和关键指标来自商品模型,不允许用自由文本替代结构化字段。
- 发布表单必须同时包含采购标题、品类、数量、收货地、期望交付日期、交付方式、付款方式和当前品类的动态指标;期望单价上限和其他要求可选。动态指标直接复用商品模型,不得把所有指标压缩为一个“补充要求”文本框。
- 交易顾问只能生成草稿,买家必须检查和确认后发布。
- 发布后影响匹配的字段修改需创建新版本并重新匹配。
- 关闭、过期或已转成交的需求停止新响应,历史响应保留。
- 有效期由买家选择 1—30 个自然日,默认 7 个自然日;到期时间精确到分钟并在发布前展示。过期后可基于原需求复制新草稿,不得直接延长原版本掩盖历史响应。
- 发布时保存商品模型版本、字段单位和公开范围快照;模型后续变更不改写已发布版本,再次编辑时按新模型校验并提示失效字段。
匹配规则
- 候选商品必须审核通过、销售中、企业有效且库存满足最低要求。
- 商品匹配是二元合格性校验,每项指标只有“通过”或“不通过”,不计分、不扣分、不计算接近程度。商品必须通过采购需求中全部已填写且参与匹配的指标,任一指标不通过即不进入匹配结果;全部通过时进入符合需求的商品结果,前台不展示匹配百分比或重复解释校验规则。
- 买家采购需求中的每项指标只保存一个具体采购值,不在采购需求侧设置容差上下限。商品指标由平台商品模型和卖家发布数据标记为“可协商”或“不可协商”,可协商商品指标同时保存商品可接受的下限、上限和当前指标值。
- 商品指标标记为“可协商”时,使用包含边界的区间校验:
商品下限 ≤ 买家采购值 ≤ 商品上限。下限不得高于上限;只要买家采购值位于区间内即通过,区间内的位置、与当前值或中心值的距离均不影响结果或排序。 - 商品指标标记为“不可协商”时,使用固定值校验:
买家采购值 = 商品固定值。枚举按稳定编码比较,数值先换算到同一标准单位并按模型精度比较,文本不得用模糊包含或自然语言推断替代相等判断。 - 品类、关键规格、数量、地区和交期等其他硬条件不满足时同样排除;买家值、商品固定值或商品区间任一缺失,单位换算失败或模型版本不兼容均视为不符合,不得以 0 或默认值补齐。
- 系统遍历候选商品,对采购需求中参与匹配的指标逐项校验;任一项失败即排除该商品,全部通过才加入符合需求的结果集。结果集统一按商品价格从低到高排列,默认推荐并展示价格最低的商品;价格相同时保持稳定的商品顺序。合格商品不得再按指标值、区间位置或重点指标排序。商品详情区需明确标识为“系统推荐”,帮助买家理解内容来源。
- 运距只使用供应商品发货地址至采购需求收货地址的公路路线距离,不混用铁路、水路、航空或直线距离。无法计算公路运距的候选结果排在可计算结果之后,前台不展示“运距待确认”标记。
- 匹配结果保存买家采购值、商品固定值或上下限、标准化前后值、逐项校验结果、规则版本和推荐排序依据,不能只保存最终状态或排序分。
- 第三方或行为数据不得覆盖买家明确条件。
卖家响应
- 卖家只能选择本企业有效在售商品响应。
- 响应包含可供数量、当前售价或卖家出价、交期、补充说明和有效期。
- 同一卖家企业对同一需求保留一个当前有效响应,更新后历史版本只读。
- 买家可查看响应企业、对应商品、报价、可供数量和未读信息。
- 买家选择“继续沟通”进入双方唯一企业会话;选择“发起询价”创建正式询价并关联响应。
- 响应企业数按不同卖家企业去重;未读响应数按买家企业尚未读取的当前有效响应计数。打开响应详情后标记已读,响应再次更新后重新变为未读。
- 同一响应只能成功转为一个有效询价;重复点击返回已创建询价,不得重复创建。响应转询价后,响应中的商品、数量、报价和交期只是询价初始值,仍须由买家确认提交。
状态
需求状态:草稿、已发布、匹配中、响应中、已关闭、已过期、已转询价、已转交易。响应状态:草稿、有效、已更新、已撤回、已过期、已转询价。
状态转换
- 草稿提交成功后进入已发布并创建匹配任务;任务执行时为匹配中,产生至少一个有效响应后为响应中。
- 已发布、匹配中和响应中可由买家主动关闭;到达有效期自动过期。关闭与过期均停止新匹配和响应,但不删除历史。
- 任一响应成功创建询价后需求进入已转询价,但其他有效响应保留只读;关联询价最终形成正式交易后进入已转交易。
- 已关闭、已过期和已转交易为终态;仅允许复制为新草稿,不允许回退或原地重新发布。
异常与边界
- 无匹配结果时提供放宽非关键条件、继续等待或主动找货,不自动修改需求。
- 商品下架、库存不足或卖家认证失效时响应失效并通知双方。
- 响应价格变化不会自动改变已创建询价中的当前有效报价。
- 发布时库存满足、响应时库存不足的商品不得继续转询价;系统保留失效响应并提示选择其他响应或重新匹配。
- 买家不收藏采购需求;卖家也不能复制非公开买家资料。
- 需求公开页对买家企业名称、联系人和敏感交付信息按公开范围脱敏。
通知与验收
- 新响应、响应更新、响应失效、需求即将过期和转为询价产生企业级通知。
- 需求卡展示响应企业数、未读响应数和明确查看入口。
- 匹配依据可解释,结构化值与商品模型一致。
- 从响应进入会话或询价后对象关系可追溯且不会创建重复企业会话。
企业会话、询价与议价模块 PRD
模块目标
在企业级唯一会话中完成找货后的真人沟通,并通过结构化询价、报价、还价和成交确认卡片形成可审计的正式交易条件。
会话边界
- 唯一键为业务方向、买家企业和卖家企业。
- 同一业务方向的多笔询价和交易共用一个企业会话。
- 反向买卖关系使用另一业务方向的会话。
- 支持按关联交易聚焦,但不创建新会话。
消息类型
企业会话允许文本、附件、商品卡、询价卡、报价或还价卡、成交确认卡和合同卡。付款、发货、物流、订单、发票、账户安全和售后进度进入系统消息或业务详情。
询价规则
- 买家从商品详情或采购响应创建询价,填写数量、企业地址簿、交付要求、有效期和可选买家出价;询价默认 24 小时有效,可选择 30 分钟至 7 个自然日。
- 询价提交前重新校验商品状态、企业权限、最小起订量、可售库存和地址有效性,并保存商品、指标、售价、库存、地址和商品模型版本快照。库存此时不锁定,页面必须提示以成交确认时库存为准。
- 商品模型中标记为可协商的指标必须结构化列出并预填卖家当前值;买家只可修改这些字段的期望值,不得修改非协商字段或单位。未修改字段仍随询价快照提交。
- 买家有出价且卖家接受时直接进入待成交确认,不强制卖家再次报价。
- 买家未出价时卖家可首次报价;双方可多轮还价。
- 同一询价只有一个当前有效报价;新还价替换旧报价,历史版本保留。
- 接受操作必须针对当前有效报价;过期、撤回或被替代报价不可接受。
- 双方确认最终数量、单价、交付、结算和税费后创建交易并锁库存。
- 报价必须包含单价、数量、可协商指标最终值、交付方式、付款方式、预计交付日期、税务口径和有效期;任何一项变化都创建新报价版本并使上一版本失效。
- 买家可在卖家首次响应前撤回询价;产生有效报价后只能拒绝当前报价或关闭询价。关闭询价不删除企业会话和历史卡片。
询价与报价状态
| 对象 | 状态 | 允许的买家动作 |
|---|---|---|
| 询价 | 待卖家回复 | 查看、补充普通消息、撤回 |
| 询价 | 议价中 | 出价/还价、接受当前报价、拒绝、关闭 |
| 询价 | 待成交确认 | 确认最终条件或取消确认 |
| 询价 | 已成交 | 进入交易详情 |
| 询价 | 已撤回、已拒绝、已关闭、已过期 | 只读、重新询价 |
| 报价 | 当前有效 | 在有效期内接受、拒绝或发起还价 |
| 报价 | 已接受、已拒绝、已替代、已撤回、已过期 | 只读 |
页面结构
- 消息中心提供企业会话和系统消息切换。
- 桌面端为会话列表、消息流和关联业务三栏;窄屏隐藏关联栏;手机为列表和会话两级页面。
- 会话列表企业名称与时间同行,未读数独立垂直居中;当天显示时分,历史显示日期。
- 输入框为单行,发送按钮在右侧;不提供独立发送商品按钮。
- 业务卡一个主操作、最多两个次操作;失效卡保留原因并禁用动作。
系统消息
系统消息覆盖报价提醒、合同、付款、发货物流、采购响应、发票、账户安全和售后进度。支持逐条进入业务对象和全部标为已读;不创建企业会话。
并发与幂等
- 报价和接受使用询价版本号;同时还价时后提交方收到“报价已更新”。
- 重复发送业务动作只产生一个正式对象和一张有效卡片。
- 卡片展示状态来自询价、报价、交易或合同对象,不能单独修改消息状态冒充业务成功。
- 同一企业会话按服务端消息序号稳定排序;客户端临时消息只显示发送中,服务端确认后替换为正式消息。重连按最后已确认序号补拉,不得重复或乱序。
- 企业级已读位置按成员分别保存,企业会话列表的企业未读数按当前登录成员计算;不能因同企业另一名员工已读而替当前成员清零。
异常与边界
- 普通文字中的“同意”“可以”不改变业务状态。
- 商品下架、库存不足、企业失效或报价过期时禁止接受并给出恢复动作。
- 普通消息发送失败可重试;正式卡片失败不能先显示成功。
- 撤回普通文本使用占位;业务卡和审计事件不可物理删除。
- 多笔交易聚焦后返回全部沟通,历史顺序和未读状态保持不变。
通知与验收
- 新询价、报价、还价、接受、拒绝、成交确认和合同待签按企业角色通知。
- 同一企业组合不产生重复会话。
- 多轮议价后当前有效报价、卡片按钮和交易条件一致。
- 企业会话与系统消息内容边界清晰,履约进度不会淹没协商。
- 从消息进入交易详情后可返回原企业会话和原聚焦对象。
交易、合同与订单模块 PRD
模块目标
把已确认交易条件转换为不可歧义的交易、合同和付款订单,并以统一状态机连接议价、库存、支付、履约和售后。
角色与页面
买卖双方在交易列表、交易详情和合同签署页处理当前动作;平台交易运营在管理端查看状态、异常和审计,但不能代企业确认。
核心对象
交易、交易参与方、成交条件、商品快照、库存锁定、合同、合同版本、签署任务、付款订单、交易事件、取消或解约记录。
创建交易
- 当前有效报价被接受或买家按当前售价立即购买后,进入待成交确认。
- 双方确认数量、单价、交付、地址、结算、税费和有效期。
- 系统重新校验商品、企业、权限和库存,并以版本方式锁定库存。
- 锁定成功后创建交易和合同草稿;失败不产生有效合同。
- 立即购买跳过询价议价,但不跳过成交确认、合同、付款和履约。
- 成交确认有效期默认 30 分钟;任一方超时未确认则本次确认失效,询价来源回到议价中,立即购买来源进入已取消并释放临时库存占用。双方对任一条件提出修改时不得直接改写确认单,必须生成新报价或重新提交立即购买条件。
合同路径
平台电子签
系统根据成交条件生成合同版本,双方授权签署人完成身份核验和签署;电子签服务商回传结果后合同生效。
线下已签合同
双方上传同一份已签 PDF,并分别确认文件摘要;文件不一致、缺页或未确认时禁止生效和付款。
状态模型
询价中和议价中属于询价对象,不属于正式交易状态。买家端“交易”列表可以聚合展示询价与正式交易,但必须保存对象类型,不能用同一状态字段混写。
正式交易状态及买家主操作如下:
| 当前状态 | 进入条件 | 买家主要动作 | 正常下一状态 |
|---|---|---|---|
| 待成交确认 | 接受有效报价或立即购买提交成功 | 确认最终条件、取消确认 | 待签合同或已取消 |
| 待签合同 | 双方确认且库存锁定成功 | 签署电子合同或确认线下合同 | 待付款 |
| 待付款 | 合同生效并生成付款单 | 去付款、取消付款 | 待发货、付款处理中或已取消 |
| 待发货 | 付款成功且资金担保入账 | 查看详情、申请售后 | 待收货 |
| 待收货 | 至少一个发货批次已发出 | 查看物流、确认收货、申请售后 | 已完成或售后处理中 |
| 已完成 | 买家确认收货且差异已结清 | 申请专票、在期限内申请售后 | 售后处理中或保持已完成 |
| 售后处理中 | 存在未关闭售后单 | 查看进度、补充证据、确认方案 | 回到对应履约状态或已完成 |
| 已取消 | 付款前取消、超时或双方取消确认 | 查看原因、重新采购 | 终态 |
支付失败但付款单仍有效时交易保持待付款;发货和运输过程统一对买家展示为待收货,不增加“验收期”“已关闭”等列表状态。售后是附属业务状态,售后结束后按处理结果回到原履约状态、已完成或已取消。
待付款状态展示 30 分钟付款倒计时、去付款和取消付款。买家主动取消或倒计时结束后,系统关闭本次交易、取消付款单、释放库存锁定并保留取消原因;已取消记录只在“全部”中只读展示。
列表与详情
- 交易列表展示编号、商品与企业、数量、状态、更新时间和具体动作。
- 列表中的“商品货款”仅在双方已确认成交单价与数量后展示,计算为成交单价乘成交数量;询价中、议价中和待成交确认未完成时显示“—”,不得展示卖家挂牌价冒充成交价。
- 尚未成交的询价或还价不展示成交单价与商品货款。
- 操作使用“查看卖家报价”“签署合同”“去付款”“取消付款”“查看物流”“确认收货”“申请售后”等具体动词。
- 交易详情展示交易条件、商品快照、合同、付款摘要、履约、时间线和当前唯一主要动作。
- 历史交易只读;再次采购创建新询价或新交易。
取消与异常
- 报价接受前可撤回询价;成交确认后取消需双方确认并释放库存。
- 合同生效后取消进入解约流程,不能直接删除交易。
- 待付款主动取消或超时取消按合同约定记录取消原因并释放库存;已经支付不得使用“取消付款”,必须创建售后单处理退款或解约。
- 合同版本变更必须由双方重新确认或签署。
- 操作重复提交使用幂等键,只产生一个状态事件。
- 终态对象不可编辑,纠错通过补充事件、退款或新合同版本处理。
- 库存锁定从双方成交确认成功开始,覆盖签约和付款有效期;取消确认、合同未生效终止、付款取消或超时后立即释放。锁定库存不得被其他买家购买,补库存不改变已锁定数量。
通知与验收
- 待确认、库存锁定失败、待签、签署完成、合同异常、待付款和交易取消均通知对应企业角色。
- 交易、合同、库存锁定、付款订单和消息卡片使用同一对象编号关联。
- 两种合同路径均可完成且文件不一致无法付款。
- 立即购买和议价成交进入相同的合同及后续状态机。
支付、结算、提现与发票模块 PRD
模块目标
通过合作银行或持牌支付机构完成订单付款、担保资金和退款,清晰管理买家服务费、卖家结算提现以及商品与服务费专票。
角色与页面
| 角色 | 页面 | 主要动作 |
|---|---|---|
| 买家财务 | 订单付款、付款记录、发票管理 | 支付、重试、申请专票 |
| 卖家财务 | 资金结算、提现、开票管理 | 对账、提现、开商品专票 |
| 平台财务 | 资金对账、服务费、发票 | 对账、差错处理、开服务费专票 |
| 合作机构 | 支付与担保账户 | 收款、回调、退款、结算 |
付款规则
- 买家无需预充值;合同生效后生成付款单。
- 首期付款有效期为 30 分钟,付款页和交易列表、详情同步展示倒计时;底层支持按业务配置有效期。
- 付款前买家可取消付款;倒计时结束自动取消付款单和交易并释放库存,重复取消必须幂等。
- 付款方式为线上支付和企业网银,均绑定交易、合同、付款企业和金额。
- 付款总额 = 商品货款 + 平台服务费。
- 商品货款进入担保资金账户;服务费单独记账,不从卖家商品货款扣除。
- 付款结果以合作机构回调为准;前端跳转成功不等于付款成功。
- 同一付款请求和回调必须幂等;支付处理中禁止重复发起。
- 买家在付款有效期内完成机构侧提交后,付款单进入“付款处理中”并暂停前台倒计时,最长等待 2 小时;期间不可取消或重复付款。机构明确失败则回到剩余有效期内的待付款,机构成功则进入已支付,超过 2 小时无终态则进入待核对并由系统持续对账。
- 付款到期与机构成功回调并发时,以合作机构受理时间为准:受理时间不晚于付款到期时间则接受成功回调;受理时间晚于到期时间则不恢复已取消交易,进入差错退款流程。所有判断保存机构流水、受理时间和规则版本。
- 支付页面关闭、浏览器返回或前端断网不改变付款状态;重新进入交易详情时必须从服务端查询最新结果。
服务费生命周期
| 阶段 | 时点 | 状态与动作 |
|---|---|---|
| 试算 | 进入成交确认 | 展示预计费用,不收款 |
| 锁定 | 双方确认条件 | 保存收费对象、规则版本和上下限 |
| 应付 | 合同生效 | 生成货款、服务费和总额 |
| 已付待确认 | 机构回调成功 | 货款担保中,服务费不进入卖家应收 |
| 调整 | 二次结算或退款 | 按最终有效商品金额补收或原路退差额 |
| 确认 | 售后期结束无争议 | 成为平台确认收入,可申请服务费专票 |
首期规则为商品货款的 0.1%,最低 10 元、最高 5,000 元,按人民币分四舍五入;底层支持比例、定额和组合规则。
- 服务费按一笔正式交易计算一次,不按付款次数、发货批次或收货批次重复收取。商品货款发生部分调整时,以最终有效商品货款重新计算并补收或原路退还差额。
- 服务费确认时点为交易完成满 7 个自然日且不存在进行中售后;内在质量在合同约定的更长期限内产生争议时,只按最终解决方案调整受影响部分,不自动撤销全部已确认服务费。
- 付款前页面必须分别列示商品货款、服务费率或计费方式、服务费金额和付款总额;任何规则变化均需重新确认,不能在支付回调后补加未展示费用。
卖家结算与提现
- 付款成功后卖家看到完整商品货款的待结算金额。
- 买家确认收货后交易完成,但货款在售后申请期内仍为待结算。
- 售后申请期结束且无进行中售后时形成可提现余额。
- 售后只冻结争议金额;无争议部分按规则结算。
- 卖家只能向认证主体一致的企业对公账户提现。
- 提现状态包含处理中、成功、失败和退回;失败保留原因和重新提交入口。
发票
- 首期只支持增值税专用发票。
- 商品专票由卖家向买家开具,确认收货后可申请,金额按最终商品结算金额。
- 服务费专票由平台向买家开具,服务费确认后可申请。
- 两类发票分别展示申请、开票方、金额、状态、文件和红冲关系。
- 信息错误可驳回并说明;红冲保留原发票和新发票关联。
- 发票抬头取买家企业已认证主体;纳税人识别号不可在申请时自由改成其他企业。开户地址、电话、开户行和账号由有权限人员维护并在申请时生成快照。
- 发票状态统一为待申请、待开票、开票中、已开票、已驳回、红冲中、已红冲;操作列按状态展示“申请开票、补充资料、查看发票、查看原因”之一,不全部使用“查看”。
- 同一可开票金额只允许存在一张有效发票申请;重复提交返回原申请。部分退款发生在开票后时,按最终结算金额发起红冲或重开,原文件不可覆盖。
异常与边界
- 支付失败且付款单仍在有效期内归入待付款,可重试但不能重复扣款;买家取消或付款超时后交易变为已取消,不允许继续支付。
- 付款成功后若买家希望退款或取消交易,必须创建售后单,不允许把交易退回待付款或直接改为已取消。
- 机构成功、平台未入账进入待核对,不允许人工直接标记成功而无依据。
- 二次结算增加金额生成补款单,减少金额原路退款。
- 原路退款失败进入退款异常,资金保持冻结并持续对账;在合作机构确认失败前不得改用线下退款并直接标记成功。
- 企业对公账户变更需重新核验,核验期间禁止新提现。
- 商品专票逾期计入卖家履约信用,但不冻结全部商品货款。
验收标准
- 货款、服务费、付款总额、卖家应收和可提现金额口径一致。
- 重复请求与回调不产生重复付款、退款或服务费。
- 付款失败可恢复,合作机构流水与平台编号可追溯。
- 三个页面的付款倒计时一致;主动取消和超时取消均关闭付款入口、释放库存且保留原因。
- 商品专票和服务费专票的开票方、金额和时点正确。
发货、物流、收货与售后模块 PRD
模块目标
支持卖家按批次发货、承运方更新运输事实、买家查看物流和确认收货,并从付款成功开始通过结构化售后与平台协调处理退款、履约和质量争议。
角色与页面
卖家履约人员使用发货与物流维护;承运方或物流接口提供节点;买家收货人员查看物流、登记实收和确认收货;平台客服处理售后;双方企业人员提交证据和确认方案。
核心对象
发货计划、发货批次、承运企业、车辆、司机、物流节点、交付资料、实收记录、数量差异、售后单、证据、回应、协调方案、争议金额和外部处理记录。
发货与物流
- 支持单批和分批发货,累计发货量不得超过成交数量。
- 创建批次需数量、发货时间、承运企业、车辆、司机脱敏联系方式和预计到达。
- 物流节点保存时间、地点、状态、来源和异常说明,按时间排序展示。
- 普通节点合并通知,异常、延迟和到达单独提醒。
- 未知位置或接口延迟时只展示最后成功节点和更新时间。
- 物流详情按发货批次分组,展示承运企业、脱敏车辆与司机信息、预计到达时间、最新节点和完整时间线;没有轨迹时展示发货凭证与承运信息,不伪造地图位置。
- 物流节点来源分为卖家录入、承运接口和平台校正;冲突时不覆盖原记录,由平台校正生成新节点并保留来源。买家可查看来源说明但不可编辑物流事实。
收货与二次结算
- 待收货页面同时提供查看物流和确认收货。
- 买家确认前填写实收数量并确认交付资料。
- 实收数量与成交数量一致时可确认收货,交易立即已完成。
- 数量不一致时先创建差异记录,由双方确认后补款或退款;完成差额后回到可确认收货状态。
- 确认收货使用幂等键,重复提交不重复完成交易或释放资金。
- 分批发货时,买家可逐批登记实收,但只有全部成交数量均已交付或双方已确认最终数量差异后才显示整单“确认收货”;首期不提供单批次独立结算。
- 首期不自动确认收货。全部批次显示已到达后第 1、3、5 个自然日提醒买家;第 7 个自然日仍未确认且无售后时创建平台协调待办,资金继续担保,不得仅凭物流“已签收”自动完成交易。
- 确认收货提交前展示最终实收数量、差异处理结果和交付资料清单;提交后不可撤销,后续问题统一通过售后处理。
售后规则
- 付款成功后所有未取消交易均提供售后入口,售后单按当前履约阶段展示可选问题和诉求。
- 未发货阶段支持取消交易、全额或部分退款诉求;平台通知卖家确认并冻结对应款项。
- 已发货至确认收货前支持运输异常、错发、破损、补发、退款等诉求;已经发生的运输或服务费用按双方确认方案处理。
- 数量、包装、外观、错发和运输破损可在确认收货后 7 个自然日内申请。
- 内在质量按合同和质保期判断,不受统一 7 日限制。
- 售后申请包含问题类型、数量、说明、证据和诉求。
- 平台受理后冻结争议金额,卖家提交回应,客服核验材料并组织协调。
- 退款、部分退款、补发或赔偿方案必须由双方确认。
- 协调未果进入外部处理中,平台保存仲裁、司法或双方协议材料,不单方面判责。
- 售后入口按交易阶段和剩余期限动态展示;同一交易可存在多个问题,但同一问题类型、同一批次和同一争议数量只能有一个未关闭售后单,重复提交返回原单。
- 买家在售后期最后一分钟提交并成功受理即视为期限内;页面提交失败不算受理,必须保留草稿和失败原因供重试。
- 售后申请不是退款成功。只有双方确认方案或有效外部处理依据到达后,系统才创建退款、补款、补发或赔偿执行单,并由相应执行结果更新售后状态。
状态
发货批次:待发货、已发出、运输中、异常、已到达、已签收。售后单:待受理、待卖家回应、协调中、待双方确认、已解决、协商未果、外部处理中、已关闭。
交易存在售后单时,主交易状态仍保留原履约事实,并附加“售后处理中”标识;只有需要暂停售后外的业务动作时才禁用对应按钮。售后解决后按实际结果回到待发货、待收货、已完成或已取消,不得永远停留在售后处理中。
异常与边界
- 发货量超出锁定数量、缺少承运信息或交易不允许发货时阻止创建批次。
- 物流接口重复节点按外部编号和时间去重。
- 售后逾期时说明规则;内在质量仍按合同判断是否可提交。
- 卖家逾期未响应时自动转平台协调,不代表默认同意买家诉求;买家逾期未补材料时提醒后可关闭当前售后,但保留再次提交是否仍在期限内的校验。
- 证据不可删除,只能补充或标记无效并记录原因。
- 售后关闭后历史只读;新问题需按适用期限创建新售后单。
验收标准
- 分批发货、物流轨迹、实收数量与交易数量一致可追溯。
- 确认收货后交易立即已完成,售后状态独立展示。
- 物流进度进入系统消息,不进入企业会话。
- 平台只展示协调动作,所有资金或补发结果都有双方确认依据。
市场数据、推荐与交易顾问模块 PRD
模块目标
将平台商品、匿名成交和第三方现货价格转为有口径的市场数据;基于明确条件提供可解释推荐;通过交易顾问帮助用户整理需求和理解业务,但不代替企业决策。
市场数据
首期页面包含价格行情、平台成交数据、热门商品和有限市场分析,不展示独立价格走势或热门采购需求板块。
数据规则
- 数据源包含平台在售商品、平台真实成交和后台配置的第三方现货价格。
- 每个指标记录来源、地区、品类、规格、单位、时间、更新时间和质量状态。
- 不同来源或口径不直接拼接为连续序列;必须先标准化并标明差异。
- 第三方数据延迟时显示最后成功时间;无数据时不填随机值。
- 平台成交按匿名规则聚合,样本不足时不展示可识别明细。
- 市场分析基于明确规则和已展示数据,标明口径与限制。
- 买家端不展示平台或企业成交额。平台成交数据只展示有效成交笔数、成交量、成交量加权均价、最高价、最低价和最新价;计价单位不一致的数据不得直接合计。
- 成交量加权均价按
Σ(最终有效成交单价 × 最终有效成交量)÷ Σ最终有效成交量计算,只纳入已完成且未全额退款的交易;部分退款按最终有效数量和金额重算。 - 价格行情默认按品类、模型、地区、计价单位和自然日聚合;用户切换口径后,全部汇总和图表必须使用同一筛选条件。样本少于后台配置的匿名阈值时不显示平台成交价格点。
- 热门商品按最近 7 个自然日有效浏览企业数、收藏企业数、询价企业数和成交量的配置权重计算;同一企业重复行为按日去重,前台不展示内部热度分。无足够行为数据时按商品有效更新时间稳定排序。
采购偏好与推荐
- 买家完成企业账号注册后返回商品大厅并自动打开“完善采购偏好”弹窗;也可跳过,后续从企业中心修改。
- 偏好字段与商品大厅筛选完全一致:常购品类、价格上限、最低库存、最大起订量、交付方式、付款方式、质量凭证和当前品类动态指标;不增加商品大厅无法应用的自由字段。
- 采购偏好与商品筛选共用同一模型字段和选项。
- 商品大厅的候选集、推荐评分、权重、同分处理和其他排序口径统一由《商品大厅、详情、企业与对比模块 PRD》定义,本模块不重复维护排序公式。
- 交易顾问找货时先依据当前对话确认的采购条件生成真实候选集;需要对多个合格商品排序时复用商品大厅推荐排序服务,但输出应说明商品差异和推荐依据,不向买家展示推荐分、单项得分或权重。
- 交易顾问不得用自然语言推断结果覆盖商品大厅排序服务,不得将不满足明确采购条件的商品插入推荐结果。
- 偏好可在企业中心修改并重新保存。
交易顾问场景
支持找货、交易进度查询、采购需求草稿、市场数据解释、付款服务费、发票和售后规则咨询,并提供当前聊天框内直接接入平台人工客服的快捷入口。
对话规则
- 找货前确认品类、数量、交货地、交期和关键质量参数。
- 条件不完整时先追问,不直接给最终商品。
- 推荐结果来自真实候选集,按实际有效候选数量提供商品并说明匹配与差异,不为满足展示数量生成或混入无效商品。
- 采购需求只生成草稿,发布前由用户确认结构化字段。
- 交易进度只读取当前用户有权限的正式交易对象。
- 文字采用自然连续输出,买家消息右对齐,顾问消息左对齐。
- 输入框初始为单行,文字超过一行时在限定高度内自动换行;发送图标位于输入框内部,Enter 发送。快捷入口使用有完整边框、背景和交互反馈的按钮,所在区域与对话区使用相同背景,不形成独立底栏。
- 点击“人工客服”后不跳转页面,在当前交易顾问聊天框内切换为人工服务;系统消息展示接入时间,客服回复明确展示服务人员姓名、客服电话和服务时间。后续输入继续留在当前会话,选择其他智能快捷入口时退出人工服务状态。
交易顾问商品推荐规则
- 交易顾问必须先把自然语言需求转换为结构化条件,并让买家确认至少以下内容:品类、采购数量、收货地址或地区、交期,以及当前品类重点指标。买家已明确“不限”的字段视为已确认,不重复追问。
- 硬条件包括品类、采购数量所需库存、最大起订量、交期和买家明确要求必须满足的质量或规格指标;软条件包括期望价格、公路运距以及买家明确表示可协商的指标。交易顾问不得擅自把硬条件改为软条件。
- 存在完全符合硬条件的商品时,使用商品大厅推荐分排序并最多输出 3 个商品。同一商品只出现一次;结果较多且排序条件接近时优先增加卖家多样性,但不得为此引入排名明显靠后的商品。
- 每个结果必须使用统一商品卡片,并在卡片前或推荐小结中说明真实差异,至少覆盖价格、关键指标、库存、公路运距和成交量中有数据的项目;不得输出精确推荐分或模型内部权重。
- 完全匹配商品少于 3 个时,展示全部已有完全匹配结果,不要求补足固定数量;同时说明结果数量和限制条件。买家主动同意放宽条件后生成新的条件版本并重新推荐,新的结果仍最多 3 个。未经买家确认,不得把不符合硬条件的商品包装成完全匹配结果;没有完全匹配商品且买家不愿放宽时,可引导生成采购需求草稿。
- 买家修改任一条件后,上一批候选商品立即失效;新结果必须重新执行商品状态、库存、售价、企业状态和公路运距校验。
- 公路运距无法计算的商品统一放在可计算商品之后,不向买家展示“运距待确认”标记;全部商品均无法计算时忽略运距项,并使用其他推荐因素排序。
- 输出推荐结果时记录对话条件版本、商品候选快照、排序规则版本和推荐时间,用于继续追问、回溯和防止旧结果被误用。
- 交易顾问不设置固定最低推荐数量,也不要求每个品类维持指定在售商品数。实际输出数量为当前对话条件下真实有效候选商品数与 3 的较小值;为 1 或 2 时全部输出,为 0 时说明没有匹配结果并提供修改条件或生成采购需求草稿的下一步。不得生成不存在的商品。
能力边界
- 不生成不存在的商品、库存、企业、成交、信用或价格事实。
- 不代表企业出价、接受报价、确认成交、签合同、付款或确认收货。
- 不输出后台敏感风控信息或其他企业私有数据。
- 无结果时说明原因,并提供放宽条件或发布采购需求。
- 规则回答引用当前平台规则版本;无法确定时引导查看正式规则或联系平台。
异常与边界
- 数据源异常时停止使用异常来源,不用旧数据冒充实时。
- 推荐商品在用户点击时再次校验上架、库存和企业状态。
- 用户问题涉及无权交易时只给通用说明,不泄露对象详情。
- 多轮对话中用户修改条件后,旧候选结果标记失效并重新匹配。
验收标准
- 市场指标来源、口径、更新时间和页面汇总一致。
- 推荐可解释且不会突破硬条件。
- 交易顾问先澄清再输出真实结果,所有正式动作进入业务页面确认。
- 交易顾问最多输出 3 个去重商品;候选不足 3 个时输出全部真实有效候选,不为达到数量自动放宽硬条件。候选为 0 时清楚说明原因并提供修改条件或生成采购需求草稿的下一步。
- 人工客服可在当前聊天框接入,服务人员、客服电话和接入状态展示完整,页面不发生跳转。
- 无结果、数据延迟、权限不足和对象失效均有清楚说明和下一步。