我用 C# 开发了一款电子发票自动整理工具
上个月,一个做财务的朋友跟我抱怨:
邮箱、微信、网盘里全是电子发票 PDF,有的还打成 ZIP。
月底入账就得一个个打开,抄号码、日期、金额……坐一下午是常态。
我下意识回了一句:「这玩意儿不就是解析 PDF、填 Excel 吗?」
朋友白了我一眼:「你说得轻巧。」
说完我就后悔了——因为我是写 C# 的,这句话等于给自己挖了个坑。
于是有了 发票助手 Pro:面向中小企业财务、外贸、代账场景的电子发票批量整理工具。
今天把从吐槽到上线的过程写下来,给同样被「重复劳动」折磨的人,也给对 .NET 桌面工具感兴趣的开发者。
一、问题不是「会不会转 Excel」,而是「适不适合你们的表」
市面上并不缺「PDF 转 Excel」。但财务真正要的往往是:
- 一次扔进整月压缩包,而不是一张张选文件
- 抽出能入账的字段(号码、日期、买卖方、金额、税额、明细)
- 填进公司已经在用的 Excel 模板,而不是再适应一款软件的固定表头
- 金额对得上——价税合计、明细加总、行内税率,错了要标出来
所以我从一开始就没把产品定位成「转换器」,而是:
企业发票自动整理工具 —— 解析引擎 + 标准数据模型 + 模板输出。
价值叙事很简单:
1000 张发票 → 批量解析 → 校验勾稽 → 套你们的模板 → 接近可入账的台账

二、为什么用 C# / .NET?
个人偏好和技术现实叠在一起:
| 选择 | 原因 |
|---|---|
| C# / .NET 10 | 我更熟,类型系统适合做票据规则与金额计算 |
| MAUI 桌面端 | 财务习惯本地跑、数据留在自己电脑 |
| PdfPig 抽文本 | 国内全电票多数带文本层,优先规则解析,成本可控 |
| 自研 Parser 路由 | 普票 / 地区版式 / 电商「甩值」布局差异大,要可扩展 |
技术上踩过的坑,比想象中「读个 PDF」脏得多:
- 有的票版面好看,文本层却是空模板 + 末尾甩值
- 买卖方公司名、税号可能粘在一行没空格
- 折扣行税额和税率会合成离谱的
38.5413% - 竖排「销售方信息」先于「购买方」,赋值顺序一反就「销售方空白」
这些不会出现在宣传页上,但决定了「能不能真的省时间」。
解析之后还有一层 金额勾稽:对不上的票在预览里标「异」,优先人工复核——软件负责提速,人不负责闭眼相信。

架构上大概是这样(开发者可略看):
PDF/ZIP
→ 文本提取
→ 票种检测
→ ParserRegistry(多 Parser 路由)
→ InvoiceInfo 标准模型
→ 金额校验
→ 默认 Excel / CSV,或自定义模板填充
授权与更新走国内服务(激活、版本检查),企业版支持离线场景——这是另一篇文章的事。
三、现在能做什么?
对用户侧,当前大致能力:
- 拖拽 / 选择 PDF,ZIP 批量解压再解析
- 电子发票(普通发票)等常见文本票解析
- 汇总 + 明细导出,专业版支持 CSV、自定义 Excel 模板 + 字段映射
- 预览阶段做金额勾稽,异常票优先复核
- 免费体验(每天有额度);个人版 / 专业版买断;企业年费
也提供 代整理服务:发票包发过来,整理成 Excel(也可按公司模板),适合月底实在没空自己跑的人。

四、写给同类开发者的几句实话
- 先服务,再软件也可以。早期用「代整理」收真实样本和反馈,比空想功能列表快。
- 中国财务更认买断。 个人/专业版永久,企业再谈年费,比硬推纯订阅省心。
- 规则解析有天花板。 扫描件、复杂版式后面要上 OCR;但文本票把规则做透,已经能覆盖大量刚需。
- 本地工具要过「信任关」。 安装包体积、更新、授权、售后话术,和解析准确率一样影响复购。
五、写在最后
这不是一个「改变世界」的项目,只是把一件月底反复发生的苦差事,变成几分钟的批量活。
若你是:
- 财务 / 外贸 / 代账,每月被电子发票折磨
- 或用 .NET 做工具型产品的同行
欢迎试试 发票助手 Pro,或把样本票发我聊聊场景。
- 下载试用:https://download.iqbiao.com
- 需要代整理、企业授权:后台留言「发票」
也欢迎转发——说不定你朋友圈里,就有一个正在对着 ZIP 叹气的人。
浙公网安备 33010602011771号