返回顶部
t

travel_subsidy差旅补贴处理

When the user uploads 发票.zip and 火车票.zip, use the included data tables to calculate eligible business-trip subsidy records, split related vs remaining files, create output workbooks, package two result zips, and report progress at every key step.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
246
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

travel_subsidy

差旅补助

仅当用户提供两个压缩包且名称完全为以下内容时,才使用此技能:

  • - 发票.zip
  • 火车票.zip

压缩包中包含:

  • - 发票/票据文件(.pdf、.jpg、.jpeg、.png、.webp)
  • 以及至少一个描述对应文件的结构化数据表

此技能计算哪些记录可用于支持出差补助,并生成两个结果压缩包。

目标

按以下步骤处理两个压缩包:

  1. 1. 将两个压缩包解压到专用运行目录中。
  2. 读取包含的结构化表格。
  3. 通过文件名或稳定的文件标识符将每个表格行与其对应文件进行匹配。
  4. 除非表格明显不可用或缺少必填字段,否则不要对文件进行OCR识别。
  5. 构建按时间顺序排列的差旅证据集。
  6. 推断差旅城市/路线信息:
- 对于火车票:直接使用提供的始发站/到达站所在城市字段 - 对于发票:从备注中推断城市 - 如果是住宿发票,从酒店名称中确定酒店所在城市 - 如果是机票相关发票,从备注中提取路线/城市信息
  1. 7. 确定哪些记录可以支持有效的出差补助申请。
  2. 将与出差补助相关的记录/文件放入一个文件夹。
  3. 将所有剩余记录/文件放入另一个文件夹。
  4. 生成两个压缩包输出:
- 压缩包1:出差补助计算表 + 出差补助相关文件 - 压缩包2:剩余文件 + 剩余信息整理表
  1. 11. 在每个关键节点向用户报告进度。

强制进度更新

您必须在每个关键节点向用户提供可见的进度更新。

至少发送以下更新:

  1. 1. 已收到发票.zip和火车票.zip,开始检查压缩包
  2. 压缩包检查完成,开始解压文件
  3. 解压完成,开始识别数据表和票据文件
  4. 已识别发票数据表与火车票数据表,开始读取结构化信息
  5. 结构化信息读取完成,开始建立文件与表格行的对应关系
  6. 对应关系建立完成,开始提取城市与行程信息
  7. 城市与行程信息提取完成,开始组装出差行程
  8. 出差行程组装完成,开始计算可报销出差补助
  9. 计算完成,开始拆分补助相关文件和剩余文件
  10. 拆分完成,开始生成出差补助计算表和剩余信息表
  11. 表格生成完成,开始打包输出文件
  12. 打包完成,准备回传结果
  13. 任务完成

如果处理大量行/文件,还需定期发送进度,例如:

  • - 发票信息处理进度:X / N
  • 火车票信息处理进度:Y / M
  • 行程组装进度:K / T

如果发生任何致命或部分失败,立即报告:

  • - 哪个步骤失败
  • 哪个文件或行失败
  • 是否仍生成了部分输出

输入验证规则

仅在两个必需压缩包都存在时使用此技能。

预期的确切文件名:

  • - 发票.zip
  • 火车票.zip

如果缺少一个压缩包,停止并明确告知用户。

除非用户明确说明哪个文件是哪个,否则不要猜测模糊的文件名。

工作目录规则

在{baseDir}/runs/下创建专用运行目录。

示例:

mkdir -p {baseDir}/runs
ts=$(date +%Y%m%d-%H%M%S)
run_dir={baseDir}/runs/travel-subsidy-${ts}
mkdir -p $rundir/input $rundir/invoicezip $rundir/trainzip $rundir/work $run_dir/output

切勿原地修改原始上传的压缩包。

压缩包提取规则

  1. 1. 将两个输入压缩包保存或复制到$run_dir/input/中。
  2. 解压:
- 将发票.zip解压到$rundir/invoicezip/ - 将火车票.zip解压到$rundir/trainzip/
  1. 3. 防止zip滑移/路径遍历。
  2. 忽略隐藏文件、临时文件、目录元数据和macOS垃圾文件。

结构化表格规则

每个压缩包预期至少包含一个结构化表格,例如:

  • - .xlsx
  • .xls
  • .csv

优先使用结构化表格而非OCR或原始视觉解析。

表格发现

对于每个压缩包:

  1. 1. 定位最可能的数据表文件。
  2. 如果存在多个表格,优先选择:

- 行数更多的
- 列名与文件名/文件标识符/备注/日期/金额/城市相关的
  1. 3. 如果未找到合适的数据表,停止并明确报告。

行到文件的映射

对于每一行,尝试使用以下一个或多个方式匹配对应的源文件:

  • - 原文件名
  • 文件名
  • 附件名
  • 文件路径
  • 唯一编号
  • 无扩展名的标准化基本名称

不要静默丢弃未匹配的行。
保留异常列表,用于:

  • - 找到行但缺少文件
  • 找到文件但缺少行
  • 重复的文件名映射
  • 模糊的映射

必需的源字段

通用输出保留规则

对于两个输出工作簿,尽可能保留源表中的以下关键字段:

  • - 文件名
  • 发票号
  • 销售方名称
  • 发票价税合计
  • 项目名称
  • 备注

如果源表使用不同的列名,将其规范化为上述输出列。

火车票表格

火车票表格预期提供或暗示:

  • - 对应文件名
  • 日期 / 出发日期 / 乘车日期
  • 始发站所在城市
  • 到达站所在城市
  • 备注或其他支持字段(如果存在)
  • 对于备注为差额退票或退票手续或其他相关关键词的,此类车票不应计入补助计算,而应记录在剩余集合中,并明确备注退票,不计入差补。

尽可能直接使用城市字段。

对于火车票,按如下方式规范保留字段:

  • - 文件名:匹配的源文件名
  • 发票号:如果存在车票号/订单号/唯一车票标识符,则使用;否则留空
  • 销售方名称:始终填写为火车票
  • 发票价税合计:保留票价/车票金额(如果存在)
  • 项目名称:填写为火车票
  • 备注:保留原始备注,并在需要时附加任何匹配/资格说明

发票表格

发票表格预期提供或暗示:

  • - 对应文件名
  • 发票号
  • 销售方名称
  • 金额 / 价税合计
  • 项目名称
  • 发票类型或票据类型或项目类别
  • 开票日期 / 日期
  • 备注
  • 酒店名称或项目文本(如果存在)

对于发票,必须按如下方式推断城市信息:

  1. 1. 如果是住宿/酒店发票:

- 从酒店名称确定城市
- 优先使用酒店名称或备注中已存在的明确城市名称
- 如果酒店名称包含明确的城市前缀,如上海...酒店,则使用该城市
- 如果无法确定城市,标记为未解决,而不是编造
- 请注意,入住日期应从备注中提取,而不是使用开票日期,因为发票可能在住宿后开具。

  1. 2. 如果是机票相关发票:
- 从备注中提取路线或城市信息 - 优先使用明确的航段文本,如南京-上海、上海至北京、MU5101 南京/北京 - 将提取的城市规范化为标准城市名称
  1. 3. 对于其他发票类型:
- 如果备注中明确包含差旅城市线索,则使用 - 否则保持城市未解决

城市规范化规则

将城市名称规范化为稳定的城市标签。

示例:

  • - 南京南、南京站、禄口机场 -> 南京
  • 上海虹桥、上海浦东、上海南 -> 上海
  • 北京南、首都机场、大兴机场 -> 北京

补贴标准的区级处理:

  • - 南京六合
  • 南京溧水
  • 南京高淳

这三个使用较低的补贴标准。

如果记录仅明确指示南京而不含区级信息,不要自动视为六合/溧水/高淳。

补贴资格的业务规则

应用以下补贴规则:

  • - 标准补贴:
- 南京市外:200元/天/人 - 南京六合、溧水、高淳:100元/天/人

证据规则

  1. 1. 当日往返
- 必须有同日出城和返程的证据 - 示例: - 同日的往返火车票 - 或表格中明确存在的其他同日往返证据 - 如果确定是当日往返,该日可计为一个

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 travel-subsidy-1776194560 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 travel-subsidy-1776194560 技能

通过命令行安装

skillhub install travel-subsidy-1776194560

下载

⬇ 下载 travel_subsidy v1.0.0(免费)

文件大小: 7.83 KB | 发布时间: 2026-4-15 10:33

v1.0.0 最新 2026-4-15 10:33
initial commit

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部