财务Windows 应用
月度订单对账小助手
把订单表和银行流水自动按订单号比对,对不上的挑出来,对账从两天压到一小时。
这是什么问题
每个月财务都要拿平台订单导出,和公司银行账户的流水做对账。几百上千条数据,手动 VLOOKUP 很容易漏。对不上的订单要一个个打电话核实,常常要加班。
解决办法
做一个本地小工具:把两张 Excel 拖进去,点一下"开始对账",软件自动按订单号比对金额。对得上的打勾,对不上的单独列出来,标注差异金额和可能原因。整个过程几秒钟就够。
成品效果
- 一个简洁的 Windows 桌面软件,双击图标就能打开。
- 首页两个大按钮:「导入订单 Excel」「导入银行流水 Excel」,也支持拖拽。
- 导入后自动预览表头,让你确认字段没选错。
- 点「开始对账」显示进度条;完成后列出匹配数、差异数、总金额。
- 底部「导出差异明细到 Excel」按钮,文件名自动带上月份。
- 全部在你电脑上跑,数据不会发到网上。
示例输入字段
复制提示词前,可以把你的 Excel / CSV 表头改成这些名字,或把真实表头一起贴给 Codex。
订单号金额交易时间摘要/备注状态
现成提示词
你是一名擅长 Windows 桌面软件的资深工程师。请帮我做一个本地运行的 Windows 桌面小工具,目标用户是电商公司的财务人员,关注业务结果和操作体验。
【目标】
解决财务每月手动对账花 1-2 天的问题。财务只需点几下按钮,就能自动完成订单与银行流水的对账,并导出差异明细。
【平台与技术】
- 平台:Windows 10 / 11 桌面应用
- 框架:Electron + React + TypeScript
- 表格处理:SheetJS
- 不需要服务器,不需要联网,纯本地运行
- 交付时打包成 Windows .exe 安装包
【核心功能】
1. 首页两个醒目按钮:「导入订单 Excel」「导入银行流水 Excel」,支持拖拽。
2. 导入后自动显示表头和前 5 行预览,让用户从下拉框里选「订单号」「金额」「交易时间」「备注」字段。记住选择下次默认回填。
3. 示例字段兼容:订单表常见列「订单号 / 实付金额 / 下单时间 / 店铺」;银行流水常见列「交易单号 / 收入金额 / 交易时间 / 摘要」。列名可有细微差异。
4. 「开始对账」按钮显示进度条。匹配逻辑:订单号去空格后作为主键;金额差 <= 0.01 元视为匹配;重复订单号要合并提示;退款 / 冲正流水单独标记,不直接当异常。
5. 结果页两栏:左边展示匹配数、差异数、匹配率、总金额;右边表格列出每一条差异,字段包括订单号、订单金额、银行金额、差额、可能原因(金额不一致 / 银行流水缺失 / 订单缺失 / 重复订单 / 疑似退款)。
6. 「导出差异明细到 Excel」按钮,默认文件名 "差异明细-YYYY-MM.xlsx"。
7. 全部离线,数据不上传。
【界面风格】
- 简洁桌面工具风:浅色背景、清晰分区、圆角 8、信息密度适中。
- 主按钮用低饱和深色,次要用浅灰。
- 支持跟随 Windows 的深浅模式。
- 字体使用系统默认(微软雅黑 / Segoe UI),不用联网字体。
【稳健性】
- 文件格式不对时,弹出友好的中文提示,不要直接扔技术错误。
- 字段识别失败时引导手动选择,不要崩溃。
- 支持几万行数据;超过 10 万行分批处理并显示进度。
- 附带 3 个脱敏测试样例文件:完全匹配、金额差异、重复订单 + 退款流水,方便新用户一打开就能跑通。
【约束】
- 全部本地处理,数据不上传外部服务。
- 缺真实数据时先造脱敏 sample-data,不等用户提供文件才开工。
- 不引入不存在的 npm 包;不确定时先查 npm view。
- 不写死 API Key、绝对路径、个人邮箱或内网地址。
- 输出不覆盖原文件,冲突加时间后缀。
- 同一问题 3 次失败 → 降级边缘功能,先交付主流程。
【交付】
1. 摘要需包含主界面安排和关键文件职责。
2. 每完成一个模块就运行验证一次,发现问题先自行修复。
3. 打包成 Windows .exe 安装包;写 500 字中文使用说明;列出已知限制。
验收清单(全部通过才算完成):
□ 双击 .exe 启动,第一屏是导入界面
□ 拖入两张示例 Excel → 自动预览表头 → 选字段 → 对账 → 差异标红
□ 导出差异明细 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 实现、运行、验证,再改公司名、字段名和按钮文字