税务合规自查 · Excel 填表版(tax-compliance-selfcheck)
Overview
把企业税务自查的门槛降到财务人员最熟悉的动作——填 Excel 表:打开中文模板 → 照「填写提示」列逐行填数 → 一条命令出报告。底层复用成熟的规则引擎(24 条规则,覆盖增值税/企业所得税/个税/印花税/发票/申报六大类),输出风险清单(按严重度排序)+ 法规依据 + 整改建议 + 合规评分,生成可交付的 Excel 报告。
三步流程:
① make_template.py 生成/获取 Excel 模板 → ② 企业照填「你的值」列 → ③ excel_to_json.py + run_check.py 出报告
适用场景:月度/年度结账后自查、申报前校验、审计/尽调底稿、集团对下属公司合规巡检。
付费说明(Pay Skill · 支付宝 AI 付)
> 本技能为 SkillHub 按次付费 Skill,由平台通过「支付宝 AI 付」在对话流内代收,用户确认支付后继续执行,无需跳出页面。
- 计费方式:按调用量计费(每次成功交付一份企业税务合规自查报告 计 1 次)。
- 单次价格:¥0.10(示例占位,发布时以 SkillHub 上架表单填写的单价为准;请保持「技能内声明 / 平台登记 / 上架表单」三处单价一致)。
- 收款通道:支付宝 AI 付(平台代收,个人开发者无需自行申请网站付或支付宝商户号,实时结算至你的收款账户)。
- 退款:按支付宝渠道规则处理。
- 适用前提:个人实名 + 已开通 SkillHub 收款能力。
- 服务端契约:平台代收模式下 SkillHub 代执行下方四步协议;自收款(402)模式须自备后端按「付费调用编排」实现。
付费调用编排(x402 / 支付宝 AI 付 四步协议)
> 本技能作为按次付费 Skill 对外提供服务时,其服务端须遵循以下 x402 / 支付宝 AI 付 四步协议。Agent 只负责编排,不代付、不接触密钥。
1. 402 账单下发(probe → bill)
- 服务端在收到调用且未检测到有效付款时,返回 HTTP 402 与
Payment-Needed账单(含orderId、金额、qrCode/payForm)。 - 收到 402 即暂停交付,保存账单与订单号,等待用户完成支付。
2. 携带凭证重试(pay → retry)
- 将
Payment-Needed交给支付宝官方「AI 付」能力拉起收银台,由用户本人扫码 / 免密完成付款(Agent 只编排,不代付)。 - 付款成功后,携带
Payment-Proof(支付凭证 + 订单号) 重试原请求。
3. 验付调用(verify)
- 服务端收到带
Payment-Proof的请求后,必须调用alipay.aipay.agent.payment.verify验付。 - 凭证无效 / 过期则拒绝服务;结果不明时不得要求用户重复付款。
4. 履约确认(fulfill / ack)
- 交付本技能产物(一份企业税务合规自查报告)后,服务端调用
alipay.aipay.agent.fulfillment.confirm确认履约。 - 失败可重试且保持幂等:不重复扣费、不重复交付。
5. 订单持久化与幂等更新
- 持久化订单记录(
orderId、状态、paidAt、proof);同一orderId原地更新,禁止重复建单。 - 异步通知(
trade_status=TRADE_SUCCESS / TRADE_FINISHED)须做 RSA2 签名校验,校验通过将订单置为PAID且幂等(重复通知不重复计费)。
安全红线
- 应用私钥仅存服务端(环境变量 / KMS 注入),禁止写入包内、日志或公开仓库;Java 用 PKCS#8,非 Java 用 PKCS#1。
- 生产环境必须校验本地订单、金额与资源关系;
service_id用真实API_前缀值(沙箱api_mock_service_id仅调试用)。 - 全程不向用户暴露支付链接、二维码原文或交易号等中间过程。
When to use
- 企业要对自己做税务合规健康检查 / 申报前风险提示
- 识别虚开发票、逾期申报、代扣代缴缺失等高风险事项
- 检查企业所得税纳税调整(招待费/广宣费/福利费/研发加计)是否到位
- 生成可交付的 Excel 合规自查报告
- 买家不熟悉 JSON,希望用填 Excel 的方式完成自查
Core workflow(买家三步走)
第 1 步:生成填表模板(或直接用 sample_data 里的)
python scripts/make_template.py 填表.xlsx # 空白模板(发给企业财务)
python scripts/make_template.py 示例填表.xlsx --sample # 带示例值的演示文件
模板结构(sheet「自查填表」):分组 | 字段代码 | 中文说明 | 你的值 | 填写提示。企业只填「你的值」列——数字直接填、是非填「是/否」、多项用「、」分隔。
第 2 步:Excel → JSON
python scripts/excel_to_json.py 填表.xlsx -o facts.json
留空字段自动标记为「待确认」,不会误报通过。
第 3 步:跑引擎出报告
python scripts/run_check.py -i facts.json -o 税务合规自查报告.xlsx
# 金额以万元展示:
python scripts/run_check.py -i facts.json -o 报告.xlsx --unit wan
输出:控制台 Markdown 摘要 + Excel 报告(风险清单 / 自查汇总 / 待确认项 三个 Sheet)。
规则基线(24 条 · 六大类)
| 类别 | 覆盖点示例 | 严重度分布 |
|---|---|---|
| 增值税 | 销项 vs 申报差异、异常凭证、进项转出、出口免抵退、凭证合规 | 高1 中4 |
| 企业所得税 | 招待费/广宣费/福利费/工会/教育经费限额、研发加计、关联交易同期资料、资产损失申报、优惠备查 | 中7 低1 |
| 个人所得税 | 工资代扣代缴、股东借款、劳务报酬代扣、年终奖计税优化 | 高1 中2 低1 |
| 印花税 | 应税合同、营业账簿 | 中1 低1 |
| 发票管理 | 虚开发票风险、开具规范 | 高1 中1 |
| 申报缴纳 | 逾期申报、逾期缴纳滞纳金 | 中2 |
规则细节与法规索引见 references/compliance_baseline.md;规则数据驱动(scripts/rules.json),增删规则只改 JSON 不改代码。
合规评分口径
- 每条规则按严重度赋权:高=3、中=2、低=1。
- 评分 = 100 ×(已评估规则赋权和 − 命中规则赋权和)÷ 已评估规则赋权和。
- 「待确认」(数据缺失)不计入分母,避免误判。
反模式与注意
> 完整常见问题解答见 references/FAQ.md(按「现象→原因→怎么改→怎么预防」结构化,含通用排查顺序)。此处仅列最关键的 4 条:
- 本工具是辅助自查,不是税务意见——重大涉税事项以最新法规与主管税务机关为准,建议由税务师复核。
- 别把「待确认」当「通过」——补数据后必须复评。
- 输入单位统一为「元」——
--unit wan仅影响展示。 - 规则不穷尽——行业特殊事项(医药推广费、房地产预售预缴等)在
scripts/rules.json追加规则包即可。
> 其他常见坑(openpyxl 缺失、文件打不开、格式不对、填表规范、脚本报错排查)均已汇总到 references/FAQ.md,报错时先查那里。
快速上手(完整示例)
> 首次使用建议先跑一遍 --sample 演示流程,再换成真实数据。完整端到端示例(含真实命令与真实输出)见 references/usage-example.md。
pip install openpyxl # 一次性装依赖
python scripts/make_template.py 示例填表.xlsx --sample # ① 生成带示例值的模板
python scripts/excel_to_json.py 示例填表.xlsx -o facts.json # ② Excel → JSON
python scripts/run_check.py -i facts.json -o 报告.xlsx # ③ 出报告
三步走完即得到一份税务合规自查报告(控制台 Markdown 摘要 + Excel 三 Sheet)。
规则库来源(维护者须知)
本技能的 scripts/rules.json 是自动生成的副本,主库在 tax-compliance-check/scripts/rules.json:
- 不要直接编辑本技能的 rules.json —— 它由主库同步生成(副本
meta.canonical=false,含do_not_edit标记)。 - 改规则:改主库 → 运行
python <tax-compliance-check>/scripts/sync_rules.py→ 重新打包本技能 zip。 - 检测是否偏离主库:
python <tax-compliance-check>/scripts/sync_rules.py --check。 - 打包后的 zip 自带 rules.json(买家可独立运行),所以文件在物理上存在两份;「单一来源」由同步器 + 漂移检测在逻辑上保证。
Resources
scripts/
make_template.py:一键生成 Excel 填表模板(--sample附示例值)。excel_to_json.py:Excel 填表 → facts JSON 转换器(含 38 个字段的中文映射与类型解析)。run_check.py:核心引擎(读取 JSON + rules.json → 扫描 → Markdown 摘要 + Excel 报告)。rules.json:规则基线(24 条)。自动生成副本,主库在tax-compliance-check,勿直接编辑(见上「规则库来源」)。
references/
FAQ.md:常见问题解答与反模式汇总(现象→原因→怎么改→怎么预防 + 通用排查顺序)。报错先查这里。usage-example.md:完整端到端使用示例(真实命令 + 真实输出 + 结果解读)。首次上手先看这里。compliance_baseline.md:每条规则的合规逻辑、触发场景、整改要点与法规原文索引。
sample_data/
facts.json:示例企业事实 JSON,可直接喂给run_check.py演示。- 空白模板与已填示例均可用
scripts/make_template.py(--sample附示例值)一键生成;.xlsx二进制附件在平台上传时会被过滤,故不依赖预置成品。
交付
- 用 present_files 出示 Excel 报告(及填表文件)。
- 交付说明附:合规评分、高/中/低风险计数、待确认项数量、QA 说明。