财务Windows 应用
发票税号核对小工具
批量核对发票抬头和税号是否一致,重复发票、错位税号一眼挑出来。
这是什么问题
每月收到几百张电子发票,抬头错字、税号错位、重复开具时有发生。肉眼比对慢,漏掉就要换票。
解决办法
本地工具:导入发票明细,按抬头+税号比对公司维护的"标准抬头表",标出不一致或重复,方便一次性退回补开。
成品效果
- 导入"发票明细 Excel"和"标准抬头表",几秒出结果。
- 红色:抬头/税号对不上;橙色:重复开具;绿色:通过。
- 点行可看差异高亮(哪几个字不一样)。
- 一键导出问题清单,附建议处理动作。
示例输入字段
复制提示词前,可以把你的 Excel / CSV 表头改成这些名字,或把真实表头一起贴给 Codex。
订单号金额交易时间摘要/备注状态
现成提示词
你是一名擅长本地桌面小工具的资深工程师。用户是公司财务,关注业务结果和操作体验。
【目标】
批量比对发票抬头/税号与公司标准表,挑出错误与重复。
【平台与技术】
- Windows + macOS 桌面应用;Electron + React + TypeScript;SheetJS
【核心功能】
1. 两个导入位:发票明细 Excel、标准抬头表 Excel。表头自动识别,关键字段从下拉框选。
2. 核对规则:抬头完全匹配 + 税号完全匹配 = 通过;任何一项不匹配 = 标红;同一发票号出现多次 = 标橙。
3. 结果表格按颜色分组;点行展开"差异详情",逐字符高亮不同。
4. 顶部统计:通过 / 不匹配 / 重复 / 总数。
5. "导出问题清单"按钮,附"建议动作"列(换票 / 联系开票方 / 已重复,请退回)。
【约束】
- 全部本地处理,数据不上传外部服务。
- 缺真实数据时先造脱敏 sample-data,不等用户提供文件才开工。
- 不引入不存在的 npm 包;不确定时先查 npm view。
- 不写死 API Key、绝对路径、个人邮箱或内网地址。
- 输出不覆盖原文件,冲突加时间后缀。
- 同一问题 3 次失败 → 降级边缘功能,先交付主流程。
【交付】
1. 搭建 Electron 框架,实现两个 Excel 导入和表头识别。
2. 完成比对规则引擎、颜色分组和差异高亮。
3. 实现统计卡片和问题清单导出,打包 .exe,附使用说明。
验收清单(全部通过才算完成):
□ 双击启动,第一屏是主工作台
□ 导入两张 Excel 后比对结果正确
□ 不匹配项逐字符高亮差异
□ 导出问题清单含建议动作列
□ 路径含中文/空格时正常工作
本地处理;桌面工具风格;中文沟通。
【高质量交付补充】
若上文要求等待确认,改为:≤8 行摘要后直接实现、运行、修复、验证;只因真实文件、账号、证书或不可逆操作停下。
【桌面交付契约】
- 交付本地可运行应用,不是方案;第一屏就是主工作台。M1≤15 分钟先出可启动窗口+示例数据/试用模式,M2 接通真实主流程,M3 补异常/UI/隐私,M4 测试+打包+文档。
- 没有用户真实文件时,先创建贴近业务的脱敏 sample-data 并继续推进。
- 每个里程碑卡住时的降级策略:M1 卡住 → 换更简单的实现方式先出窗口;M2 卡住 → 先跑通核心 3 步,边缘路径后面补;同一问题 3 次失败 → 降级或禁用边缘功能,先交付主流程。
- 每次汇报≤6行:完成、验证、跳过原因、下一步+预计时间,让进度清楚。
- 用业务语言写按钮、错误和说明;支持拖拽+系统打开/保存;空/错格式/取消/无权限/大文件/重名冲突都友好处理,不暴露堆栈。
- 路径兼容中文、空格、括号、长路径和 Windows/macOS 分隔差异;Windows 快捷键用 Ctrl/Alt,macOS 用 Command/Option。
- 默认离线、本地处理;不覆盖原文件;不写死密钥、绝对路径、个人邮箱或内网地址。
- 项目分层:desktop shell / controlled API / UI / core / tests / sample-data / docs;IPC 白名单化,UI 不直接执行本地命令。
- 真实接线:导入、预览、生成/保存、导出、错误状态都可用;不把 TODO、空函数、未用大组件或假数据当完成。
【DoD / 停止 Vibe Coding】
完成标准(逐条检查,全部通过才停手):
□ 能启动;示例数据跑通真实主流程并产生产物
□ 异常路径友好(空数据、错格式、取消、重名冲突 → 不闪退)
□ lint/typecheck/test/build 通过
□ 已用 sample-data 完成 启动 → 主流程 → 导出/保存 烟测,并记录结果
□ 有 setup/dev/package 脚本、README、使用说明、已知限制、示例数据
满足即停,新想法写 v2;同一 bug 3 次失败就降级或禁用边缘功能,先交付主流程。拿到提示词之后
1
打开 Codex 桌面版,新建一个任务
2
把提示词整段复制,粘贴到对话框里发送
3
让 Codex 实现、运行、验证,再改公司名、字段名和按钮文字