I直接答案
结论很直接:一个供应商只有在「从未被任何业务单据引用过」的状态下才可以被删除。判定标准是系统自动做的——它会去查这个供应商身上有没有挂过采购单、付款单、预存款流水、往来账记录等资金类数据。只要查到任意一条,删除按钮点下去就会弹出报错,提示该供应商已产生采购单或资金数据、不允许删除。反过来,如果你刚建完一条供应商,还没在任何采购、付款、对账场景里选中过它,那它就是一个「干净」的记录,可以正常删除。
所以判断能不能删,不用去猜规则,直接看两件事就够了:第一,采购相关单据里有没有出现过它;第二,跟钱有关的数据里有没有出现过它。这两条只要中了一条,删除路径就彻底关闭,没有任何绕过方式——不是权限不够,也不是版本问题,是数据一致性上的硬限制。因为一旦允许删除,历史采购单、应付账款、对账单就会指向一个不存在的对象,报表口径会直接错乱。
如果这个供应商确实不再合作了,正确的处理不是删,而是停用。停用之后它不会再出现在新单据的供应商选择列表里,日常下单不会被误选;同时历史单据照常能打开、能查、能对账,报表数字也不会变。换句话说,把「删掉」换成「停用」,既解决了列表污染问题,又保住了历史数据的完整性。
II操作问答
系统到底靠什么判断「不能删」
这个判定不是人工审核,而是数据库层面的引用检查。你在供应商列表里点删除的那一刻,系统会扫描这个供应商 id 有没有被采购单、付款记录、预存款流水、往来账这几类数据引用过。被引用过,就直接拒绝并回一条报错;没被引用过,才真正执行删除。
因此判断逻辑可以简化成一句话:被「用过」的供应商删不掉,没被「用过」的能删。这里说的「用过」,不只是你手动点过的采购单,还包括系统自动生成的那些资金记录——比如给这个供应商做过付款、记过预存款、产生过应付余额,都算。
这也解释了为什么有些用户觉得「我明明没下过单,怎么还删不掉」:很可能是当初建供应商时顺手做了一笔预存款或期初往来账,虽然没走采购流程,但资金数据已经挂上去了,一样会被判定为有关联。
III操作问答
想删供应商,按这个顺序操作
第一步,先去采购单和付款相关列表里,用供应商名称做一次筛选,确认它名下有没有单据。如果有,基本可以放弃删除这条路,直接跳到第三步。
第二步,如果没有单据,再去资金类页面查一遍:预存款、往来账、应付余额。这几处是最容易被忽略的,很多人以为只有采购单才算关联,结果卡在这里。确认全部为空之后,回到供应商列表选中这条记录执行删除,通常就能成功。
第三步,如果确实查到有关联数据,改用停用。在供应商编辑页把状态改成停用并保存即可。停用不会影响任何历史单据,只是把它从新单据的可选范围里移除。这一步几乎没有副作用,推荐作为默认处理方式。
需要提醒的是:停用不等于删除,列表里还是能看到它,只是带一个停用标记。如果你的目标是让列表更清爽,可以在列表上加状态筛选,把停用的折叠起来看。
IV操作问答
两种最容易配错的场景
第一种:把「停用」当成「删除」用,但忘了配权限。停用操作本身是有权限开关的,如果业务员没有停用权限,他看到的现象是编辑页里那个状态选项根本点不动,或者保存后没变化。此时不要怀疑系统坏了,先去权限设置里确认这个角色有没有基础资料维护的权限。
第二种:先删供应商、后补历史单。有些人为了「数据干净」,先想办法清掉旧供应商,再重新建一条同名的新供应商,以为这样能把账做平。结果会看到历史采购单上的供应商名和新建的那条对不上,对账单和报表按供应商维度统计时被拆成两行,数字对不起来。同名不等于同一条记录,系统认的是内部标识而不是名字。
还有一种边界情况:供应商是从其他模块或批量导入带进来的,导入时可能已经默认关联了期初数据。这类记录看起来「刚建好」,其实一诞生就带着资金关联,删除同样会被拦。遇到这种,先查资金数据,再决定删还是停。
V操作问答
它跟哪些功能会互相牵动
跟采购与账期:供应商是采购单、应付账款的挂靠对象。删掉它,账期计算和应付余额就失去归属,所以系统才要用资金数据做锁。停用则完全不影响这两块。
跟库存与价格:部分场景下供应商会跟供货价、采购价体系挂钩。如果这个供应商身上配过专属价格策略,删除会让价格规则失效;停用一般会让这些规则不再对新单据生效,但历史单据里的价格快照不受影响。
跟报表与权限:按供应商维度出的采购汇总、应付明细,都是靠这条基础资料串起来的。基础资料一删,报表口径就出现空洞;所以做数据治理时,行业里普遍的做法是「只停不删」。权限方面,新建、编辑、停用、删除通常是分开控制的,删不掉的时候先确认是数据锁还是权限锁,两者的报错表现和解决路径完全不同。
VII常见问题
被问得最多的几个问题
能。停用只是把它从新单据的供应商可选列表里拿掉,历史采购单、应付明细、对账记录都照常打开,该付款继续付款,报表统计口径也不会变。如果你发现停用后付款入口没了,那多半是操作权限的问题,跟停用本身无关,去角色权限里核对一下付款相关的开关即可。
不建议。改名字不会改变系统内部的那条记录标识,历史单据依然挂在同一条记录上,账面上还是原来那笔往来。你想「换一个干净供应商」的目的达不到,反而会让历史单据显示的名字和现在的名字不一致,核对时更容易混淆。真要不合作,停用更清楚;真要新建,另建一条并注明区别。
理论上要先把所有引用它的单据和资金记录都处理干净,供应商才会重新变成可删除状态。但采购单、付款记录、往来账通常都涉及已经发生的真实业务,删掉等于抹掉账目,一般不这么做。如果你确实有历史测试数据需要清理,建议先确认这些数据没有进入对账和报表,再操作,操作前做好备份。拿不准可以打全国服务热线 400-888-1794 问一下。
VII继续查
企业微信 · 专属顾问