CIIP智能报销
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f62d5d31/syw646071870 到当前 AI 助手中。
技能介绍
报销流程里的两个具体痛点
填写《费用报销申请单》Excel 模板是一件重复且容易出错的体力活:手工汇总金额、把人民币小写换算成大写、逐行核对 14 列字段,稍有不慎就会出现合计与明细对不上的情况。与此同时,出差季的发票散落在邮箱附件里,翻找、归类、下载全凭记忆,月底对账时往往要重新翻一遍邮件。
核心能力与工作流程
Excel 报销单生成走的是启发式解析路线,不依赖任何 LLM:
parse_chat(text)把「费用类别:差旅、价税合计:xxx」这类半结构化聊天文本转成datadictgenerate(data, output_path)按 14 列模板程序化写入,自动计算合计并生成人民币大写金额data.basic里的英文字段名会自动映射成模板中的中文标签;所有格式(含公司抬头)均在代码中生成,无外部模板文件依赖
邮箱发票自动化通过 IMAP 连接邮箱,以自然语言指令(如「拉取本周发票」「下载所有差旅费发票」)完成附件的列表、计数与下载,支持 本周/上周/本月/最近 N 天 等时间词,并按差旅/交通/住宿/餐饮/办公/通讯 归档。
微信发票扫描(仅 macOS)在文件系统层面扫描微信聊天记录目录中的 PDF,用 pdfplumber 提取发票号码、日期、购销方名称、税号与金额,并通过「发票号码」「开票日期」标记过滤掉报销单等非发票文件。
适用边界与注意点
- 纯 Python 实现,缺少可选依赖时优雅降级:没有
openpyxl只影响 Excel 功能,没有imap-tools只影响邮箱功能 email_config.json中的auth_code是 IMAP 授权码而非登录密码,该文件包含敏感凭据,不应提交到版本库- 163/126 邮箱的「SELECT Unsafe Login」问题已在代码内修复:检测到对应 provider 时会切换到原生
imaplib路径,登录后发送 IMAP ID 命令 - 微信扫描只能看到 PDF 文件本身,无法判断发票来自哪个聊天会话,因为微信消息数据库为 WCDB 加密,标准 SQLite 无法读取
- 公司抬头需在
reimburse_engine.py中修改约第 207 行的字符串,硬编码在引擎内部
使用场景
- 出差回来要批量拉取本周邮箱里的发票附件,按差旅类别分别下载归档
- 口头向同事报备了费用明细,需要立刻填入14列Excel报销单并自动算合计
- 在Mac上从微信聊天记录里翻找散落的电子发票PDF,提取票号和金额做汇总
- 团队要求按统一模板批量生成多份报销申请单,通过JSON传入明细数据
适合人员
- 经常出差的销售人员,每月需从邮箱翻找发票并手工填写报销单
- 负责为同事批量录入报销信息的财务助理或行政专员
- 希望用Python脚本替代手工填表、有一定编程基础的办公自动化开发者
- 在Mac上办公、习惯从微信聊天中接收电子发票的项目经理或顾问