新能源行业税务合规工具包(newenergy-tax-toolkit)
Overview
新能源行业是税收优惠最密集、也最快过期的行业之一:即征即退几年一续、消费税刚刚开征、车购税由免征改减半。多数企业(和多数公开资料)沿用的是已经失效的口径——这正是本工具包要解决的问题。
底层复用成熟规则引擎,在通用税务基线(24 条)之上叠加新能源行业增量规则(31 条),共 55 条。三条主线:
- 优惠资格体检 —— 该享的没享(机会型风险,直接是钱)
- 政策时效预警 —— 按已失效/已变更的口径操作(合规型风险,直接是罚款)
- 行业专属税种 —— 电池消费税、资源综合利用即征即退、EMC 三免三减半、用地两税
三步流程:
① make_template.py 生成 Excel 模板 → ② 企业照填「你的值」列 → ③ excel_to_json.py + run_check.py 出报告
政策时效台账(本工具包的核心价值)
> 新能源税收政策多在 2–3 年窗口期。下表是政策口径截止日(2026-09-22)的真实状态;许多流传甚广的说法已经过期,请以本表为准并定期复核。
| 政策事项 | 文号 | 当前状态 | 与常见认知的差异 |
|---|---|---|---|
| 锂电池消费税 | 公告2026年第20号 | 2026-09-01 起征 2%,2027-09-01 起 4% | ⚠️ 大量资料仍写"锂电池免征消费税"——已开征 |
| 钠离子/固态/燃料电池、钙钛矿/叠层/砷化镓光伏电池消费税 | 公告2026年第20号 | 2026-09-01 至 2028-12-31 免征 | 新增免税品类 |
| 光伏电池消费税 | 公告2026年第20号 | 2027-04-01 起 2%,2028-04-01 起 4% | 前瞻预警:一年后开征 |
| 海上风电增值税即征即退 | 公告2025年第10号 | 2025-11-01 至 2027-12-31 即征即退 50% | 仅限海上风电 |
| 陆上风电增值税即征即退 | 财税〔2015〕74号 | 2025-11-01 已废止 | ⚠️ 若仍按即征即退申报,属违规享受 |
| 光伏发电增值税即征即退 | 财税〔2016〕81号 | 2018-12-31 到期,无全国延续 | ⚠️ 光伏发电已按 13% 正常计税 |
| 资源综合利用增值税即征即退(废旧电池再生) | 公告2021年第40号 | 延续至 2027-12-31,退税率 50% | 原料须 ≥95% 来自废旧电池及拆解物 |
| 增值税征收率 | 《增值税法》2026-01-01 施行 | 统一为 3%,原 5% 档取消 | ⚠️ 仍按 5% 申报即错 |
| 新能源汽车车辆购置税 | 公告2023年第10号 | 2026-01-01 至 2027-12-31 减半,每辆乘用车减税 ≤1.5 万 | ⚠️ 2024-2025 才是免征,2026 起改减半 |
| 合同能源管理企业所得税 | 财税〔2010〕110号 | 长期有效,三免三减半 | 须同时满足 6 项条件(注册资金≥100万、投资额≥70% 等) |
| 先进制造业进项加计抵减 5% | 公告2023年第43号 | 2023-01-01 至 2027-12-31 | 新能源装备/电池制造企业重点关注 |
| 光伏项目城镇土地使用税 | 城镇土地使用税暂行条例 | 未利用地不免税(地方答复口径) | ⚠️ "未利用地/农光互补"并不当然免税 |
机器可读版见 scripts/rules.industry.json 的 policy_watch 字段(合并后会出现在 rules.json)。
付费说明(Pay Skill · 支付宝 AI 付)
> 本技能为 SkillHub 按次付费 Skill,由平台通过「支付宝 AI 付」在对话流内代收,用户确认支付后继续执行,无需跳出页面。
- 计费方式:按调用量计费(每次成功交付一份新能源企业税务合规自查报告 计 1 次)。
- 单次价格:¥18.8 / 次(
amount_fen: 1880,与 frontmatterpricing字段一致)。
> ⚠️ 三处单价必须完全一致,否则买家付款会被拒:① 技能内声明(本行 + frontmatterpricing.amount_fen)② 支付平台登记单价 ③ SkillHub 上架表单标价。 - 收款通道:支付宝 AI 付(平台代收,个人开发者无需自行申请网站付或支付宝商户号,实时结算至你的收款账户)。
- 上架必填三项(漏任一项 → 定价不生效、按免费发布):① 分类选 pay-skill(付费技能) ② 计费模式选 按调用量计费 ③ 单价填 18.8(元 / 次)。
- 退款:按支付宝渠道规则处理。
- 适用前提:个人实名 + 已开通 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
- 新能源企业(光伏/风电电站、储能与电池、整车与零部件、充换电、节能服务)做税务合规健康检查
- 复核税收优惠适用是否正确(该享未享、不该享却享了,两个方向都要查)
- 电池消费税、资源综合利用即征即退、EMC 三免三减半等行业专属税种专项排查
- 光伏/风电项目用地两税(城镇土地使用税、耕地占用税)口径核对
- 生成可交付的新能源税务合规自查报告 / 内审底稿
Core workflow(买家三步走)
第 1 步:生成填表模板
python scripts/make_template.py 填表.xlsx # 空白模板(发给企业财务)
python scripts/make_template.py 示例填表.xlsx --sample # 带示例值的演示文件
> 模板由买家一键生成,不随包分发——运行上面的命令即可产出空白模板与已填示例,无需依赖包内现成的 xlsx 文件。
模板结构(sheet「自查填表」):分组 | 字段代码 | 中文说明 | 你的值 | 填写提示,共 86 个字段(通用 38 + 新能源 48)。企业只填「你的值」列——数字直接填(金额单位:元)、是非填「是/否」、多项用「、」分隔。
> 填写建议:与自身业务无关的细分可直接留空(留空 = 「待确认」,不会误报)。例如纯电池企业可跳过「光伏与风电」全部字段。条件型规则已做前置判断——没有发电项目的企业不会被报"电站未单独核算"。
第 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)。
规则库(55 条 = 通用 24 + 新能源 31)
通用基线(24 条)
增值税 5、企业所得税 9、个人所得税 4、印花税 2、发票管理 2、申报缴纳 2。详见 references/general-baseline.md。
新能源行业增量(31 条)
| 类别 | 条数 | 覆盖点示例 |
|---|---|---|
| 消费税 | 5 | 锂电开征 2% 未申报、应税/免税电池未分别核算、免税电池缺 CMA 报告、铅蓄电池 4%、光伏电池前瞻测算 |
| 增值税 | 8 | 陆上风电/光伏违规申报即征即退、海上风电未申请、优惠项目未单独核算、绿证 6%、5% 征收率已废止、资源综合利用未申请、原料占比<95% |
| 企业所得税 | 7 | 电站三免三减半、EMC 三免三减半、综合利用减按 90%、研发辅助账、高新 15%、专用设备 10% 抵免、技术转让减免 |
| 合同能源管理 | 3 | 注册资金<100 万、投资额占比<70%、未签节能效益分享型合同 |
| 车辆购置税 | 3 | 仍按免征处理(应减半)、单车减税超 1.5 万、二手车经销 0.5% |
| 财产行为税 | 3 | 未利用地光伏土地使用税、占用农用地耕地占用税、变电站用地免税备案 |
| 税务管理 | 2 | 先进制造业加计抵减 5%、优惠留存备查 |
规则细节与法规索引见 references/newenergy-baseline.md。规则数据驱动(scripts/rules.json),增删规则只改 JSON 不改代码。
合规评分口径
- 每条规则按严重度赋权:高=3、中=2、低=1。
- 评分 = 100 ×(已评估规则赋权和 − 命中规则赋权和)÷ 已评估规则赋权和。
- 「待确认」(数据缺失)不计入分母,避免误判。
反模式与注意
> 完整常见问题解答见 references/FAQ.md(21 条,按「现象→原因→怎么改→怎么预防」结构化,含通用排查顺序)。此处仅列最关键的 4 条:
- 本工具是辅助自查,不是税务意见——重大涉税事项以最新法规与主管税务机关为准,建议由税务师复核。
- 政策时效比规则本身更重要——新能源优惠动辄 2–3 年一续,使用前请先核对上表「政策时效台账」的文书日期,与当前日期比对;超过一年的,务必重新核实。
- 别把「待确认」当「通过」——留空字段补数据后必须复评。
- 两类风险方向不同:合规型风险(做了不该做的,如违规享受已废止优惠)要补税 + 防罚;机会型风险(该享未享,如未申请三免三减半)要及时申请、把握窗口期。报告里已用"整改建议"区分表述。
> 其他常见坑(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)。
规则库来源(维护者须知)
本技能采用单一来源 + 合并生成,避免规则库出现第三份可编辑副本:
tax-compliance-check/scripts/rules.json ← 通用主库(canonical,24 条,唯一可编辑)
+
scripts/rules.industry.json ← 新能源行业增量(本技能唯一可编辑,31 条)
↓ merge_rules.py
scripts/rules.json ← 合并产物(55 条,自包含,勿手改)
- 改通用规则:改
tax-compliance-check/scripts/rules.json(主库)。 - 改行业规则:改本技能的
scripts/rules.industry.json。 - 改完任一,都要重跑:
python scripts/merge_rules.py - 检测产物是否过期:
python scripts/merge_rules.py --check(有漂移时退出码 1,并列出差异规则 id)。 - 打包后的 zip 自带合并后的
rules.json(买家可独立运行),所以文件在物理上存在三份;「单一来源」由合并器 + 漂移检测在逻辑上保证。 merge_rules.py是维护工具,不随售卖包分发 —— 它的默认主库路径指向生态内的通用技能,买家机器上不存在该技能,运行会报错。买家如需增改规则,直接编辑包内rules.json(它是完整自包含的 55 条)即可。
Resources
scripts/
make_template.py:一键生成 Excel 填表模板(86 字段,--sample附示例值)。excel_to_json.py:Excel 填表 → facts JSON 转换器(通用 + 新能源字段的中文映射与类型解析)。run_check.py:核心引擎(读取 JSON + rules.json → 扫描 → Markdown 摘要 + Excel 报告)。rules.industry.json:新能源行业增量规则(31 条)+ 政策时效台账。本技能唯一可编辑来源。rules.json:合并产物(55 条),由merge_rules.py生成,勿直接编辑。买家如需增改规则,直接改这个文件即可。merge_rules.py:合并器(通用主库 + 行业增量 → 自包含 rules.json),带--check漂移检测。维护工具,不随售卖包分发。
references/
FAQ.md:常见问题解答与反模式汇总(21 条,现象→原因→怎么改→怎么预防 + 通用排查顺序)。报错先查这里。usage-example.md:完整端到端使用示例(真实命令 + 真实输出 + 结果解读)。首次上手先看这里。newenergy-baseline.md:新能源 31 条规则的合规逻辑、触发场景、整改要点与法规原文索引。general-baseline.md:通用 24 条规则的深度说明(增值税/企业所得税/个税/印花税/发票/申报)。
sample_data/
- 本目录不随售卖包分发(平台上架会过滤
.xlsx二进制附件,且这类"已生成成品"应由买家自行再生,避免冗余)。 - 空白模板与已填示例均可用
scripts/make_template.py(--sample附示例值)一键生成,无需预置。
交付
- 用 present_files 出示 Excel 报告(及填表文件)。
- 交付说明附:合规评分、高/中/低风险计数、待确认项数量、命中的时效性政策清单(最容易被忽略、也最有价值的产出)。