| name | byted-sol-excel-bill-discount |
| description | 账单Excel折扣处理工具,自动生成标准合规的账单折扣总览透视表,包含日期格式化、聚合计算、格式设置、总额验证,生成的XLSX文件无Excel修复提示。 |
| use_cases | ["收到账单Excel文件需要生成汇总透视表","需要对账单数据进行格式化和汇总","用户提到\"账单总览\"、\"账单透视\"、\"Excel账单处理\""] |
| dependencies | ["pandas","xlsxwriter","openpyxl"] |
Excel账单处理工具
功能说明
自动处理上传的账单Excel明细表,生成符合格式要求的"账单折扣总览"透视表,严格遵循指定的格式、数据保留、验证规则,生成的文件无Excel修复弹窗,兼容Excel 2016+。
使用方法
当用户上传账单Excel文件并要求处理时,直接调用本技能的处理脚本,传入输入文件路径即可:
python ~/.openclaw/skills/byted-sol-excel-bill-discount/process_bill.py <输入文件路径>
处理规则(严格遵循)
1. 工作表要求
- 新建"账单折扣总览"透视表,放在最左侧位置
- 完全保留原工作表所有内容和格式
- 原工作表日期字段格式化:
- 账务账期、业务账期 → YYYY-MM格式
- 账务日期 → YYYY/MM/DD格式
- 消费开始时间(UTC+8)、消费结束时间(UTC+8)、交易时间(UTC+8) → YYYY/MM/DD hh:mm:ss格式
- 原工作表字体:等线11号,缩放90%
2. 透视表字段要求
从以下字段列表中筛选原表实际存在的字段,按原顺序排列,原表中缺失的字段无需在透视表中展示:
账务账期、Payer账号ID、Payer ID、Owner账号ID、账号 ID、产品、商品、计费模式、账单类型、配置名称、计费单元、单价、单价单位、优惠类型、优惠内容、用量、原价、折后价、代金券抵扣、应付金额
- 对用量、原价、折后价、代金券抵扣、应付金额中在原表存在的字段进行聚合求和
- 所有配置名称、计费单元数据必须完整保留,不得缺失
3. 格式要求
- 全部单元格:微软雅黑10号字体,缩放90%,所有单元格加边框
- 首行(表头):填充#BDD7EE,加粗居中
- 尾行(合计行):填充#D9D9D9,加粗居中
- 金额字段(原价、折后价、代金券抵扣、应付金额):2位小数,千位分隔符,居右对齐
- 用量字段:无千位分隔符,保留数值自然长度,无固定小数位数
- 居中列:账务账期、计费模式、账单类型、单价、单价单位、优惠类型、优惠内容
- 列宽自动适配:每列宽度 = (最长单元格字符宽度,中文计2单位/英文数字计1单位) × 1.1
- 账务账期格式:YYYY-MM
4. 输出文件名规则
从"账务账期"字段解析生成:A年B月产品折扣账单.xlsx
- 例:Feb-26 → A=26,B=2
- 例:2026-02-01 → A=26,B=2
5. 文件规范要求
必须使用xlsxwriter生成文件,确保:
- 打开无任何修复提示弹窗
- 符合Office Open XML规范,无XML结构错误
- 兼容Microsoft Excel 2016+
6. 数据处理原则
- 保留所有原始数据,不删除任何行、不过滤任何内容
- 禁止自动清洗数据,禁止判定脏数据,禁止删除特殊格式名称
- 分组聚合时强制使用
dropna=False,不忽略任何数据
7. 验证规则
生成前必须验证:
- 透视表原价总额 = 原表原价总额
- 透视表折后价总额 = 原表折后价总额
- 透视表应付金额总额 = 原表应付金额总额
- 验证不通过则提示"总额不一致,无法生成"