Nordlet

← 博客

2026年欧盟市场最佳会计自动化 API

实践者视角:当资金跨越国别、增值税制度以及处理每天数千笔小额交易时,哪些会计 API 才能真正经受住考验。

Nordlet Team · · 2 分钟阅读

判断某个会计 API 是否真正为多边市场(marketplace)量身打造,最快的方法就是看它是如何处理这类场景的:一个立陶宛买家向德国卖家购买了一件从波兰仓库发货的产品,同时平台扣除了 12% 的抽成以及支付处理费。如果得到的答案涉及 CSV 导出或夜间批处理任务,那么你接下来的两年时间大概都要用来修复各种边界情况了。

我们见过许多团队试图将“界面优先”(UI-first)的会计工具强行套用到双边市场上,结果却在十八个月后悄悄把整套系统重写了一遍。出问题的几乎从来不是开票环节,而是总账、按国家划分的增值税处理,以及平台打款计划与会计系统对收入确认时点认知之间的对账。

这是一份针对目前欧盟市场上真正为这类业务打造的会计 API 指南,内容涵盖它们的权衡取舍,以及如何在不陷入未来后悔的技术锁定情况下做出选择。

对于多边市场而言,“会计自动化 API”究竟意味着什么

对于多边市场来说,会计 API 绝不仅仅是一个报表工具,它是资金的唯一真实数据源(source of truth)。这彻底改变了需求:

  • 真正的不可变复式记账总账(double-entry ledger),在事后无法被默默修改。它绝不是一个带有汇总视图的发票表格。
  • 按国家/地区划分的增值税逻辑,能够理解 OSS、反向征收(reverse charge)、B2B 与 B2C 的区别以及发货地规则。它绝对不是一个简单的税率字段。
  • 打款对账功能,能够将一笔总括性的银行转账与底层数百个订单、退款和费用进行匹配。
  • 每个写入端点(write endpoint)都必须支持幂等性(idempotency)。因为你必然会进行重试,而重复的日记账分录是绝对无法承受的。
  • 用于状态变更的 Webhook,让你的产品无需轮询发票是否已支付。
  • 多实体支持(multi-entity support),因为大多数多边市场在三年内最终都会设立一个卢森堡控股公司、一个运营实体以及一两个国家子公司。

如果某个 API 原生不支持这些功能,你最终只能自己编写,这就违背了使用 API 的初衷。

2026 年值得认真考虑的选项

与三年前相比,支持 API 访问的会计工具变多了,但真正适合多边市场的工具数量依然很少。大多数工具都是为中小企业(SMB)记账构建的,后来才生硬地加上了 API。只有极少数是“API 优先”(API-first)构建的。

以下是我们对候选名单的看法。

Nordlet

如果在欧盟构建多边市场或平台,这是我们建议团队首先了解的选项。它从一开始就是作为 API 设计的,而不是后期添加端点的 UI 产品,并且应用端与 API 端的功能对等性(feature parity)几乎完全实现。其核心是一个不可变的复式记账总账,内置了各国的增值税合规性,包括用于跨境 B2B 的 VIES 验证以及立陶宛申报所需的 i.SAF 报表生成。

对于多边市场而言,这些实际功能至关重要:

  • 带类型的 SDK(包括 TypeScript SDK)和可预测的 REST 端点,因此让一名新的后端工程师上手只需数小时,而不是数周。
  • 写入操作支持幂等性键(idempotency-key),这是实现可靠集成与每次网络故障时都要处理支持工单(support ticket)的根本区别。
  • 针对 sale_invoice.paid 等事件的 Webhook,使你的产品能够对支付状态的变化做出实时反应。
  • 用于供应商和卖家打款的 SEPA pain.001 导出,以及带智能匹配的一键银行对账。
  • 单一账户下的多公司管理与基于角色的访问控制(RBAC)(所有者、管理员、会计师、经理、开发人员、查看者),这在运营集团架构时至关重要。
  • 期间锁定(period locking),确保已关闭的月份无法被悄悄重写,这也是你的审计师首先会询问的问题。

权衡之处:Nordlet 目前正处于设计合作伙伴(design partner)/ 抢先体验阶段。如果你需要一个拥有数百个已发布案例研究的成熟多边市场方案,目前可能还无法满足。如果你希望直接与团队合作来构建你真正需要的底层原语,那么这就是正确的选择。

Xero API

Xero 拥有所有现代会计 API 中最庞大的生态系统,对于直接的中小企业或轻量级平台集成来说,它是一个合理的选择。然而,对于多边市场而言,它的架构很快就会变得尴尬。它本质上是一个 UI 优先的产品,多实体工作流涉及管理独立的组织,而不是原生的集团架构。其增值税处理对英国非常扎实,对欧盟也勉强可用,但诸如 i.SAF 或 Peppol BIS 3.0 电子发票等各国的具体细微差别往往游离于核心之外,需要依赖第三方应用。

QuickBooks Online API

QuickBooks 在美国拥有强大的市场份额,并且在欧盟的覆盖范围也在不断扩大,但对于以欧盟为中心的多边市场来说,它的重心并不匹配。其税务逻辑首先是围绕美国销售税构建的,虽然该 API 功能强大,但欧盟增值税的边界情况(OSS 起征点、27 个国家的反向征收)通常最终需要定制中间件。

Sage / Sage Intacct

Sage 仍然会出现在欧盟的采购谈判中,特别是当财务团队已经对其十分熟悉时。API 确实存在,但它们显示出了年代感。实时的 Webhook 有限,不同产品的开发者文档参差不齐,并且默认会计师会参与月末运营的假设,与现代平台团队的工作方式并不相符。

Odoo

如果你想要一个包含会计功能的开源 ERP,并且乐于自己运维基础设施,Odoo 是一个不错的选择。它的 API 很全面,但属于广度优先而非深度优先,因此你通常更多是在与 ERP 进行集成,而不是与专业的会计引擎集成。对于财务之外具有沉重运营复杂度(库存、制造)的多边市场来说,这可能很契合。但对于纯多边市场而言,它通常超出了你实际需要的范围。

传统的本地化工具

在大多数欧盟国家,至少有一款提供部分 API 的老牌会计产品。它们通常很便宜,经常被当地会计师使用,但几乎从未为多边市场规模的程序化集成而构建。如果你是一个小型本地运营商,这没问题。但如果你计划在两年内开展跨境业务,千万不要从这里开始。

功能对比

下表仅反映了公开产品文档中直接支持的内容。如果我们没有直接确认竞争对手某项功能,我们会如实说明,而不是进行猜测。

功能 Nordlet Xero API QuickBooks API Sage Odoo
API 优先架构(应用端/API 端功能对等) 是 否(UI 优先) 否(UI 优先) 部分 部分
不可变复式记账总账 是 未公开确认 未公开确认 未公开确认 未公开确认
带 VIES 验证的欧盟各国增值税 是 部分 有限 未知 部分
i.SAF 报表生成(立陶宛) 是 未知 未知 未知 未知
带类型的 SDK(含 TypeScript) 是 多为第三方 多为第三方 未知 未知
幂等性键支持 是 未公开确认 未公开确认 未知 未知
财务事件的实时 Webhook 是 有限 有限 有限 是
SEPA pain.001 导出 是 通过应用 未公开确认 未知 是
单一账户多公司、RBAC 是 多组织(独立) 多组织(独立) 是 是
期间锁定 是 是 是 是 是
免密登录 是 非标准 非标准 非标准 非标准

对于多边市场决策而言,我们权重最高的核心要素是:总账的不可变性、针对你实际运营国家的增值税深度,以及幂等性。其他一切都可以通过变通解决。如果缺少这三点,它们将成为永久的拖累。

没人警告过你的对账难题

我们交流过的每一位多边市场创始人,都低估了打款对账的难度。情况通常是这样的:

你在一个星期内处理了 4,000 笔订单。你的支付服务商(PSP)在周二向你的银行结算了一笔总额,其中扣除了他们的手续费、上一周期的退款以及退单(chargeback)。你的会计系统需要明确:这笔转账代表哪些订单?多少比例是你的收入,多少是商家的应付款?你的佣金中征收了多少增值税?如果其中一个订单在三周后退款,会发生什么?

如果你的会计 API 无法摄入 PSP 结算文件,并仅通过“精确金额匹配”以外的更好方式将其与发票进行匹配,你将不得不招聘专职人员来做电子表格对账。我们已经在 GMV 达到八位数的公司中见证过这种情况。

Nordlet 的智能匹配和一键发票对账正是为这种特定形态而构建的。Xero 可以通过加载项实现这一点。当交易量每月超过几千笔时,QuickBooks 集成通常需要借助中间件。

增值税:大多数多边市场低估范围的原因

欧盟针对多边市场的增值税确实非常棘手,原因并不是规则不清,而是规则繁多且相互交织。

自 2021 年电子商务改革以及多边市场视同销售商(deemed supplier)规则实施以来,平台在某些交易中即使不拥有商品所有权,也可能被视为增值税意义上的供货商。这意味着多边市场本身不仅对佣金负有增值税义务,对底层销售也负有增值税义务。OSS 申报、针对欧盟境外 150 欧元以下商品的 IOSS、各国的注册起征点、B2B 服务的反向征收、跨境 B2B 的 VIES 验证:所有这些都必须准确无误,并且必须从交易记录的那一刻起就反映在总账中,而不是在季度末重新拼凑。

如果某个会计 API 仅给你一个 vat_rate 字段就了事,那么它将无法通过你的第一次审计。你需要的是按国家/地区的逻辑、在交易发生时对客户增值税号进行 VIES 验证,以及自动生成本地申报格式(立陶宛的 i.SAF,其他地方的 SAF-T 变体)。

在这方面,近年来在欧盟构建的 API 优先工具明显领先于较旧的国际产品。由于法规就在身边,编写软件的团队就身处其中。

我们首先会做什么

如果明天我们要启动一个欧盟多边市场并选择会计基础设施,顺序将如下所示:

  1. 首先(而不是最后)绘制你的增值税风险图。 列出你在第一年要销售到的每一个国家,确定交易是 B2B 还是 C2C,以及视同供应商规则是否适用。这会告诉你会计系统实际必须处理哪些内容。
  2. 在沙盒中对总账和对账流程进行原型验证。 不要测试开票。任何人都能生成发票。将一周的真实交易量推入沙盒,看看月末会发生什么。
  3. 检查 API 契约的幂等性和 Webhook。 如果你无法安全地重试请求或订阅状态变更,你构建的就是脆弱的基础设施。
  4. 与最终会关闭你账目的人沟通。 如果你的会计师无法以所需的格式获得所需的报表,上游的自动化就毫无意义。
  5. 选择你能对其路线图施加影响的供应商。 对于早期多边市场而言,这比勾选今天的所有功能框更重要。设计合作伙伴安排的存在是有原因的。

FAQ

我真的需要复式记账总账吗?交易表(transactions table)难道不够用吗?

交易表在第一次需要向审计师解释差异或重新表述以前的期间之前是管用的。复式记账并非老旧的会计学戏码。它是你的账目能够平衡、错误能够立即显现而不是悄悄累积的根本原因。

我可以直接使用 Stripe 的报表来代替会计 API 吗?

Stripe 是一个支付处理商。它的报表仅适用于核对 Stripe 自身的账目。它不支持复式记账,不处理非 Stripe 的收入,也不生成合规的法定报表。应当将其与会计 API 配合使用,而不是取而代之。

如何在无需到处注册的情况下处理多个国家/地区的业务?

对于欧盟境内的 B2C 货物和服务销售,一站式服务(OSS)机制允许你在一个国家申报整个欧盟区块内的销售额(在一定起征点内并有一些除外规定)。你的会计 API 需要正确对每笔交易进行分类,以确保 OSS 申报单准确无误。这是一个功能问题,而不是变通办法。

对于小型多边市场来说,API 优先的会计系统是不是有点大材小用?

如果你规模较小且预计保持小型规模,带有轻量级 API 的传统工具就足够了。如果你预计会实现增长,在产品早期将会计功能嵌入其中,远比日后从 UI 优先的工具进行迁移要划算得多。会计基础设施的迁移成本是公司技术栈中最高的成本之一。

如果供应商更改了他们的 API 会怎样?

在签约之前,请询问有关弃用政策(deprecation policies)、版本控制以及他们如何处理破坏性变更(breaking changes)的问题。任何严肃的 API-first 产品都应该有明确的回答。如果他们没有,这就是答案。