Back to skills
extension
Category: OtherNo API key required

直播凌晨场补贴点餐报销

直播凌晨场补贴点餐报销:验票、一人一文件夹、MD5去重。Use when 用户发凌晨场补贴发票做报销。

personAuthor: user_9e99a1cahubcommunity

直播补贴报销(凌晨场/流量场点餐)

触发

用户发「抖官凌晨场补贴-王灏晨」「抖音流量场补贴-郑懿+王瀚晨」这类补贴的发票PDF + 小票/外卖订单截图,要求做报销文件、建文件夹、登记明细、做表格。

核心事实(2026-08-12 首单沉淀)

  • 抖官凌晨场补贴 = 点餐报销(发票实报实销):发票全是餐饮夜宵(罗森/麦当劳/金拱门),单笔约 22-52 元。与「凌晨班补贴 = 场控100/主播300」是两码事(考勤补贴 ≠ 点餐报销),勿混淆。
  • 已核实商家→税号映射(2026-08-12 验票实战):罗森/成都锦座商业管理有限公司 = 91510108MABQHJQR12(发票号前缀 2651200000…,开票人罗凤仙);麦当劳/四川金拱门食品有限公司 = 91510100716021958W(发票号前缀 2651700000…,开票人温燕莉)。抬头一律成都分公司 91510104MAE1APB069。金拱门发票=餐饮+配送两个分项,价税合计=两项含税和(如 20.25+1.22 + 6.16+0.37 = 28.00)。
  • 一人一专属文件夹桌面\报销文件_日期\姓名-补贴类型\(例:王灏晨-抖官凌晨场补贴\),发票PDF + 小票/订单截图 + 明细xlsx 全放里面。用户明确「专门就是他 全部都是他的」——绝不合并多人,一人一表一夹。
  • 数据源 = 用户发的发票,不是考勤/打卡数据! 用户纠正过「不是 我给你发票的」——不要自己去查考勤/打卡推算补贴笔数,等发票。
  • 表格格式(用户给的类型参照):日期 | 描述(补贴类型-姓名) | 数量 | 金额,每笔一行,末尾合计行。
  • 链接处理:原件列相对路径超链接「点击查看原件」,发票放同目录,整个文件夹拷走不丢链(与 invoice-reimbursement 同款)。

流程

  1. 验票(每张发票必做):读PDF提取 发票号 / 开票日期 / 购买方抬头(默认成都分公司 91510104MAE1APB069)/ 价税合计。验证 价税合计 = 小票实付金额(罗森:不含税+税额;金拱门:餐饮+配送分项求和)。
  2. MD5去重:用户会重发相同文件(同名不同时间戳,如 172410 vs 1724123.pdf vs 原名)→ 对PDF和小票截图都算MD5比对,相同 = 同一张票/同一张图,删副本不重复登记
  3. 归置文件:发票PDF命名 商家_发票号_金额.pdf;小票/订单截图命名 商家_消费日期_金额.jpg;同名清晰版截图直接覆盖旧图(避免堆多版本)。
  4. 登记日期按消费日(凌晨场夜宵消费时间 00:00-08:00),不是开票日(发票常滞后 1-3 天开)。
  5. 每笔登记后同步进度表(# / 日期 / 商家 / 发票号 / 金额 + 小计),等用户继续发下一张。
  6. 全部收齐后做正式报销明细(双sheet模板见 invoice-reimbursement 技能)。

正式明细生成(17列 + DISPIMG + 相对路径链接)

沿用 invoice-reimbursement 的 17 列结构(序号/开票日期/凭证类型/发票号码/销售方/费用项目/行程/乘机人/出发日期/订单号/不含税/税额/价税合计/发票影像/原件/费用性质/备注)。生成路径:openpyxl 建表 → zip 手术注入 DISPIMG(详见 wps-xlsx-advanced)。

⚠️ DISPIMG 注入必查重复单元格(2026-08-12 实战踩坑)

  • openpyxl 生成的空单元格是 <c r="N6" s="7" t="inlineStr"></c> 形式(inlineStr + 空体),不是自闭合 <c r="N6"/>
  • 替换正则若只写 <c r="{ref}"[^>]*/> 匹配不到 inlineStr 空壳 → 公式被追加到行尾而非替换 → 同一行出现两个 r="N6" → WPS 取错值/渲染异常。
  • 修复:替换正则用 <c r="{ref}"[^>]*>.*?</c>|<c r="{ref}"[^>]*/>(re.S),覆盖 inlineStr/空体/自闭合三种形式,sub(..., count=1)
  • 验证:解包后 sx.count(f'<c r="N{r}"') 每行必须 == 1;DISPIMG 公式 ID 集合 == cellimages.xml 的 ID 集合;media 图片数 == 行数。

交付前四重验证

  1. 数值闭环:Σ不含税 + Σ税额 = Σ价税(如 459.67+8.33=468.00)
  2. 超链接全部相对路径(target 不含 file:/// C:/ http)
  3. DISPIMG 公式数 == cellimages 图片数 == 数据行数
  4. 合计行 SUM 公式范围 = 数据行(WPS 打开自动算,勿跑 soffice 重算交付文件) 大写金额与 Σ价税 一致(肆佰陆拾捌圆整 ↔ 468.00)。

坑(2026-08-12 实战)

  • 用户会中途插话纠正方向(「这个是报销」/「我给你发票」/「专门就是他」)→ 跟随最新指令,别按旧假设继续跑。
  • 同一笔交易可能发多张截图(订单详情不同页面)→ 截图也要 MD5 对比,相同跳过。
  • 金额口径待确认项:王灏晨曾私聊「凌晨场补贴是23」(2026-08-09,含义未定)——报销目前一律按发票实报实销,不按口报标准金额。
  • 交付用 MEDIA: 路径;中文名附件聊天里点可能打不开 → 提示用户从桌面直接打开。
  • 公共发票图片目录沿用 报销文件\发票图片\;专属文件夹放用户点名的那个人的全部原件。

关联技能

  • invoice-reimbursement:最终双sheet报销单(DISPIMG内嵌图/待开票清单)——本技能是它的输入侧(收票→验票→归置→登记)。
  • attendance-master:凌晨班补贴计算(100/300口径)——与点餐报销区分开。