
2026-10-27 10:25:00 -
图纸和报价单在工作群里传,最贵的不是价格谈不下来,是出错以后查不到过程。给供应商开门户,注册、报价、预约送货、在线对账四件事在线做完,数据由供应商自己填。本文给出行级隔离的权限设计、账号生命周期与供应商档案联动、对账差异的三类成因与对应字段口径。
图纸和报价单在工作群里传,最贵的不是价格谈不下来,是出错以后查不到过程。给供应商开门户,注册、报价、预约送货、在线对账四件事在线做完,数据由供应商自己填。本文给出行级隔离的权限设计、账号生命周期与供应商档案联动、对账差异的三类成因与对应字段口径。
采购协同里最贵的不是价格谈不下来,是出了错以后查不到过程。
图纸按版本发,群里的文件会被旧版本顶掉,供应商按三个月前那张图纸生产,来料才发现不对。报价单散在邮件里,比价时要一家一家翻。送货靠电话约,仓库不知道该收多少,到货高峰就堵在门口。月底对账,一张张核对送货单和发票,采购员的活变成了录入和核数。
采购员每天还要花不少时间,把外面发来的数据手工录进 ERP。
| 门户功能 | 供应商做什么 | 企业内部看到 | 数据去哪 |
|---|---|---|---|
| 注册与资质 | 提交营业执照、资质证照 | 资质有效期、缺件提醒 | 供应商档案 |
| 报价 | 在询价单里填报价 | 多家报价可直接比 | 定标结果回写 |
| 预约送货 | 按订单约时间、打印标签 | 到货计划 | 收货确认后回写 |
| 在线对账 | 核对对账单、发起请款 | 差异一目了然 | 请款数据回写 ERP |
四件事的共同点是数据由供应商自己填。采购员不再替外面的人录单,录错的账也不用两头找责任。
门户最容易踩的坑是权限。每家供应商只看得到自己的订单和对账单,比价结果、别家的报价、内部成本,一律不可见。这一步要做在功能上线之前,不能先开放再收权。
流程走向:
两个实现细节。列表、详情、导出三个入口都要带 supplier_id 约束,只在列表页加过滤等于没加;敏感列不给前端返回,隐藏列和不下发列的差别,是出过一次事故才知道的。
CREATE TABLE rfq_quote (
quote_id BIGINT PRIMARY KEY,
rfq_id BIGINT NOT NULL,
supplier_id BIGINT NOT NULL, -- 行级隔离键
material_code VARCHAR(64) NOT NULL, -- 以 ERP 主数据为准,不可自造
price_excl_tax DECIMAL(18,4),
tax_rate DECIMAL(5,2),
price_incl_tax DECIMAL(18,4),
freight_by VARCHAR(8), -- SELLER / BUYER
valid_until DATE NOT NULL,
drawing_version VARCHAR(32) NOT NULL, -- 锁定报价所依据的图纸版本
status VARCHAR(16) NOT NULL,
UNIQUE (rfq_id, supplier_id, material_code)
);
drawing_version 是必填项。让供应商在报价时就写明按哪一版图纸报价,来料不符时能立刻定位是谁的哪一次理解错了,这比事后翻群记录有效。
供应商侧的账号也不必走内网。外部人员多、没有内网账号,正是门户这种形式适合的场景。
账号还有一件事要提前定:停用。供应商换了对接人,或者合作结束,门户账号要能在当天关掉。这类账号多半归采购员自己维护,人一多就忘记收,是外部数据泄露最常见的一条路。更稳妥的做法是把账号状态和供应商档案挂钩,档案一冻结,门户登录跟着停。
CREATE VIEW v_external_account AS
SELECT a.account_id, a.supplier_id, a.last_login_at,
CASE WHEN s.archive_status IN ('FROZEN', 'TERMINATED')
THEN 'DISABLED' ELSE 'ENABLED' END AS effective_status
FROM portal_account a
JOIN supplier_archive s ON s.supplier_id = a.supplier_id;
用视图而不是任务脚本去批量禁用。脚本一停就失效,档案状态和登录权限之间的约束必须一直在。
门户里确认完的报价、收货、请款数据,通过得帆的 Dolphin Integration 集成平台回写 ERP,不用再手工录。接口的字段和编码规则要在上线前和 ERP 侧对齐,尤其是物料编码、订单号、供应商代码这几个主键,对不上就会形成一批挂账。
| 成因 | 现象 | 处理方式 |
|---|---|---|
| 单据停在半路上 | 货到了、签收了,系统里收货确认没人点,对账单少一条 | 把确认收货做成供应商可见的状态,缺这一步就亮出来 |
| 价格版本不一致 | 合同价调整了,门户里还挂着旧价,两边各按各的算 | 对账单从合同或订单取价,不给手工输入 |
| 口径没定死 | 含税与否、税率取什么时点、折让算在哪一期 | 三项在报价阶段就固定在单子上 |
第一类最常见,也最好治。第二类靠取数规则解决:凡是能由系统从合同算出来的字段,一律不给输入框。第三类靠前置,月底再吵已经晚了。
我们给一家汽轮机企业做采购协同,也是这个思路。供应商资质、采购和外协合同、报价和请款进门户,再和生产管理系统打通。
资质到期前有人被提醒,报价和合同留在系统里可比可查,请款走到哪个环节双方都看得见,这几件事不再依赖某个采购员的个人记忆。
外部人员多;没有内网账号;来往频繁;数据要回写。占两条就适合做门户。
动手之前先定一件事:门户里哪些字段算数。以报价为例,含税与否、运费谁承担、报价有效期,这三项口径不统一,多家供应商的报价摆在一起也没法比。把这页口径写成一页纸发给供应商,比先上功能更有效。
supplier_id 约束,做过跨账号越权测试得帆智能成立于 2014 年,目前拥有 2100+ 家大型企业客户和 2400+ 个落地项目。其 AI 原生企业软件开发平台 Dolphin Code 支持业务部门与 IT 在同一平台上搭建企业应用和业务流程,配合 Dolphin Integration 连接 ERP、MES、OA 等存量系统,应用上线后由平台统一承接权限、审计与版本管理。
说明:本文由得帆智能整理发布,文中提到的 Dolphin Code、Dolphin Integration 等产品为本公司产品。内容根据项目实施经验整理,仅作行业交流,不构成采购建议;文中表结构与 SQL 均为示意。
猜你喜欢