我用 C# 开发了一款电子发票自动整理工具

上个月,一个做财务的朋友跟我抱怨:

邮箱、微信、网盘里全是电子发票 PDF,有的还打成 ZIP。
月底入账就得一个个打开,抄号码、日期、金额……坐一下午是常态。

我下意识回了一句:「这玩意儿不就是解析 PDF、填 Excel 吗?」

朋友白了我一眼:「你说得轻巧。」

说完我就后悔了——因为我是写 C# 的,这句话等于给自己挖了个坑。

于是有了 发票助手 Pro:面向中小企业财务、外贸、代账场景的电子发票批量整理工具。
今天把从吐槽到上线的过程写下来,给同样被「重复劳动」折磨的人,也给对 .NET 桌面工具感兴趣的开发者。


一、问题不是「会不会转 Excel」,而是「适不适合你们的表」

市面上并不缺「PDF 转 Excel」。但财务真正要的往往是:

  1. 一次扔进整月压缩包,而不是一张张选文件
  2. 抽出能入账的字段(号码、日期、买卖方、金额、税额、明细)
  3. 填进公司已经在用的 Excel 模板,而不是再适应一款软件的固定表头
  4. 金额对得上——价税合计、明细加总、行内税率,错了要标出来

所以我从一开始就没把产品定位成「转换器」,而是:

企业发票自动整理工具 —— 解析引擎 + 标准数据模型 + 模板输出。

价值叙事很简单:

1000 张发票 → 批量解析 → 校验勾稽 → 套你们的模板 → 接近可入账的台账

95cdfbc7-edba-4fc3-9975-a3959d90cf27


二、为什么用 C# / .NET?

个人偏好和技术现实叠在一起:

选择 原因
C# / .NET 10 我更熟,类型系统适合做票据规则与金额计算
MAUI 桌面端 财务习惯本地跑、数据留在自己电脑
PdfPig 抽文本 国内全电票多数带文本层,优先规则解析,成本可控
自研 Parser 路由 普票 / 地区版式 / 电商「甩值」布局差异大,要可扩展

技术上踩过的坑,比想象中「读个 PDF」脏得多:

  • 有的票版面好看,文本层却是空模板 + 末尾甩值
  • 买卖方公司名、税号可能粘在一行没空格
  • 折扣行税额和税率会合成离谱的 38.5413%
  • 竖排「销售方信息」先于「购买方」,赋值顺序一反就「销售方空白」

这些不会出现在宣传页上,但决定了「能不能真的省时间」。
解析之后还有一层 金额勾稽:对不上的票在预览里标「异」,优先人工复核——软件负责提速,人不负责闭眼相信。

935917ae-f851-4561-9833-59c2dc851a11

架构上大概是这样(开发者可略看):

PDF/ZIP
  → 文本提取
  → 票种检测
  → ParserRegistry(多 Parser 路由)
  → InvoiceInfo 标准模型
  → 金额校验
  → 默认 Excel / CSV,或自定义模板填充

授权与更新走国内服务(激活、版本检查),企业版支持离线场景——这是另一篇文章的事。


三、现在能做什么?

对用户侧,当前大致能力:

  • 拖拽 / 选择 PDF,ZIP 批量解压再解析
  • 电子发票(普通发票)等常见文本票解析
  • 汇总 + 明细导出,专业版支持 CSV、自定义 Excel 模板 + 字段映射
  • 预览阶段做金额勾稽,异常票优先复核
  • 免费体验(每天有额度);个人版 / 专业版买断;企业年费

也提供 代整理服务:发票包发过来,整理成 Excel(也可按公司模板),适合月底实在没空自己跑的人。

6b5e1f80-e193-4079-a73a-5eff73c57eeb


四、写给同类开发者的几句实话

  1. 先服务,再软件也可以。早期用「代整理」收真实样本和反馈,比空想功能列表快。
  2. 中国财务更认买断。 个人/专业版永久,企业再谈年费,比硬推纯订阅省心。
  3. 规则解析有天花板。 扫描件、复杂版式后面要上 OCR;但文本票把规则做透,已经能覆盖大量刚需。
  4. 本地工具要过「信任关」。 安装包体积、更新、授权、售后话术,和解析准确率一样影响复购。

五、写在最后

这不是一个「改变世界」的项目,只是把一件月底反复发生的苦差事,变成几分钟的批量活。

若你是:

  • 财务 / 外贸 / 代账,每月被电子发票折磨
  • 或用 .NET 做工具型产品的同行

欢迎试试 发票助手 Pro,或把样本票发我聊聊场景。

也欢迎转发——说不定你朋友圈里,就有一个正在对着 ZIP 叹气的人。


posted on 2026-09-25 17:02  我是唐青枫  阅读(66)  评论(3)    收藏  举报