P paper2skillsPlaybook
AI 路线图 →

VAT GST Compliance Automation — 跨境 VAT/GST 合规自动化:欧洲税务申报自动化

Skill-VAT-GST-Compliance-Automation · 21-合规决策

causalexperimentdata_collection广告与投放客服与VOC数据采集与治理风控与合规WF-B 广告优化WF-C 客服分诊WF-D 选品扫描WF-K 全域风险防御
年化 ROI¥15-40 万
实现难度⭐⭐☆☆☆
业务视角
适用角色合规负责人 / 选品负责人 · CEO · 供应链负责人
适用平台美国 CPSC/ASTM · 欧盟 CE/EN71 · Amazon 类目合规要求 · 德国/英国/中东市场
什么情况下用新品上架前不确定在美国/欧盟是否需要认证,怕因合规问题被下架;产品被平台下架但不清楚哪里出了问题
成功是什么样的上架前自动完成合规预扫描,0 合规下架事故,新市场合规准备时间从 3 个月缩短到 2 周
业务痛点
产品被下架说是合规问题不知道目标市场需要什么认证EU/US 合规要求不一样怎么处理母婴产品安全标准太严怕踩雷

1. 解决的问题

进入德国法国意大利三国VAT税率各不同商品分类也各异每月手工申报需10小时还容易出错——ML自动分类商品税率+自动计算申报,准确率提升到99.5%人工时间降低90%年化节省15-40万元

2. 核心算法逻辑

跨境税务的核心挑战:

3. 业务应用场景

业务问题:品牌刚进入欧洲市场(德国+法国+意大利),三个国家 VAT 税率不同,商品品类也不同(吸奶器按医疗设备还是消费品?婴儿奶粉税率是多少?)。每月手动计算需要 10 小时,且不确定分类是否正确。

数据要求: - 月度订单数据(商品/金额/目的国/B2B/B2C 标识) - 商品描述和 HS Code(海关编码) - 各国 VAT 税率表(从 EU TARIC 获取)

预期产出: - 每个商品的 VAT 税率自动分类 - 各国 VAT 税额汇总报告 - OSS 申报文件(格式符合欧盟要求) - 超阈值预警:是否需要在某国单独注册

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

  • ROI 预估
  • 人工申报时间节省:10小时/月 → 1小时/月,年化 ¥8-15 万
  • 分类准确率提升(95% → 99.5%):减少罚款风险(欧盟 VAT 罚款 20-50%)
  • 快速进入新国家市场(自动适配税率)
  • 年化综合 ROI:¥15-40 万
  • 实施难度:⭐⭐☆☆☆(规则引擎版 2 周;需要 EU TARIC API 接入;生产级约 4-6 周)

7. 代码模板

代码块数量:3 · 路径:未检测到

"""
VAT/GST Compliance Automation
跨境税务合规自动化:商品税率分类 + VAT计算 + 申报生成
"""
from dataclasses import dataclass, field
from collections import defaultdict
import re


# 欧盟主要国家 VAT 税率数据库(2025年)
VAT_RATES_EU = {
    'DE': {'standard': 0.19, 'reduced': 0.07, 'super_reduced': 0.07, 'zero': 0.0},
    'FR': {'standard': 0.20, 'reduced': 0.055, 'super_reduced': 0.021, 'zero': 0.0},
    'IT': {'standard': 0.22, 'reduced': 0.10, 'super_reduced': 0.04, 'zero': 0.0},
    'UK': {'standard': 0.20, 'reduced': 0.05, 'super_reduced': 0.0, 'zero': 0.0},
    'NL': {'standard': 0.21, 'reduced': 0.09, 'zero': 0.0},
}

# 母婴商品税率分类规则
PRODUCT_VAT_RULES = [
    {'keywords': ['formula', 'baby food', 'infant milk', '婴儿奶粉'],
     'category': 'baby_food',
     'rates': {'DE': 'zero', 'FR': 'reduced', 'IT': 'reduced', 'UK': 'zero'}},
    {'keywords': ['breast pump', 'breastfeeding', 'nursing'],
     'category': 'medical_device',
     'rates': {'DE': 'reduced', 'FR': 'reduced', 'IT': 'reduced', 'UK': 'zero'}},
    {'keywords': ['sterilizer', 'bottle warmer', 'baby bottle'],
     'category': 'baby_equipment',
     'rates': {'DE': 'standard', 'FR': 'standard', 'IT': 'standard', 'UK': 'standard'}},
    {'keywords': ['car seat', 'stroller', 'pushchair'],
     'category': 'child_safety',
     'rates': {'DE': 'standard', 'FR': 'standard', 'IT': 'standard', 'UK': 'standard'}},
    {'keywords': ['organic', 'cotton', 'onesie', 'baby clothes', 'clothing'],
     'category': 'baby_clothing',
     'rates': {'DE': 'standard', 'FR': 'standard', 'IT': 'reduced', 'UK': 'zero'}},
]


@dataclass
class Order:
    """订单"""
    order_id: str
    product_description: str
    net_amount: float
    destination_country: str
    is_b2b: bool = False
    customer_vat_number: str = ''


def classify_product_vat(description: str, country: str) -> dict:
    """自动分类商品VAT税率"""
    desc_lower = description.lower()

    for rule in PRODUCT_VAT_RULES:
        if any(kw.lower() in desc_lower for kw in rule['keywords']):
            rate_key = rule['rates'].get(country, 'standard')
            rate = VAT_RATES_EU.get(country, {}).get(rate_key, 0.20)
            return {
                'category': rule['category'],
                'rate_key': rate_key,

8. 论文来源

  • 2407.14562