ToWow / Flowness 工程进展:从需求到交付

ERP 接入 AI 怎么做:先做一份只读的清单

ERP 接入 AI,第一步是选一份每周要人工导表的清单,只读数据、人来确认。讲清取数、对账、缺数据怎么处理,以及何时才写回。

ERP 接入 AI,第一步是选一份现在靠人从 ERP 里导表、整理再汇报的清单,比如应收账龄、积压库存、未完成订单。然后接一个只读这份数据的小系统,交出一张有人确认的清单;这一步不改 ERP 里的账,也不替人发任何消息。在我们的做法里,清单上的数由程序按规则表算,AI 用在读不成表的文字上,比如合同条款和 PDF 报价单。这篇文章写给已经在用 ERP 的制造和分销企业负责人,讲这一步怎么做:数据怎么拿,读出来怎么对账,缺了、对不上的数据怎么处理,哪些地方留给人确认,以及什么时候才轮到写回。下面的做法来自我们做的几个只读小系统和一次 ERP 取数实测,依据是我们自己的项目,不是行业统计。

第一步:选一份现在靠人导表的清单

适合做第一步的事有四个特点。数据已经在 ERP 或它的导出表里。结果是一份有人每周要看的清单,不需要改任何单据。算错了可以重算,不会留下后果。有一个具体的人负责看这份清单,并决定下一步。

我们做过的几个小系统,选的都是这类事。应收账款催收助手读 ERP 里的销售单、收款和客户档案,每周一交出催收清单和催款函草稿,不改应收账目。库存预警与呆滞分析读库存余额和出入库明细,每晚算出哪些货积压、占了多少钱。订单交期跟踪助手读现在用的订单表,排出超期的、快到交期的和外发还没回来的。三件事的共同点是:原来都由人对着表翻,换成程序先算一遍,人只看结果。

数据怎么拿:先用导出表,再换只读账号

取数有三条路,难度和长期可靠性不同。

方式 什么时候用 先确认什么
Excel 导出表 第一期 要导哪几张表
ERP 只读账号 导出表跑通之后 账号权限只给读
页面背后的接口 没有导出也没有公开接口 认证怎么长期维持

我们读 ERP 的几个小系统,正式交付时要的是前两种:ERP 只读账号,或者导出表。导出表要的东西很具体。应收那一个要近三个月按单据列的应收明细和回款记录。库存那一个最少要两张表,库存余额和出入库明细,缺任何一张都算不了。订单交期那一个必需的只有两列,交期和订单数量。先把最少要给什么说清楚,企业内部就知道该去找谁导,导多少。

第三条路要谨慎。我们实测过一套没有公开接口的 ERP:数据能通过它后台页面使用的接口取到,路径可行,但这不等于厂商承诺长期兼容的接口,浏览器里的登录状态也不能当长期认证。遇到这种情况,我们建议把登录认证、登录过期后的续期、权限和失败重试单独列项,先用导出表把第一期跑起来。

读出来先对账

数据读出来,第一件事是核对它完整。我们在那次实测里的做法是:读完全部记录后,把读到的条数和 ERP 页面显示的总数比,再检查每条记录的编号(主键)有没有重复。实测报告还建议,正式读取时固定排序,并在读取前后各核对一次条数和编号。后面所有的数都建立在这一步上,省掉它,数字对不上时就查不清是读错了还是算错了。

对账的第二层是和 ERP 自己的报表比。库存那一个小系统,在交付节奏里专门留了一段:第一版出来之后,拿它的数和你们 ERP 里已有的报表对数,对得上再往下走。

另一个提醒来自同一次实测:ERP 里记录最近修改时间的字段,在我们看到的主档里绝大多数是空的。方案如果写成“按修改时间同步变化”就会失效。实测报告据此建议改成定期读取全部记录,把每条记录的字段算成一个校验值(字段指纹),和上次的比,只对变了的记录重新处理。所以动手之前,先抽几十条真实记录,问业务人员这个字段是什么意思、谁在填、平时填不填。

字段里填的内容,要问业务人员才知道

对账通过,数据完整,但字段含义仍然会让结果出错。在我们读过的 ERP 里,碰到过这几种情形。库存里有多种未过账的状态,把所有在库量当成可用量,算出来的缺口和呆滞都会偏。销售价格带着数量档位和有效期,只按料号取一个价格会取错。账套不同的数据,合并之前要保留账套这一维。产品的规格字段有时只是型号编码,真正的尺寸和材料在下级的 BOM 子件里。

ERP 之外,企业自己维护的 Excel 也一样:关键信息常写在备注里。订单交期那个小系统读的未完成订单表,哪张订单送去了外发,可以没有单独的字段,只写在“生产进度”“备注”的文字里,比如“电镀中”“已外发”。所以它从这两列文字里认出外发,每一单都带着原文片段,让跟单一眼看出依据;写着“待电镀”“待外发”的,说明货还没发出去,单独列为“待发外发”。

这类问题要让做事的人和业务人员一起对着真实数据问,问过一轮,规则表里该写什么就清楚了。

对不上、缺了的数据怎么处理

真实的导出表总有缺项。我们几个小系统的共同做法是:缺的就写明缺什么,在清单上标成“未能判断”。这个标签的意思是数据缺项、程序下不了结论;它不当成 0,也不当成没有问题。

几个具体例子。应收那一个,如果拿到的只是每家客户的总额,没有单据日期,仍然能按欠款金额排出催收清单,但账龄和逾期天数显示“未能判断”。库存那一个,只给了其中一张必需的表时,页面写明缺哪一张,例如“缺出入库明细,未能判断”,并且不导入任何数据;仓库表和商品主档缺了还能算,页面写明按什么默认算,比如没有商品主档时,品类未知,按最短的 90 天判呆滞。

订单交期那一个把缺数据的情形分得最细。缺交期的行,单独列为“未能判断”,其余行照算。欠数没填的,用订单数量减已发货数量算出来,并标明这个数是算的;表里的欠数和这个算式对不上时,两个数都显示,按大的那个判断要不要催。重复的行、下单日期晚于交期的行、样板单,只标出来,不替你删,也不替你改。

把缺数据当成没问题,等于告诉老板“一切正常”,其实只是没人看到。

计算交给程序,AI 读文字

数字和日期的计算,我们交给程序,按一张规则表算。应收那一个,账龄、逾期、先催谁、风险标签,都由程序按规则表算,同样的数据算两遍,结果相同。起算日、分段和排序权重,由你们的财务在规则页自己改。库存的呆滞天数,按品类由你们定。我们做的合同风险审查助手更明确:模型只读条款,分级由代码按规则表判定,同样的抽取结果得到同样的分级。

AI 的位置在读文字。合同条款、供应商发来的 PDF 和邮件报价,不是整齐的表格,程序没法直接算:合同那一个由模型读条款,我们做的供应商比价助手在正式交付时识别 PDF 和邮件里的报价。读出来之后进入规则表,由规则表给出结论。备注里的外发说法不用模型,订单交期那一个按规则页里可改的字样去认,每单附原文片段。这样每个结论都能追到依据:库存清单里每一条能点开,看到起算日、未动天数、占用金额的算式,以及出入库流水;比价的每个金额,折算过程每一步写明算式,可以手算复核。

规则变了,改规则表就行:订单交期的“3 天内”和外发字样,在规则页都能改,改了立刻重算。

结果交给人确认,先不写回

我们的小系统在结果这一端,统一留给人。应收那一个只出催款函草稿,页面上只有“复制”,没有“发送”,财务看过、改过,再用自己的邮箱或微信发出。订单交期那一个页面上没有发送和通知按钮,要催的单,由跟单自己复制出去催。库存那一个没有清货、降价、下采购单的按钮,也不写回 ERP。

供应商收款账户核验系统读 ERP 的供应商档案和待付款,对不上就先拦下,列出要回拨哪个号码、要补哪份材料,财务主管签署后才放行,档案仍由你们的人在 ERP 里改。

先不写回的原因是后果不同。读错了,重算一遍;写回错了,改动的是正式单据。在我们的方案里,项目分三层:先取数,再计算出表,最后才是确认之后写回。写回层要单独做权限校验、重复提交处理和中断恢复,单独验收。第一期只需要“把答案送到负责人手上”时,只做前两层就够用。分层怎样影响预算,见企业 AI 落地多少钱。

七步顺序:从选清单到决定要不要写回

下面是我们建议的顺序。周期取自几个小系统的产品页:约 2 周到约 6 周不等,看数据和要做的事。

  1. 选一份清单,写下一句话:谁在什么时刻看到什么、据此做什么。
  2. 列出最少要给的表,由 ERP 管理员导出近几个月的数据,或开一个只读账号。
  3. 读出来对账:核对条数、编号有没有重复,再和 ERP 已有报表比一遍。
  4. 抽几十条真实记录,和业务人员一起问字段含义,写出规则表:起算日、分段、哪些单据不算。
  5. 缺的、对不上的数据按“未能判断”显示,规则里写明各种缺法怎么处理。
  6. 在真实的业务周期里用两次,每次都拿程序的清单和人工做的结果对照,差在哪里就改规则。
  7. 清单连续几个周期都对得上,再谈要不要写回。

如果第一期要用大模型读文字,比如合同条款,我们建议开始之前和管数据的人(信息部门或 ERP 管理员)一起定下:哪些内容会送给大模型服务处理,数据存放多久,系统装在哪里。这几件事最好在导出第一张表之前就有答案。

想让我们看一看你的 ERP 和那份表

如果你已经想好了要先做哪一份清单,可以带着 ERP 的名称、那份表现在怎么做,以及想得到的清单来聊。部分项目可先免费诊断,入口在询价页。我们在杭州和墨尔本为制造和分销企业做 AI 落地。

作者:Nature(natureblueee)。

下一步

如果你的团队正在把 agent 放进真实业务,想了解 Flowness,或想聊企业 AI 落地怎么做,请在询价页写下行业和想解决的问题,我们按这些内容回复。 前往询价页