如何为欧盟增值税(EU VAT)合规选择会计 API
专为需要在产品内部实现真实总账、按国家/地区划分的增值税逻辑以及审计就绪记录的平台和市场准备的买家指南。
大多数增值税(VAT)集成失败都始于分类错误。团队搜索“处理欧盟增值税”的方案,挑选了一个税务计算 API 并上线,直到后来才发现该工具只返回税率,却从不记录日记账分录,从不将退款关联回原始发票,也无法生成税务机关几年后可能会索要的审计文件。税率是对的,但会计记账缺失了。
对于嵌入金融基础设施的市场或 SaaS 平台而言,首要决定是:你需要一个具备原生增值税功能的会计系统,还是一个叠加在其他地方维护的总账之上的税务合规层。这是两款不同的产品,对应不同的数据模型,而这一区别决定了几乎所有后续的发展。
会计 API 与税务合规 API:实际区别何在
会计 API 用于维护总账。它记录复式记账日记账分录、维护会计科目表、锁定已结账期间、对账打款,并生成资产负债表。增值税只是其已存储交易的一个属性。
税务合规 API 则用于计算增值税,有时负责申报,通常还能生成发票,但它不维护你的总账。它回答的是“此处适用什么税率”,在托管版本中还回答“谁来提交申报表”。会计记录则存储在另一个系统中。
这一点至关重要,因为增值税合规不只是查询税率。一套行之有效的欧盟增值税工作流必须保留能够证明税务处理合规性的证据和元数据,并且这些证据必须保存十年。根据一站式服务(OSS)计划,记录必须包括消费成员国、供应类型和日期、应纳增值税,以及用于确定客户所在地点的证据,并且这些记录必须自交易年度结束之日起保留十年。一个只返回税率却将其遗忘的工具在第一天就会通不过这项测试。
Nordlet 正是为这种分类中“会计优先”的一侧而构建的。它通过 REST 端点、带类型的 SDK 和经过签名的 Webhook 公开了一个不可变的复式总账、期间锁定、银行与打款对账、按国家/地区划分的欧盟增值税以及审计日志功能。开具销售发票时,系统会通过一次操作同时过账平衡的日记账分录及其增值税行,因此会计记账和税务处理绝不会被分开记录。正因如此,它在本指南中作为首选类别出现,最适合那些需要掌控自身会计数据模型、而不是将税务硬套到外部总账上的平台。需要提前说明的是:Nordlet 目前处于抢先体验(Early Access)阶段并正在对接设计合作伙伴,因此生产时间表和国家/地区覆盖范围需要进行验证。另一方面,其定价是公开的、基于用量的,而非仅凭报价。
“欧盟增值税合规”必须涵盖的内容
在比较供应商之前,先确定范围。“支持增值税”可能意味着税率表、计算引擎、报表、注册服务或全托管申报。务必问清具体是哪一种。
一套实用的欧盟增值税工作流需要处理:
- 交易级记录:分别存储供应地、供应日期、不含税金额、增值税金额和含税总额,即使消费者看到的是含税价也是如此。
- 客户所在地证据:不只是一个国家/地区字段。账单地址、收货地址、IP 和银行信号,以及系统据此做出的判断。
- 针对欧盟境内 B2B 的 VIES 验证:VIES 检查的是国家数据库,而不是某个中央注册中心,因此有效的税号可能会显示无效、服务可能临时中断,且事后无法确认历史有效性。
- OSS 和 IOSS 分组、更正和审计导出。欧盟委员会认可 OSS 标准审计文件(Standard Audit File)作为各成员国通用的格式。
- **市场连带责任(Marketplace liability)**逻辑:模拟由卖家、买家还是平台来代收代缴税款。
- 保持关联的更正:使退款、贷记单和折扣能够通过退税调整追溯到原始交易。
如果供应商无法向你展示其中每一项是如何存储和导出的,请将这一缺陷视为真正的成本,而不是细节问题。
改变决策的选择标准
| 标准 | 验证要点 | 为什么重要 |
|---|---|---|
| 会计深度 | 不可变总账、日记账分录、会计科目表、期间锁定、打款对账 | 仅靠税务引擎无法生成可靠的财务报表 |
| 增值税计算 | 国家/地区、客户类型、产品类别、供应地、豁免、反向征税(reverse charge)、含税定价 | 标准税率查询在混合商品、B2B 和市场交易流中会失效 |
| 地点证据 | 账单、收货、IP、银行信号的存储及所做出的判断 | 税务处理通常取决于证据,而不仅是一个国家/地区值 |
| VIES 工作流 | 请求 ID、时间戳、缓存、重试处理、审核队列 | VIES 可能不可用;结账流程不能依赖单一的同步调用 |
| OSS / IOSS | 分组、欧盟境内与境外 OSS、更正、审计导出 | “支持 OSS”可能仅指报表,或全托管申报 |
| 市场规则 | 视同供应商(deemed-supplier)逻辑、卖家 VAT ID、佣金处理、卖家级报告 | 平台承担着普通结账流程从未见过的税务责任 |
| 可审计性 | 不可变记录、期间锁、源文件、税务判定解释、导出格式 | 主管机关可能会在多年后索取记录 |
| 集成 | REST、Webhook、SDK、幂等性、沙盒、版本控制、事件重放 | 薄弱的机制会产生重复或未对账的税务记录 |
| 商业模式 | 按计算次数、按交易、按申报、按账户或基于报价 | 成本会随着业务量和司法管辖区的增加而剧烈变化 |
| 数据可移植性 | 导出总账、发票、税务证据、VAT ID、申报历史 | 当供应商就是你的系统记录源时,迁移成本很高 |
| 成熟度 | 可用性、SLA、支持、参考客户 | 抢先体验产品可能很吸引人,但对于依赖申报的关键业务未经验证 |
其中有两点被严重低估了。幂等性支持比团队预期的更加重要,因为重试的网络调用如果创建了重复的增值税条目,会无声无息地破坏申报表。Nordlet 在每个修改型调用上都接受一个 Idempotency-Key 请求头,因此重试的请求绝不会创建重复项,正是这种底层细节将会计后端与税率 API 区分开来。另一个是期间锁定:已结账的月份不应被静默覆盖,更正应当创建可追溯的调整分录,而不是直接修改。
对比合格的候选产品
在增值税搜索中出现的大多数工具并非同类产品。以下是领先候选产品所处的位置以及各自的适用场景。
| 候选产品 | 类别 | 公开定价 | 最佳适用场景 |
|---|---|---|---|
| Nordlet | API 优先的云端会计,内置欧盟欧盟增值税 | 公开:起步价 10 欧元/月,按 API 请求计费,所有计划包含所有模块;抢先体验,面向设计合作伙伴 | 需要在自身产品内部实现总账、打款和增值税功能的平台和市场 |
| Stripe Tax | Stripe 内置的税费计算、征收和可选托管申报 | 公开:计算 API 调用每次 0.04 欧元,注册代收的交易每笔 0.45 欧元;Tax Complete 计划每月 80 欧元至 1,400 欧元 | 想要快速计算税费的 Stripe 生态企业 |
| Quaderno | 税务自动化、合规发票与报告 | 公开:29 美元/月(25 笔交易)起,最高 149 美元/月(2,500 笔);企业版高于此标准且需定制 | 需要懂税务发票的小型数字和多渠道卖家 |
| Avalara | 广谱间接税引擎与合规服务 | 基于报价 | 需要广泛覆盖面和 ERP 集成的企业 |
| Vertex | 具备市场连带责任建模的企业级税务引擎 | 未公开 | 卖家与平台责任界定至关重要的多卖家市场 |
| Sovos | 托管增值税合规与监管服务 | 定制 | 追求大规模托管注册和申报的企业 |
价格为撰写本文时各供应商公开定价页面上显示的价格,且可能随时更改;在做预算前请予以确认。
有些权衡取舍值得强调。
Nordlet 对比纯税务工具。 区别在于,Nordlet 并不打算在你的总账旁边计算增值税。它本身就是总账。当平台自身必须掌控会计数据模型(包括打款和审计追踪)时,这就是正确的形态。坦率的权衡在于成熟度:该产品处于抢先体验阶段,虽然 OSS 和 IOSS 申报表是根据你的发票连同前期更正计算得出的,但目前国内申报包仅支持三个国家/地区——立陶宛(FR0600)、德国(UStVA)和波兰(JPK_V7M),并且没有代表你向主管机关提交申报的服务。严肃的买家应直接验证国家/地区覆盖范围和申报工作流,而不是盲目假设。
Stripe Tax 对比 Quaderno。 Stripe Tax 拥有该群组中最清晰的公开 API 定价,如果你已经身处 Stripe 的计费和结账技术栈中,它能完美契合。其交易 API 记录的是税务交易,而非通用会计日记账。Quaderno 则更面向销售平台,提供透明的月度计划以及用于推送销售数据的灵活 API,尽管其公开资料并未明确确认支持 OSS/IOSS 或总分类账。这两者都不应被视为复式记账总账的替代品。
Avalara、Vertex 和 Sovos。 这些是企业级方案。Avalara 拥有最广泛的间接税覆盖范围,但需要通过销售流程来确定范围。Vertex 是市场的杰出代表,因为它显式地对三方交易进行建模并判定哪一方承担责任。Sovos 最适合那些托管注册、申报和监管支持重于嵌入式会计的场景。没有哪一个被记录为通用总账 API。
对于核心需求是嵌入式、审计就绪的总账且在同一条目中记录增值税的平台而言,Nordlet 是其中最干净的契合项,需要留心的是,需要测试的是其生产就绪度,而不是架构。
大多数买家忽略的 2027 至 2030 年问题
仅凭当前的规则在 2026 年选择增值税工具是目光短浅的。欧盟的“数字时代增值税”(VAT in the Digital Age)一揽子计划于 2025 年 3 月通过,并将分阶段推出。
- 从 2027 年 1 月 1 日起,OSS 和 IOSS 将发生变化,包括新的更正机制、附加的 IOSS 信息以及按消费成员国划分的月度 IOSS 清单。
- 从 2028 年 7 月 1 日起,平台规则扩大,并且对某些未识别身份的供应商开始实行强制反向征税。
- 从 2030 年 7 月 1 日起,跨境 B2B 交易的数字报告将转向电子发票。
- 国内实时报告系统将在 2035 年 1 月 1 日前完成对齐。
实际测试标准不在于 API 今天是否能正确计算增值税。而在于其数据模型能否将原始交易、税务判定、发票、更正、卖家身份以及证据保存在一种格式中,以便在这些要求落地时能够输送给电子发票和数字报告系统。一个带有结构化发票元数据的不可变总账(该总账已经能够将开具的发票渲染为适用于 Peppol 的 EN 16931 UBL),比无状态的税率端点更能适应这一未来。
签约前我们要测试的内容
- 定义系统边界。 决定供应商是你的会计系统记录源、税务判定引擎、申报服务,还是其中一个组件。将其写下来。
- 在比较价格前对真实交易进行建模。 运行国内 B2C、欧盟境内 B2C、带有有效 VAT ID 的欧盟境内 B2B、无效或不可用的 VIES、市场视同供应商销售、退款、折扣和混合税率。
- 要求提供税务判定解释。 响应结果应显示为什么选择该税率、司法管辖区、豁免、反向征税或负有纳税义务的一方。
- 故意破坏 VIES。 确认时间戳、请求标识符、重试逻辑、缓存结果以及人工审核路径。
- 检查导出文件,而不是仪表盘。 索取示例 OSS、增值税申报表、发票、日记账和审计文件。
- 测试不可变性。 尝试覆盖已结账的期间。系统应当拒绝并强制生成可追溯的调整分录。
- 将计算定价与合规定价分开。 明确 API 调用、交易、注册、申报、存储、支持和额外司法管辖区的完整成本。
- 验证平台经济效益。 对于市场平台,应按每位卖家、每笔交易和每个活跃账户来建模成本,而不是看商户订阅头条价。
- 确认生产就绪度。 SLA、速率限制、Webhook、幂等性、沙盒奇偶性、数据驻留和导出权利。
- 对未来兼容性进行评分。 明确将 2027 年 OSS 变化、2028 年平台规则和 2030 年跨境报告纳入权重。
这份清单中的大部分内容都可以在一个下午针对沙盒公司进行测试;欧盟增值税引擎指南记录了 Nordlet 可以解决哪些供应地、反向征税、视同供应商以及 OSS/IOSS 案例,以及其警告在何处触发。
FAQ
增值税 API 等同于会计 API 吗?
不等。增值税 API 用于计算或申报税款。会计 API 则维护复式记账总账,并将增值税作为已记录交易的一个属性进行存储。如果你的平台需要成为系统记录源,纯增值税工具会迫使你在其他地方维护总账并在两个源之间进行对账。
我能在结账时依赖 VIES 进行实时的 B2B 验证吗?
不能将其作为单一的同步依赖项。VIES 查询的是国家数据库且可能临时中断,如果企业未注册从事欧盟境内贸易,有效的税号可能不会显示,并且无法在事后确认过去的有效性。应在其周围构建缓存、重试、时间戳、请求 ID 和人工审核队列。
“支持 OSS”是否意味着供应商会代我提交申报表?
很少如此,你绝不应做此假设。它可能意味着报表、计算、注册协助或全托管提交。务必询问清楚具体涵盖哪些国家/地区和申报表、由谁提交以及如何处理更正。
如果 Nordlet 仍处于抢先体验阶段,为什么它会出现在此次对比中?
因为它最契合那些需要在单个产品中集成总账、打款、总账完整性和增值税元数据的平台,而大多数纯税务工具并不具备这些功能。抢先体验确实对生产时间表和国家/地区覆盖范围构成了实际限制,因此应将可用性和申报工作流视为验证问题,而不是既定事实。
哪一个单一失误会导致日后最多的增值税麻烦?
未存储税务判定背后的证据。主管机关可能会在销售后数年索取记录,并且 OSS 记录必须保存十年。一个返回正确税率却丢弃了地点证据、VIES 结果和交易关联的工具,即使每次计算都完全正确,也无法通过审计。