跳转到内容

采购管理系统

本子应用用于企业采购业务全过程管理,覆盖供应商管理、采购申请、采购计划、采购询价(比价定标)、采购订单、采购合同、采购退货、售后服务与洽谈管理等核心功能,实现采购需求从提出到执行、结算前全过程的可追溯管理。

  1. 供应商管理:供应商档案(树形分类)、供应商类别、供应商联系人
  2. 采购申请:采购需求录入、明细维护、提交审批、审批状态跟踪
  3. 采购计划:依据已审批采购申请编制采购计划、明细维护、提交审批
  4. 采购询价:创建采购询价单、多供应商询价、供应商报价登记与比价定标
  5. 采购订单:依据定标结果生成采购订单、跟踪交期与到货状态
  6. 采购合同:采购合同登记、合同分类维护、关联采购订单
  7. 采购退货:退货申请与退货明细、关联采购订单
  8. 售后服务:采购售后问题登记与处理跟踪
  9. 洽谈管理:与供应商的洽谈记录与洽谈计划
  10. 基础设置:产品与产品分类、业务类型、计量单位、合同分类、供应商类别、数据字典
  11. 暂不实现:采购工作台(待办与预警汇总)
  12. 暂不实现:统计分析(采购金额趋势、供应商采购排行、品类占比、订单执行情况)
  13. 暂不实现:到货验收与采购入库(到货状态暂由采购订单手动维护,入库业务由仓库管理应用承接)
  14. 暂不实现:供应商门户自助报价
  15. 暂不实现:招投标管理
  • 计划驱动采购:采购计划由已审批通过的采购申请明细汇总生成,采购询价单与采购订单必须来源于采购计划,形成「申请—计划—询价—订单」强链路
  • 询比价定标:对采购计划明细按供应商发起询价,多家供应商分别报价后比价定标,定标结果驱动采购订单生成
  • 数量闭环:采购申请明细的「申请数量 / 已计划数量 / 剩余数量」与采购计划明细的「计划数量 / 已采购数量」双向回写,防止超量采购
  • 两级审批:采购申请、采购计划均走两级简化审批流程(申请人直属上级 → 总经理),按金额分级触发
  • 金额口径:所有单据以「未税金额 + 税金 = 含税金额」为统一口径,由明细自动汇总到单头

解决方案: 企业一体化管理解决方案 - EIM 应用域: 供应链管理 - SCM 应用名称: 采购管理系统 - SRM 估算定价: 4800 元/年

名词释义
供应商为本企业提供物资或服务的合作单位,按供应商类别分类维护,含正常、潜在、冻结、黑名单四种状态
采购申请业务部门提出的采购需求单据,包含申请明细、期望到货日期与紧急程度,经审批后作为采购计划的来源
采购申请明细采购申请下的物料行,记录名称、规格型号、单位、申请数量、指导价与金额,并跟踪已计划数量与剩余数量
采购计划采购员依据已审批通过的一个或多个采购申请明细汇总编制的执行计划,经审批后作为询价的来源
采购计划明细采购计划下的物料行,记录计划数量与已采购数量,并可引用来源采购申请明细
采购询价单采购员就采购计划明细向多家供应商发出的询价单据,记录询价人、报价截止日期与期望交货日期
供应商报价供应商针对询价单反馈的报价单据,含报价明细与报价状态
比价定标对多家供应商报价进行横向比较并确定中标供应商的过程,定标后询价单状态置为「已定标」
采购订单依据定标结果向中标供应商下达的采购承诺,记录下单日期、供应商、金额、支付/开票/到货状态
采购合同与供应商签订的采购合同,记录合同金额、签订/生效/失效日期、我方主体与合同状态
采购退货因质量或交付问题向供应商发起的退货单据,关联采购订单并记录退货数量与退货金额
售后服务采购到货后的质量问题反馈与处理台账,记录问题描述、提交人、处理人与处理状态
洽谈记录与供应商就价格、交期、质量等事项的沟通纪要,记录洽谈时间、方式、类型与处理结果
未税金额不含增值税的金额,由明细数量 × 不含税单价得出
含税金额含增值税的金额,等于未税金额与税金之和
税金按税率计算的增值税额,等于未税金额 × 税率
指导价物料在采购申请/采购计划阶段的参考单价,用于金额预估与超价预警
treeView-beta
供应链管理/
    采购管理系统
        供应商管理
            供应商 ##供应商档案维护(树形分类、状态、付款方式、结算周期)
            联系人 ##供应商联系人维护
        采购需求
            采购申请 ##需求录入、明细维护、提交审批、审批状态跟踪
            采购计划 ##依据已审批采购申请汇总编制采购计划、提交审批
        采购询价
            采购询价单 ##向多家供应商发起询价、维护询价明细
            供应商报价 ##报价登记、比价定标、报价状态维护
        采购执行
            采购订单 ##订单录入、金额汇总、交期与到货状态跟踪
            采购合同 ##采购合同登记、关联采购订单
        采购退货
            采购退货 ##退货申请与退货明细维护
        售后服务
            售后反馈 ##采购售后问题登记与处理跟踪
        洽谈管理
            洽谈记录 ##与供应商洽谈记录
            洽谈计划 ##洽谈计划
        基础设置
            产品管理 ##产品与产品分类维护
            业务类型 ##业务类型基础资料
            计量单位 ##计量单位基础资料
            合同分类 ##合同分类基础资料
            供应商类别 ##供应商类别基础资料
            数据字典 ##数据字典维护
        采购工作台 :::postpone icon(ph:empty) ##暂不实现
        统计分析 :::postpone icon(ph:empty) ##暂不实现

采购对象主流程

flowchart LR;
    A(采购申请) --> B(采购计划) --> C(采购询价单) --> D(供应商报价) --> E(采购订单) --> F(到货)
    E --> G(采购合同)
    E --> H(采购退货)
    I(采购入库) -.-> F

    classDef key fill:#fef9c3,stroke:#ca8a04,color:#111
    classDef branch fill:#E5F6DA,stroke:#569230,color:#111;
    class E key;
    class F,G,H,I branch;

采购业务协作流程

swimlane-beta
    subgraph 申请人
        A[填写采购申请并提交]
        Z[结束]
    end
    subgraph 审批人
        B{审批}
    end
    subgraph 采购员
        C[编制采购计划]
        D[发起采购询价]
        E[比价定标]
        F[下达采购订单]
        G[登记采购合同/退货]
    end
    subgraph 供应商
        H[提交报价]
    end
    A --> B
    B -- 否 --> Z
    B -- 是 --> C --> D --> H --> E --> F
    F --> G

    classDef branch fill:#E5F6DA,stroke:#569230,color:#111;
    class H branch;

需求编号 RQ-SRM-{MMNN}:{MM} 为模块序号(按「功能设计」菜单树顺序,两位补零),{NN} 为模块内需求序号(两位补零)。编号一经分配即锁定,不复用、不回收。

供应商档案为采购业务的主数据,供应商状态决定其在询价与下单环节的可用性;联系人与供应商绑定维护。

编号需求描述优先级验收标准关联对象
RQ-SRM-0101供应商档案记录名称、类别、状态、付款方式、结算周期、合作开始时间、合作结束时间,其中名称为必填P0name 为空时「保存」不可用并提示tabSRMSupplier.name
RQ-SRM-0102供应商类别取自字典 SupplierCategoryP1未选择 category 时「保存」不可用并提示tabSRMSupplier.category
RQ-SRM-0103供应商状态取值为正常、潜在、冻结、黑名单,新增时默认为「潜在」P0新增供应商保存后 status = 「潜在」tabSRMSupplier.status
RQ-SRM-0104状态为「黑名单」的供应商不可被采购询价单选择P0在采购询价单选择供应商时,status = 「黑名单」的供应商不出现在候选列表tabSRMSupplier.status、tabSRMInquiry.supplier
RQ-SRM-0105合作结束时间不得早于合作开始时间P1endDate 早于 startDate 时保存失败并提示tabSRMSupplier.startDate、tabSRMSupplier.endDate
RQ-SRM-0106供应商支持上下级分组(树形),父级节点仅作分组使用P2仅有子级(叶子)供应商可被询价单引用tabSRMSupplier.parent
RQ-SRM-0107联系人可关联一个或多个供应商,记录姓名、常用电话、邮箱与职务P1保存联系人后可按供应商反查其联系人列表tabCRMContact.name、tabCRMContact.cooperator

采购申请由业务人员发起,明细行记录物料与数量,单头金额由明细自动汇总,提交后进入两级审批。

编号需求描述优先级验收标准关联对象
RQ-SRM-0201采购申请记录标题、申请人、申请部门、事由、期望到货日期,其中标题与期望到货日期为必填P0title 或 deliveryDate 为空时「提交」不可用并提示tabSRMPurchaseRequest.title、tabSRMPurchaseRequest.deliveryDate
RQ-SRM-0202采购申请自动带出申请人所属部门作为申请部门P1新增采购申请保存后 department = 当前登录人所属部门tabSRMPurchaseRequest.department
RQ-SRM-0203申请明细记录名称、规格型号、单位、申请数量、指导价、税率,其中数量必填且大于 0P0quantity ≤ 0 或为空时明细不可保存tabSRMPurchaseRequestDetail.quantity
RQ-SRM-0204申请明细按 未税金额 = 申请数量 × 指导价 自动计算未税金额P0修改数量或指导价后 money 立即重算tabSRMPurchaseRequestDetail.money
RQ-SRM-0205申请明细按税率自动计算税金与含税金额P0tax = money × 税率;amount = money + taxtabSRMPurchaseRequestDetail.tax、tabSRMPurchaseRequestDetail.amount
RQ-SRM-0206采购申请单头金额由明细自动汇总P0money = Σ明细 money;total = Σ明细 amount;无明细时 total = 0tabSRMPurchaseRequest.money、tabSRMPurchaseRequest.total
RQ-SRM-0207采购申请支持紧急程度(一般、普通、紧急、特急),默认「一般」P1新增申请保存后 level = 「一般」tabSRMPurchaseRequest.level
RQ-SRM-0208采购申请提交后进入审批流,审批中单据与其明细均不可编辑P0approvalStatus = 「审批中」时明细区域的增删改入口不可用tabSRMPurchaseRequest.approvalStatus
RQ-SRM-0209审批通过前处理状态恒为「待处理」,审批通过后方可流转为处理中、部分采购、已完成、已关闭P1approvalStatus ≠ 「已通过」时 status 无法改为「处理中」tabSRMPurchaseRequest.status
RQ-SRM-0210审批驳回后申请人可修改并重新提交P1approvalStatus = 「已驳回」时编辑与重新提交可用;重新提交后回到「审批中」tabSRMPurchaseRequest.approvalStatus

采购计划是采购申请到询价之间的执行计划,按申请明细汇总生成,并回写申请明细的计划进度。

编号需求描述优先级验收标准关联对象
RQ-SRM-0301采购计划可由选定的采购申请明细生成,选入后自动带入名称、规格型号、单位、产品与指导价P0仅 approvalStatus = 「已通过」且 remainingQuantity > 0 的申请明细出现在可选列表tabSRMPurchasePlanDetail.applyDetai
RQ-SRM-0302采购计划明细的计划数量不得超过来源申请明细的剩余数量P0planQuantity > 来源明细 remainingQuantity 时保存失败并提示tabSRMPurchasePlanDetail.planQuantity、tabSRMPurchaseRequestDetail.remainingQuantity
RQ-SRM-0303采购计划明细保存后回写来源申请明细的已计划数量与剩余数量P0purchasedQuantity 按计划数量累加;remainingQuantity = quantity—purchasedQuantitytabSRMPurchaseRequestDetail.purchasedQuantity、tabSRMPurchaseRequestDetail.remainingQuantity
RQ-SRM-0304采购计划单头金额由明细自动汇总P0money = Σ明细 money;total = Σ明细 amounttabSRMProcurementPlan.money、tabSRMProcurementPlan.total
RQ-SRM-0305采购计划提交后进入审批流,审批中不可编辑明细P0approvalStatus = 「审批中」时明细只读tabSRMProcurementPlan.approvalStatus
RQ-SRM-0306计划状态取值为未执行、部分执行、已完成,由明细的已采购数量自动判定P1全部明细 orderedQuantity ≥ planQuantity 时 status = 「已完成」;部分达成时 = 「部分执行」tabSRMProcurementPlan.status、tabSRMPurchasePlanDetail.orderedQuantity

采购询价面向已审批通过的采购计划,向多家供应商发出询价并收集报价,比价后定标一家供应商。

编号需求描述优先级验收标准关联对象
RQ-SRM-0401采购询价单必须关联一条采购计划,且该计划审批状态为「已通过」P0未关联采购计划或所关联计划 approvalStatus ≠ 「已通过」时不可保存tabSRMInquiry.procurementPlan
RQ-SRM-0402采购询价单至少选择一家供应商发出询价P0供应商数量为 0 时「发出询价」不可用tabSRMInquiry.supplier
RQ-SRM-0403询价单记录询价人、询价部门、询价日期、报价截止日期与期望交货日期,其中报价截止日期为必填P0deadline 为空时不可保存tabSRMInquiry.deadline
RQ-SRM-0404询价单明细来源于所关联采购计划的明细,且不超出计划数量P1询价明细计划数量合计 ≤ 对应计划明细的 planQuantitytabSRMPurchasePlanDetail.planQuantity
RQ-SRM-0405供应商报价明细记录单价、税率与含税金额,其中单价为必填P0price 为空时报价明细不可保存tabCRMQuotationDetail.price、tabCRMQuotationDetail.taxRate、tabCRMQuotationDetail.amount
RQ-SRM-0406各供应商报价分别汇总为未税金额、税金与合计P0money = Σ明细 money;total = Σ明细 amounttabCRMQuotation.money、tabCRMQuotation.total
RQ-SRM-0407比价后定标一家供应商,询价单状态置为「已定标」,未中标报价状态置为「未报价」以外的「已报价」P0定标后 inquirStatus = 「已定标」,且仅一条报价 status = 「已采纳」tabSRMInquiry.inquirStatus、tabCRMQuotation.status

采购订单依据定标结果生成,是采购执行的正式承诺,记录金额、支付/开票/到货状态。

编号需求描述优先级验收标准关联对象
RQ-SRM-0501采购订单必须关联供应商,且订单类型固定为「采购」P0未选择供应商时订单不可保存;保存后 type = 「采购」tabCRMOrder.cooperator、tabCRMOrder.type
RQ-SRM-0502采购订单可关联来源采购计划P1选择采购计划后订单 procurementPlans 指向该计划tabCRMOrder.procurementPlans
RQ-SRM-0503订单明细可引用采购计划明细,数量不得超过该计划明细的计划数量P0明细保存后回写计划明细 orderedQuantity,合计 ≤ planQuantitytabCRMOrderDetail.purchasePlanDetail、tabSRMPurchasePlanDetail.orderedQuantity
RQ-SRM-0504订单明细记录名称、规格型号、数量、单价、税率,并自动计算未税金额、税金与含税金额P0money = quantity × price;amount = money + taxtabCRMOrderDetail.money、tabCRMOrderDetail.tax、tabCRMOrderDetail.amount
RQ-SRM-0505订单单头合计金额由明细自动汇总P0money = Σ明细 money;total = Σ明细 amount;amount = totaltabCRMOrder.money、tabCRMOrder.total、tabCRMOrder.amount
RQ-SRM-0506订单到货状态由人工维护,取值为未到货、部分到货、已到货,默认「未到货」P0新增订单保存后 receiveStatus = 「未到货」;修改为「已到货」后即时生效tabCRMOrder.receiveStatus
RQ-SRM-0507订单支付状态与开票状态由人工维护,支付状态默认「待支付」,开票状态默认「未开票」P1新增订单保存后 payStatus = 「待支付」、billingStatus = 「未开票」tabCRMOrder.payStatus、tabCRMOrder.billingStatus
RQ-SRM-0508订单状态为「关闭」时,订单与其明细均不可编辑P1status = 「关闭」时明细区域与「保存」不可用tabCRMOrder.status

采购合同登记与供应商签订的正式合同,并按合同状态管理其生命周期。

编号需求描述优先级验收标准关联对象
RQ-SRM-0601采购合同记录标题、合同金额、签订日期、生效日期、失效日期,其中标题与合同金额为必填P0title 或 contractAmount 为空时「保存」不可用tabOAContracts.title、tabOAContracts.contractAmount
RQ-SRM-0602采购合同类型固定为「采购」P0保存后 type = 「采购」tabOAContracts.type
RQ-SRM-0603采购合同分类取自字典 ContractCategoryP1未选择 category 时「保存」不可用tabOAContracts.category
RQ-SRM-0604采购合同状态按洽谈、审批/签字、实施、决算、清欠/售后、完成、终止流转,新增时默认「洽谈」P1新增合同保存后 status = 「洽谈」tabOAContracts.status
RQ-SRM-0605采购合同登记经办人、经办部门、我方主体与负责人P1handler 为空时不可提交审批tabOAContracts.handler、tabOAContracts.handlingDepartment
RQ-SRM-0606采购合同失效日期不得早于生效日期P2expiryDate 早于 effectiveDate 时保存失败并提示tabOAContracts.effectiveDate、tabOAContracts.expiryDate
RQ-SRM-0607采购合同可关联采购订单,并支持上传合同正本与变更附件P2单合同仅一个附件字段,支持多类型附件分类上传tabCRMOrder.contract、tabOAContracts.files

采购退货用于处理到货后因质量或交付问题退回供应商的场景,退货数量不得超出订单数量。

编号需求描述优先级验收标准关联对象
RQ-SRM-0701采购退货单必须关联一条采购订单P0未选择订单时「保存」不可用tabCRMReturn.order
RQ-SRM-0702退货明细引用采购订单明细,退货数量不得超过订单明细数量P0returnQuantity > quantity 时保存失败并提示tabCRMReturnDetail.returnQuantity、tabCRMReturnDetail.quantity
RQ-SRM-0703退货金额由明细自动汇总P0refundAmount = Σ明细 returnMoneytabCRMReturn.refundAmount
RQ-SRM-0704采购退货单记录退货日期与退货原因,其中退货原因为必填P1reason 为空时「保存」不可用tabCRMReturn.date、tabCRMReturn.reason
RQ-SRM-0705采购退货单提交后进入审批流,审批中不可编辑明细P1approvalStatus = 「审批中」时明细只读tabCRMReturn.approvalStatus

售后服务记录采购到货后的质量问题与处理过程。

编号需求描述优先级验收标准关联对象
RQ-SRM-0801售后反馈记录问题描述、提交人、处理人,并关联采购订单与供应商,其中问题描述为必填P0note 为空时「保存」不可用tabCRMSupport.note、tabCRMSupport.submitter
RQ-SRM-0802售后状态取值为未开始、进行中、已完成,新增时默认「未开始」P1新增售后保存后 status = 「未开始」tabCRMSupport.status
RQ-SRM-0803售后反馈下可逐条登记洽谈记录P2保存洽谈后可在该售后记录下查到关联记录tabCRMSupport.negotiation

洽谈管理记录与供应商的沟通纪要,并支持登记后续洽谈计划。

编号需求描述优先级验收标准关联对象
RQ-SRM-0901洽谈记录必须关联供应商,记录洽谈时间、方式、类型与处理结果,其中洽谈时间为必填P0partner 或 time 为空时「保存」不可用tabCRMNegotiation.partner、tabCRMNegotiation.time
RQ-SRM-0902洽谈记录可关联联系人、采购订单与售后反馈P1从采购订单或售后反馈详情可反查关联洽谈记录tabCRMNegotiation.contact、tabCRMNegotiation.order
RQ-SRM-0903洽谈计划登记预计签单日期与负责人,其中预计签单日期为必填P2date 为空时「保存」不可用tabCRMNegotiation.date
RQ-SRM-0904洽谈内容纪要支持富文本,并支持上传附件P2纪要区域支持图文混排;单记录仅一个附件字段,支持多类型附件tabCRMNegotiation.content、tabCRMNegotiation.files

基础设置为采购业务提供产品、业务类型、计量单位、合同分类、供应商类别等基础资料与数据字典维护。

编号需求描述优先级验收标准关联对象
RQ-SRM-1001产品档案记录名称、规格型号、单位、税率、参考单价与采购指导价,其中名称为必填P0name 为空时「保存」不可用tabCRMProduct.name、tabCRMProduct.guidePrice
RQ-SRM-1002产品按业务类型归类,采购类物料取自字典 BizType 的采购业务分支P1新增产品 bizType 只能选择字典 BizType 采购业务分支下的项tabCRMProduct.bizType
RQ-SRM-1003产品支持树形分类与有效性标记,标记为无效的产品不可被采购申请明细引用P2isValid = 否的产品不出现在采购申请明细的产品候选列表tabCRMProduct.isValid
RQ-SRM-1004产品单位取自字典 Unit,供产品与各单据明细统一引用P1新增产品 unit 只能选择字典 Unit 中已启用的项tabCRMProduct.unit
RQ-SRM-1005供应商类别按字典 SupplierCategory 维护,新增类别后可被供应商档案选择P1新增供应商类别后立即出现在供应商 category 选项中tabSRMSupplier.category
RQ-SRM-1006合同分类按字典 ContractCategory 维护,新增分类后可被采购合同选择P1新增合同分类后立即出现在采购合同 category 选项中tabOAContracts.category
erDiagram
    direction LR
    subgraph **供应链管理**
        subgraph **采购需求与寻源**
            PR[tabSRMPurchaseRequest采购申请] {
                long id "ID"
                string code "编号"
                string title "标题"
                ref applicant "申请人"
                ref department "申请部门"
                text reason "事由"
                date deliveryDate "期望到货日期"
                kv level "紧急程度"
                kv status "处理状态"
                string approvalStatus "审批状态"
                decimal money "未税金额"
                decimal tax "税金"
                decimal total "总额"
                file files "附件"

                date createdAt "创建日期"
                ref createdBy "创建人"
                date updatedAt "最后修改日期"
                ref updatedBy "最后修改人"
                ref createdOrg "所属机构"
                ref createdDept "所属部门"
            }
            PRD[tabSRMPurchaseRequestDetail采购申请明细] {
                long id "ID"
                ref request "采购申请"
                ref product "产品"
                string name "名称"
                string specification "规格型号"
                string unit "单位"
                decimal quantity "申请数量"
                decimal purchasedQuantity "已计划数量"
                decimal remainingQuantity "剩余数量"
                decimal guidePrice "指导价"
                kv bizType "业务类型"
                kv taxRate "税率"
                decimal money "未税金额"
                decimal tax "税金"
                decimal amount "含税金额"
                string remark "备注"
            }
            PP[tabSRMProcurementPlan采购计划] {
                long id "ID"
                string code "编号"
                string title "标题"
                ref applicant "申请人"
                ref department "申请部门"
                date date "需求日期"
                kv status "状态"
                string approvalStatus "审批状态"
                decimal money "未税金额"
                decimal tax "税金"
                decimal total "计划总金额"
                file files "附件"

                date createdAt "创建日期"
                ref createdBy "创建人"
                date updatedAt "最后修改日期"
                ref updatedBy "最后修改人"
                ref createdOrg "所属机构"
                ref createdDept "所属部门"
            }
            PPD[tabSRMPurchasePlanDetail采购计划明细] {
                long id "ID"
                ref planPurchase "采购计划单"
                ref applyDetail "申请明细"
                ref inquiryOrder "采购询价单"
                ref product "产品"
                string productName "名称"
                string specification "规格型号"
                string unit "单位"
                decimal planQuantity "计划数量"
                decimal orderedQuantity "已采购数量"
                decimal guidePrice "指导价"
                kv bizType "业务类型"
                kv taxRate "税率"
                decimal money "未税金额"
                decimal tax "税金"
                decimal amount "含税金额"
                string remark "备注"
            }
            IQ[tabSRMInquiry采购询价单] {
                long id "ID"
                string code "编码"
                string title "标题"
                ref inquirer "询价人"
                ref department "询价部门"
                date date "询价日期"
                date deadline "报价截止日期"
                date expectedDeliveryDate "期望交货日期"
                kv inquirStatus "询价状态"
                bool isOrder "是否下单"
                ref procurementPlan "采购计划"
                md note "说明"
                file files "附件"
                string approvalStatus "审批状态"

                date createdAt "创建日期"
                ref createdBy "创建人"
                date updatedAt "最后修改日期"
                ref updatedBy "最后修改人"
                ref createdOrg "所属机构"
                ref createdDept "所属部门"
            }
            IQS[tabSRMInquirySupplier询价供应商] {
                long id "ID"
                ref inquiry "采购询价单"
                ref supplier "供应商"
            }
        end
        subgraph **供应商主数据**
            SUP[tabSRMSupplier供应商] {
                long id "ID"
                string name "名称"
                kv category "类别"
                kv status "状态"
                kv paymentType "付款方式"
                string settleCycle "结算周期"
                date startDate "合作开始时间"
                date endDate "合作结束时间"
                string approvalStatus "审批状态"
                ref parent "上级"

                date createdAt "创建日期"
                ref createdBy "创建人"
                date updatedAt "最后修改日期"
                ref updatedBy "最后修改人"
                ref createdOrg "所属机构"
                ref createdDept "所属部门"
            }
        end
    end

    ORD[tabCRMOrder采购订单] {
        long id "ID"
        string number "订单号"
        string title "主题"
        kv type "订单类型"
        ref cooperator "供应商"
        ref procurementPlans "采购计划"
        ref contract "采购合同"
        kv receiveStatus "到货状态"
        kv payStatus "支付状态"
        kv billingStatus "开票状态"
        kv status "订单状态"
        decimal money "未税金额"
        decimal total "合计"
    }
    ORDD[tabCRMOrderDetail采购明细] {
        long id "ID"
        ref order "采购订单"
        ref purchasePlanDetail "采购计划明细"
        ref product "产品"
        string name "名称"
        string specification "规格型号"
        decimal quantity "数量"
        decimal price "单价"
        kv taxRate "税率"
        decimal money "未税金额"
        decimal amount "含税金额"
    }
    QUO[tabCRMQuotation供应商报价] {
        long id "ID"
        string number "编号"
        string title "标题"
        ref cooperator "供应商"
        ref procurementPlan "采购计划"
        ref procurementInquiry "采购询价单"
        kv status "报价状态"
        date date "报价日期"
        kv type "订单类型"
        decimal money "未税金额"
        decimal total "合计"
    }
    QUOD[tabCRMQuotationDetail报价明细] {
        long id "ID"
        ref quotation "报价单"
        ref procurementPlanDetail "采购计划明细"
        ref product "产品"
        string name "名称"
        string specification "规格型号"
        decimal quantity "数量"
        decimal price "单价"
        kv taxRate "税率"
        decimal money "未税金额"
        decimal amount "含税金额"
    }
    CON[tabOAContracts采购合同] {
        long id "ID"
        string number "内部编号"
        string title "标题"
        kv type "类型"
        kv category "分类"
        ref ourEntity "我方主体"
        ref handler "经办人"
        ref handlingDepartment "经办部门"
        decimal contractAmount "合同金额"
        date signedDate "签订日期"
        date effectiveDate "生效日期"
        date expiryDate "失效日期"
        kv status "状态"
        string approvalStatus "审批状态"
    }
    RET[tabCRMReturn采购退货] {
        long id "ID"
        string number "单号"
        ref order "采购订单"
        ref applicant "申请人"
        ref cooperator "供应商"
        date date "日期"
        string reason "原因"
        decimal refundAmount "退款金额"
        string approvalStatus "审批状态"
    }
    RETD[tabCRMReturnDetail退货明细] {
        long id "ID"
        ref returnOrder "退货单"
        ref orderDetail "订单明细"
        string name "名称"
        string specification "规格型号"
        decimal quantity "订单数量"
        decimal returnQuantity "退货数量"
        decimal returnMoney "退货金额"
    }
    SPT[tabCRMSupport售后反馈] {
        long id "ID"
        ref order "采购订单"
        ref cooperator "供应商"
        ref submitter "提交人"
        ref person "处理人"
        text note "问题描述"
        kv status "状态"
    }
    NEG[tabCRMNegotiation洽谈记录] {
        long id "ID"
        ref partner "供应商"
        ref contact "联系人"
        ref order "采购订单"
        ref support "售后反馈"
        date time "时间"
        date date "预计签单日期"
        kv way "方式"
        kv type "类型"
        kv result "处理结果"
        md content "内容纪要"
        file files "附件"
    }
    PRO[tabCRMProduct产品] {
        long id "ID"
        string code "编码"
        string name "名称"
        string specification "规格型号"
        kv unit "单位"
        kv taxRate "税率"
        decimal price "参考单价"
        string guidePrice "采购指导价"
        kv bizType "业务类型"
        bool isValid "是否有效"
    }
    CT[tabCRMContact联系人] {
        long id "ID"
        string name "姓名"
        string phone "常用电话"
        string email "邮箱"
        string position "职务"
        refs cooperator "合作伙伴"
    }

    PR ||--|{ PRD : ""
    PP ||--|{ PPD : ""
    PRD ||--o{ PPD : "按申请明细编制计划"
    PP ||--o{ IQ : ""
    IQ ||--o{ PPD : "询价明细"
    IQ }o--o{ SUP : "邀请询价"
    PP ||--o{ QUO : ""
    IQ ||--o{ QUO : "供应商报价"
    QUO ||--|{ QUOD : ""
    PPD ||--o{ QUOD : ""
    PPD ||--o{ ORDD : ""
    ORD ||--|{ ORDD : ""
    ORD ||--o{ RET : ""
    RET ||--|{ RETD : ""
    RETD }o--|| ORDD : ""
    ORD ||--o{ CON : "关联合同"
    ORD ||--o{ SPT : ""
    SPT ||--o{ NEG : ""
    PRO ||--o{ PRD : ""
    PRO ||--o{ PPD : ""
    PRO ||--o{ ORDD : ""
    SUP ||..o{ CT : "联系人"
  • 采购员(buyer)为角色,由数智基建技术底座权限管理维护,本应用直接沿用
  • 管理人员(GL)为角色,由数智基建技术底座权限管理维护,本应用直接沿用
  • 总经理(GM)为角色,由数智基建技术底座权限管理维护,本应用直接沿用
  • 供应商(supplier)为角色(外部协作方),由数智基建技术底座权限管理维护,本应用直接沿用
  • 采购群为群组,由本业务维护
功能采购员管理人员总经理供应商采购群
供应商管理✓—查看——
采购申请添加、编辑(限本人)查看(限所在机构)查看、审批添加、编辑(限本人)—
采购计划添加、编辑查看(限所在机构)查看、审批——
采购询价(含供应商报价)✓查看(限所在机构)查看查看、报价(限被询价单据)查看
采购订单✓查看(限所在机构)查看—查看
采购合同添加、编辑查看(限所在机构)查看——
采购退货添加、编辑查看、审批查看——
售后服务添加、编辑查看(限所在机构)查看查看(限本人供应商)—
洽谈管理✓查看(限所在机构)查看——
基础设置管理————
  1. 采购申请审批:按金额分级审批 —— 金额 ≤ 1 万元由申请人直属上级审批;> 1 万元由直属上级审批后继续流转至总经理审批
    1. 申请人填写采购申请并提交,approvalStatus 置为「审批中」
    2. 直属上级审批通过后,判断单头总额 total:≤ 1 万元流程结束,> 1 万元流转至总经理
    3. 任一节点驳回,approvalStatus 置为「已驳回」并退回申请人,可修改后重新提交
swimlane-beta
    subgraph 申请人
        A[填写采购申请并提交]
    end
    subgraph 申请人直属上级
        B{审批是否通过?}
    end
    subgraph 总经理
        D{审批是否通过?}
    end
    subgraph 系统
        A --> B
        B -- 否 --> C[驳回并退回申请人]
        B -- 是 --> E{判断金额}
        E -- "≤ 1 万" --> F[审批通过]
        E -- "> 1 万" --> D
        D -- 否 --> C
        D -- 是 --> F

        classDef branch fill:#E5F6DA,stroke:#569230,color:#111;
        class C branch;
    end
  1. 采购计划审批:采购计划由采购员编制并提交,经总经理审批通过后方可发起采购询价
    1. 采购员编制采购计划并提交,approvalStatus 置为「审批中」
    2. 总经理审批通过后流程结束,计划明细的已采购数量开始参与流转
    3. 驳回则退回编制人,可修改后重新提交
graph LR;
    A(采购员提交采购计划) --> B{总经理审批}
    B -->|通过| C(计划生效,可发起询价)
    B -.->|驳回| D(退回编制人)

    classDef branch fill:#E5F6DA,stroke:#569230,color:#111;
    class D branch;
  1. 通用约定:
    1. 区分两类动作:提醒 = 发送至指定个人的系统消息;通知 = 发送至群聊的消息
  2. 事件触发(实时):
    1. 采购申请提交时,提醒申请人直属上级:待审批采购申请
    2. 采购申请金额 > 1 万元且直属上级审批通过时,提醒总经理:待审批采购申请
    3. 采购计划提交时,提醒总经理:待审批采购计划
    4. 采购询价单发出时,提醒询价单所选供应商的联系人:待报价询价单
    5. 供应商提交报价时,提醒询价人:已收到报价
    6. 采购询价单定标时,通知采购群:定标结果
    7. 采购订单下达时,通知采购群:新采购订单
    8. 采购退货单提交时,提醒管理人员:待审批采购退货
  3. 到期预警(按提前量触发):
    1. 采购询价单报价截止日期前 1d,提醒询价人
    2. 采购订单期望到货日期前 7d / 1d,提醒采购员(receiveStatus = 「已到货」的订单不提醒)
    3. 供应商合作结束时间前 30d,提醒采购员
  4. 周期报表(定时发送):
    1. 每周一 9:00,发送通知到采购群:上周采购订单下达数量、到货情况与超期未到货清单
  • 采购申请:tabSRMPurchaseRequest.code : PR-{createdAt(yyyyMMdd)}-{seq}
  • 采购计划:tabSRMProcurementPlan.code : PP-{createdAt(yyyyMMdd)}-{seq}
  • 采购询价单:tabSRMInquiry.code : RFQ-{date(yyyyMMdd)}-{seq}
  • 供应商报价:tabCRMQuotation.number : SQ-{date(yyyyMMdd)}-{seq}
  • 采购订单:tabCRMOrder.number : PO-{date(yyyyMMdd)}-{seq}
  • 采购合同:tabOAContracts.number : PC-{signedDate(yyyyMM)}-{seq}
  • 采购退货:tabCRMReturn.number : RT-{date(yyyyMMdd)}-{seq}
  • 采购申请:tabSRMPurchaseRequest.files : 采购管理/采购申请/{createdAt(yyyy)}/{code}
  • 采购计划:tabSRMProcurementPlan.files : 采购管理/采购计划/{createdAt(yyyy)}/{code}
  • 采购询价单:tabSRMInquiry.files : 采购管理/采购询价/{date(yyyy)}/{code}
  • 采购订单:tabCRMOrder.files : 采购管理/采购订单/{date(yyyy)}/{number}
  • 采购合同:tabOAContracts.files : 采购管理/采购合同/{signedDate(yyyy)}/{number}
  • 采购退货:tabCRMReturn.files : 采购管理/采购退货/{date(yyyy)}/{number}
  • 采购售后:tabCRMSupport.files : 采购管理/售后服务/{createdAt(yyyy)}/{id}
  • 应用:
    • 强依赖:有巢脚手架(v0.5.2.20260825)
    • 弱依赖:仓库管理(WMS)、营销管理(CRM)
  • 插件:
  • 询比价定标:面向采购计划的询价发起、多供应商报价登记与横向比价定标,可复用于其他采购类应用的寻源场景

询价状态 #InquiryStatus | 分类:供应链管理/SCM

付款方式 #PaymentMethod | 分类:供应链管理/SCM

采购申请处理状态 #ProcessingStatus | 分类:供应链管理/SCM

采购计划状态 #ProcurementPlanStatus | 分类:供应链管理/SCM

供应商类别 #SupplierCategory | 分类:供应链管理/SCM

紧急程度 #UrgencyLevel | 分类:供应链管理/SCM

业务类型 #BizType | 分类:营销管理/CRM

税率 #TaxRate | 分类:营销管理/CRM

采销类型 #OrderType | 分类:营销管理/CRM

订单状态 #OrderStatus | 分类:营销管理/CRM

报价状态 #QuotationStatus | 分类:营销管理/CRM

到货状态 #ReceiveStatus | 分类:营销管理/CRM

支付状态 #PayStatus | 分类:营销管理/CRM

开票状态 #BillingStatus | 分类:营销管理/CRM

合作状态 #CooperationStatus | 分类:营销管理/CRM

售后状态 #SupportStatus | 分类:营销管理/CRM

洽谈类型 #NegotiationType | 分类:营销管理/CRM

洽谈方式 #NegotiationWay | 分类:营销管理/CRM

洽谈处理结果 #NegotiationResult | 分类:营销管理/CRM

合同状态 #ContractStatus | 分类:行政管理/OA

合同类型 #ContractType | 分类:系统/System

合同分类 #ContractCategory | 分类:行政管理/OA

名称编码启用颜色图标父级编码说明
采购11#fa8c16可扩展定义
销售21#faad14
租赁31#d4b106
劳动合同41#a0d911
其它91#2f54eb兜底项(全 9 哨兵码)

单位 #Unit | 分类:系统/System

审批状态 #ApprovalStatus | 分类:系统/System

名称编码启用颜色图标父级编码说明
草稿01#5cdbd3默认
已提交11#36cfc9
审批中21#13c2c2
已通过31#08979c
已退回41#006d75
已驳回51#00474f

初始版本