合同信息提取与台账管理,让合同到期不再靠人记

很多公司的合同台账是一张越用越乱的表格,到期靠人翻文件,提出来的信息没出处,三个月后没人敢签字。这篇讲合同信息提取该抽哪些字段、抽不准怎么校验、台账字段怎么分类,落到最容易出事故的节点提醒上,续约窗口、付款日、变更失效各怎么分档,另附版本挂接、审计留痕,以及这套流程不做的几件事。

分类 项目案例 · 作者 灵动RPA

年底总有人来问,谁负责跟对方确认续签

合同台账自动跑起来的三段流程:提取三步归一抽取校验、台账字段分三类、提醒按到期前付款节点变更失效分档、两处必须留给人
提取、台账、提醒三段怎么接,以及哪些情况机器不能自己决定

每到年底,总有人抱着一份表格来找法务或者行政,问哪几份合同快到期了,该谁去跟对方谈续签。

这份表通常叫合同台账。几百行,一行一份合同,填着对方名称、金额、起止日期、付款方式。它是从最初那个只有五个列的版本一路改过来的,中间加过两次列,早期那批合同只填了金额和日期,付款方式和附件位置一直空着。

表乱是明面上的事,乱还能靠人翻。真正麻烦的是三处翻不动的地方。

第一处,到期这件事挂在人身上。台账里写着日期,但没人会定期打开它。提醒靠的是某个人在某个月想起来,然后去群里问一圈谁负责。

第二处,一份合同不是一个文件。主协议、补充协议、变更单、报价单、盖章扫描件,分散在法务的文件夹、采购的邮件和共享盘的不同目录里。台账上那一行只有一行,对应的是一堆东西。

第三处最隐蔽。表里的信息是抄上去的,抄的时候没留出处。三个月后再看到一行写着年付、预付三成,没人说得清这三成是从哪份补充协议里来的。台账变成了一份看起来齐全、实际无人敢签字的记录。

想把这件事做成能自动跑的流程,难点就在这三处。合同信息提取解决后两处,节点提醒解决第一处。下面按这个顺序拆。

提取什么,比怎么提取更要先想清楚

合同关键信息提取这个活儿,容易走偏的地方是一上来就想着把所有字段都抽出来。字段列了五十个,真正能直接驱动流程的不到十个,剩下的全靠人补。抽了等于没抽。

先按用途倒推。一份合同要在这张表里活下来,至少要能回答四个问题。

它跟谁签的。对方全称要跟营业执照或者系统里的名称一致,短名、简称、错别字都会让后面的对账和付款找不到人。

它什么时候生效,什么时候失效。起止日是提醒的唯一依据,起止日错一天,到期提醒就整个错一个月。

钱怎么付。付款方式和付款节点要拆开,付款方式是预付、货到付款还是月结,付款节点是签约后七天内还是验收后三十天。这两个混在一个字段里,提醒就发不出去。

它归谁管。责任人和责任部门是提醒能落地的前提,没有这个字段,提醒就是一张发给全员的公告。

这四组是骨架,其余是血肉,金额、税率、合同编号、附件位置、变更记录、备注。骨架稳了,血肉可以慢慢补。骨架错了,后面跑得越快错得越多。

提取这一步,异常比成功多

合同不是标准化表单。同一份合同里可能夹一张手写补充页,金额用大写小写各写一遍,日期用三种格式。这些情况在设计流程的时候必须当成常态,不能当成意外。

处理办法通常分三层。

先做格式归一。附件进来的第一步转成可检索的文本,扫描件走 OCR,图片走图片识别。这一步会出错,所以输出的东西一律标记为待确认,不直接落库。

再做字段抽取。归一后的文本按合同类型分别抽,抽出来的东西带出处,标出它来自哪份文件的第几页、第几段。这一步是合同台账自动化和手工抄录的分界线。没有出处的字段,抄进表里和不抄没有区别。

最后做校验。能用规则挡住的都在这一层挡。金额算术对不上,起止日顺序反了,付款节点早于生效日,同一份合同编号在台账里出现两条,这些直接标红。人看一眼就知道哪儿不对,不用等到提醒发不出去才发现。

校验过了的字段才落库,落库时同时写进一条抽取记录。谁抽的,什么时候抽的,用的是哪一版文件。

台账的字段,宁少勿多

台账字段设计这件事,容易做成另一张表格的翻版,几十列填不满,最后没人填。

分三类看。

自动生成的那一类。抽取日期、原文链接、抽取版本号,人不用看。

自动落库但需要人确认的那一类。金额、日期、对方名称、付款方式。这几项是台账的骨干字段,它们错了,后面所有自动动作都错。

必须人填的那一类。责任人和责任部门。这一项在很多方案里被省掉,省掉之后提醒就退化成广播。

另外要有三个状态字段,它们决定台账怎么动。生效状态、终止状态、归档状态。合同签了没签、生效了没生效、是不是被变更协议替换掉了,都靠这三个字段表达。少了它们,台账只能存历史,驱动不了动作。

最后留一列人工备注。这列看着最没用,实际最省事。所有机器判断不了、规则拦不住、又懒得另开一列写的情况,都塞进这一行。

到期与付款节点提醒,最容易出事故

前面几段做的是台账准不准,这一段做的是准了之后动起来会不会出事。这是整条链路里最容易出事故的地方。原因很简单,提醒一旦发出去,就等于对外做出了承诺。

合同到期提醒要按节点分档,不能一个倒计时走天下。

到期前提醒,续约窗口和终止通知是两回事。签之前要有内部审核期,续签往往要提前一两个月准备,把提醒压在到期前一周发,前面的准备时间全没了。

付款节点提醒,要早于实际付款日。这条最容易漏,因为付款一般有人盯着。不盯反而是提醒在起作用。提醒里要写清楚这期的金额、依据哪一条、付给谁。

变更失效提醒。一份合同被补充协议替换了,旧版本的到期日要作废,否则台账里两行都有效。

每一档提醒都要定三件事,提前多久,发给谁,除了他还抄送谁。只定提前多久是最常见的做法。定不下来的时候干脆不设提醒,比设一个没人看的提醒安全。

第二个容易出事故的地方,是提醒发出去之后没人接。

一条提醒如果只发出去就结束,等于没有。接收人需要能直接看到源合同的链接、这次要确认的具体事项、一个明确的操作按钮。做不了操作按钮,就至少给一个固定的回复方式,收到回复之后台账里对应字段自动变更。

再往前一步,逾期要升级。第一次提醒没人回,不要假设对方看到了,第二次提醒抄送上级,第三次自动把合同状态改成待处理,并且停掉后续的自动动作。这条规则写清楚,比把催人的频率调高有用。

还有一条容易被忽略的规则,提醒发出之前先自己核一遍。金额和付款方式对不上,附件缺页,起止日和台账里的不一致,这三种情况下的提醒是错的,发出去比不发更糟。系统要能在发之前拦住自己。

版本和附件,挂在主合同下面

前面提过,补充协议、变更单、报价单、盖章件散在各处。整理的办法是给它们定一个层级。

主协议一条记录,是根。补充协议和变更单各自一条记录,指向主协议的合同编号,并且带上自己的生效日。扫描件和报价单不进台账,只挂在记录上的附件位置里,命名带上合同编号和日期。

有生效期的变更才改字段。签了字但没写生效日期的补充协议,标成待生效,不覆盖主协议的金额和期限。

这一层结构是合同信息提取和合同台账自动化能不能长期跑下去的分界。层级清楚了,主协议到期,底下所有子记录跟着归档。层级不清楚,台账三年之后就是一堆没人敢动的行。

每一行都要能回溯到原件

审计留痕这件事,做起来是加字段,用起来是加约束。

字段上加三样。台账每一行记录最后修改的时间和修改人。每一个关键字段记录抽取来源,精确到文件和段落。提醒的每一次发出、每一次回复、每一次状态变更都留一条记录。

约束上有一条硬要求。台账里的任何一个数字,都要点得开看到原文那一页。做不到这一点的字段,宁可空着让人填,也不要让机器猜。空着的字段有人补,猜错的字段会跟着流程走很久才被发现。

另外台账要做快照。做一版只读的归档数据,按月或者按季度存一份。活表永远在改,争议发生的时候需要能回到当时的状态。

这套流程不做什么

把边界划出来,后面少很多扯皮。

它不判断合同条款写得对不对,那是法务的事。它只做信息搬运和提醒。

它不替人确认。提醒到位之后确认的动作留在人手里。除非某几类通知的回复是标准格式的,比如同意续签这种,才做成自动回写。

它也不处理只有纸质原件的合同。这类合同要先解决归档问题,归档没解决之前,接进流程只会得到一堆空字段。

它更不解决系统之间对账的问题。合同台账准了,付款那边的账对不上,那是另一件事,边界要分清。

最后一句实话。合同这件事上省下来的时间,多半是从翻文件里省出来的,从等审批里省不出来。指望接进来以后审批就变快,这个预期要放平。

合同台账和节点提醒的具体做法,下面几篇有更细的拆法。

延伸阅读