项目案例

结算单自动识别开票台账

每天早上自动读取 26 家客户通过邮件发来的结算单,生成包含开票对象和金额的台账。无需再逐封打开邮件、下载附件、誊录金额,人工只需点击开票按钮。

从结算单核对到税务发票开票台账

之前

一人一整天

之后

1小时

结算单——税务发票开票台账界面。顶部白色标题栏左端有一处模糊处理,紧接着是加粗黑字标题「结算单——税务发票开票台账」。右侧依次为已选择「2026-07 销售」的期间下拉框、蓝色填充的「全部」筛选按钮、仅标签做了模糊处理的一组长筛选按钮、「刷新」按钮及查询时间。下方纵向排列四张判定卡片,每张卡片左侧带有色条。第一张为「需人工确认 1」,遮挡的公司名后注明原因「— 负数结算,错误」。第二张为「无需开票 4」,四行遮挡的公司名后均标有「0元」。第三张为「中断两个月以上 2」,分别为「9个月无消息(最近为 2025-10 销售)」和「2个月无消息(最近为 2026-05 销售)」。第四张为「2026-07 销售尚未收到 1」,注明「1个月无消息(最近为 2026-06 销售)」。

为保护客户信息,画面以模拟数据重新构建了相同功能。

客户
自有服务
行业
内部系统
实施年份
2026
周期
开发 2 周 · 2026.08 上线 · 运营中
领域
业务自动化
  • 邮箱只读访问
  • Excel 读取
  • 格式自动识别
  • 金额复核
  • 独立工具交叉核对
  • 定时自动运行

背景

每到月初,同样的工作就会重复一遍。

登录邮箱,逐封找出客户发来的结算单,下载附件,打开 Excel, 逐项誊录金额,再根据整理好的数据开具几十张税务发票。 这项工作需要一个人花上一整天才能完成。

而且结算单并不统一。26 家客户各自使用自己的格式制作 Excel 发来。 格式大致分为四类,同一项目的名称和位置各不相同,有一类格式里甚至没有「供货金额」这个词。

而从中提取的金额,会直接用于开具税务发票。

问题所在

程序运行正常,结果却可能是错的。

  • 错误的数字也会被照常汇总。 即使把 26 家客户的 Excel 集中到一个页面上, 其中的数值是否正确,并没有任何提示
  • 不会报错,因此发现得更晚。 金额错了一格,页面上不会标红, 只有逐一打开 Excel 对照才能发现
  • 而这些金额会直接用于开具税务发票。 一旦出错开出,就会产生滞纳罚款, 更正时还需重新开具红字发票

我们找出这些隐患,把每月需要人工反复核对的工作交给系统。 因此,目标不只是「汇总」,而是「一并核实数据是否正确」。

解决方案

  • 已处理邮件的处置方式由贵公司选择 —— 标记为已读、移至指定文件夹,或不做任何改动。 默认为「不做改动」。 即使读取了正文,邮件仍保持未读,不会被删除或移动。 这样负责人可以照常使用自己的邮箱,同时开始试用系统,需要调整时再修改即可
  • 无论有几种格式,系统都能自动识别 —— 26 家客户的格式分为四类。 如果只能识别其中一类,其余客户的数据就会悄无声息地变成 0 条
  • 提取的金额再由另一个程序复核 —— 读取金额与核对金额分别由不同程序完成。 核对程序实际打开 Excel,直接获取负责人在页面上看到的数值进行对照。 我们选择多加一道保障
  • 每天早上 07:30 前处理完毕 —— 结算单不会在每月 10 日集中送达,而是在 1 日至 9 日陆续发来, 因此系统每天运行。夜间如有任何环节中断,会显示在早上 8 点发出的那封邮件中
  • 每次修改后都会重新运行 16 项自动测试 —— 不会因为改动一处而悄悄影响另一处

页面看似正常,金额却出错的地方

只要是从客户那里接收结算单的公司,都可能遇到以下情况。

  • 一个小数点,就会让供货金额、增值税与合计对不上。 有些客户以小数形式填写金额, 这类结算单中供货金额加增值税的结果与合计不一致。 首次全面检查时,427 份中有 76 份存在这一问题。 我们会在每份结算单到达时逐一重新复核。因此在贵公司,金额有误的税务发票不会进入开票环节。
  • 客户发来的 Excel,在程序中显示为空白。 确实有这样的文件:用 Excel 打开时金额完好, 程序却读取不到。结果只有这家客户的数据悄无声息地变成 0 条。 而且在人眼看来,文件完全正常,即使负责人打开检查,也发现不了问题。 对于读取失败的文件,我们会调用电子表格程序重新计算后再读取。 因此在贵公司,不会出现「这家客户这个月大概没发」而被忽略的情况。
  • 存在重复开票的风险。 客户重新发送结算单时,负责人标记的「已开票」状态会被清除, 既不报错,也没有警告。 对于负责人已标记为「已开票」的记录,我们保留其状态,仅更新金额。 因此自动采集不会覆盖贵公司负责人作出的决定。

发现的问题

导致开票出错的不只是计算。以下情况都会造成开出不该开的发票,或漏开应开的发票。

  • 会收到金额为负数的结算单。 这表示将在下月冲抵,如果按正数读取, 就会开出本不需要的发票。现在这类结算单会单独归为「无需开票」
  • 「无需开票」的说明只写在邮件正文中,而不在 Excel 里。 只读取附件的系统会漏掉这一信息,因此我们也会读取正文内容
  • 某家公司发来的文件中,写的是另一家公司的名称。 如果以文件内的名称为准, 其他公司的金额就会被计入贵公司的金额。公司识别仅以文件名为依据
  • 有的客户邮件不进收件箱而进入其他文件夹,也有结算单被归入垃圾邮件。 只查看收件箱的话,这些客户就会显示为「两个月无消息」。 但如果读取整个垃圾邮件箱,陌生发件人的附件也会进入台账。 现在系统只查找预先登记的客户邮箱地址。 未登记地址发来的附件,不会进入贵公司的开票台账

结果

邮件一到,开票台账即自动填写,其中的数值每次都会经过核对。 对 2026 年 7 月的 46 份结算单用电子表格程序逐一打开对照,不一致为 0 份。

以往需要一个人花一整天的工作,现在 1 小时即可完成。 打开邮件、识别 26 家客户的四类格式、 提取金额、复核、由另一个程序交叉核对,直到填好向谁、开多少、何时之前开具的台账, 每天 07:30 前全部完成。负责人只需点击开票按钮。

需要关注的内容也由系统筛选出来。含负数结算或错误的记录单独列出, 两个月以上没有消息的客户也会一并提示。每月无需再凭记忆确认「这个月是否都到齐了」。

对贵公司而言

凡是通过邮件接收结算单、明细单或账单,并据此开具税务发票或账单的公司,都可以直接套用。 无论客户是 26 家还是 3 家,都可以采用同样的架构。 各家客户格式不同、金额带小数、有的只在邮件正文中写明条件——这些我们都已遇到并解决。 留给负责人的,只有确认后点击开票按钮。

同一主题的其他项目,请见数据分析。

我们用于公司日常运营的其他系统,请见内部运营自动化。