Nordlet

← 文档 / 指南

从 Stripe 导入

从 Stripe 导出付款数据,设置导入模板,并让 Nordlet 自动记账手续费、客户、发票和退款。

本指南介绍如何通过导入模板文件导入 Stripe 付款:包括要导出哪些内容、如何设置模板以及导入会生成什么数据。API 详情请参见银行与付款导入。

1. 从 Stripe 导出付款文件

在 Stripe 控制台中打开 Payments(付款)-> Export(导出),选择日期范围,保持 All columns(所有列),并包含您使用的元数据列(Stripe 会将每个元数据键导出一列,命名格式为 <key> (metadata),例如 orderNo (metadata))。下载 CSV 文件。正式环境(live)和测试环境(test-mode)的导出来源均适用。

未产生资金流动的行在导入时会被跳过:包括失败、已取消或仍需付款方式的付款尝试,以及从未捕获(captured)的交易。

2. 为 Stripe 创建银行账户

每笔导入都会落入一个银行账户中。在 Bank(银行) 下点击 New bank account(新建银行账户),选择 Type(类型):Stripe(Stripe 账户没有 IBAN),将其命名为例如 "Stripe",选择您收款时使用的币种及其对应的总账科目。Stripe 余额的运作方式类似于银行账户:收入计入收款,支出扣除手续费,打款(payouts)则将余额转移到您的真实银行账户。

3. 创建导入模板

在 Bank(银行) -> Import templates(导入模板) 下点击 New import template(新建导入模板),选择类型 Stripe,并为其指定一个名称。

字段(Fields)。 Stripe 导出的每一列对应一行配置。Required in file(文件中必填) 勾选框表示该列必须存在于上传的文件中;缺少必填列的文件将被拒绝,系统会提示缺少的列名。19 个 Card …(银行卡……)列默认未勾选,因为 Stripe 对某些账户会省略这些列。

总账科目(Ledger account)。 承载资金的行(Amount、Fee、Amount Refunded)可以指定到一个总账科目,可以是从现有科目中选择,也可以从该行直接新建科目。通过指定字段产生的所有资金变动都会在导入时过账(post):收入会借记(debit)Stripe 银行账户并贷记(credit)指定的科目,支出则相反,同时银行交易会被标记为与该日记账分录匹配。常见的设置为:

字段 科目 影响
Fee PSP 手续费费用科目(标准会计科目表中的 6800) 每笔 Stripe 手续费均记为费用
Amount 留空("Not posted") 留待款项与发票进行匹配(见第 5 步)
Amount Refunded 留空("Not posted") 退款通过贷项通知单处理(见第 5 步)

创建缺失客户(Create missing customers)。 在 Customer Email 行勾选此项。文件中若有任何尚未建立关联业务伙伴的电子邮箱,系统将自动为其创建一个客户:名称取自 Customer Description(为空时则使用邮箱),地址在存在时取自 Card Address … 列。系统会通过不区分大小写的邮箱识别现有业务伙伴,因此不会重复创建。

创建业务伙伴 Stripe(Create partner Stripe)。 在 Fee 行勾选此项。导入操作会创建一次名为 Stripe 的供应商业务伙伴(如果已存在同名业务伙伴则会复用),并将日记账中的每笔手续费分录关联到 Stripe,以便手续费账目能够查明付款对象。

元数据字段(Metadata fields)。 为您希望导入读取的每个元数据键添加一行,例如 orderNo。这些行可以设置两个标志:

  • 创建或关联发票(Create or link invoices) - 标记用于识别订单的键(第 5 步)。只能有一行带有此标志。其旁边会显示创建的发票适用的增值税(VAT)税率,以及一个可选的商品目录项(Catalog item):选择后,导入创建的每行发票明细都将引用该产品或服务,因此收入将记入该商品的科目;行文本仍取自原始费用。
  • 公司标志(Company flag) - 标记一个键,其值表示买方为公司(true、1、yes、company、business 或 b2b)。由此类交易创建的客户将作为公司类型的业务伙伴;其余则为个人。

保存模板。

4. 导入文件

在 Bank(银行) 中选择 Stripe 银行账户、模板和文件,然后点击 Import(导入)。按钮会显示加载动画直至导入完成;由于发票是逐张开具的,较大的文件可能需要几分钟。结果行会报告导入了多少笔交易、已存在多少笔交易、过账了多少笔资金变动,以及创建了多少客户、发票和贷项通知单。警告信息会列出未能处理的订单及其原因。

重复导入同一个文件是安全的:系统通过 Stripe 交易 ID 识别交易,通过邮箱识别客户,通过元数据值识别订单。

5. “创建或关联发票(Create or link invoices)”的作用

费用和退款会按所选元数据键(订单号)的值进行分组。

  • 如果该值的销售发票已经存在(即外部参考号为该值的销售订单,或发票号为该值的发票),系统会将其作为付款与这些费用进行匹配。
  • 否则,系统将为客户创建一张销售发票:每笔费用对应一行,使用该行的行文本以及按模板增值税率计算的含税价作为费用金额,日期设为第一笔费用的日期。发票将立即开具并过账,费用与其进行匹配,从而显示为已付。系统将记录渠道为 stripe 并且带有该订单号的销售订单,以便下次导入时直接进行关联而不是重复创建。
  • 分组中的每笔退款都会针对该发票开具相应退款金额的贷项通知单,并将退款交易与该贷项通知单进行匹配。

缺少客户邮箱、包含不同币种费用,或者其现有发票仍为草稿或已付清的分组将被跳过并列入警告中。它们的交易将保持未匹配状态,显示在 Bank(Transactions)(银行 -> 交易)页面中。

发票编号将从当年号段中获取,即使是早年日期的交易也是如此,因此历史数据的导入不会与现有编号发生冲突。

6. 模板底部的六个可选字段

大多数公司会将这六个字段全部留空,导入也能正常运行。它们仅用于两种特定场景:您希望将银行卡预授权记录为凭证,或者您代收了部分属于他人的资金。

为什么下拉菜单看起来是空的

三个“操作类型(operation type)”下拉菜单列出了您在 Account(账户) -> Operation types(操作类型) 下创建的操作类型。如果您尚未创建任何操作类型,下拉菜单将为空。这不是故障;请先创建一个操作类型,或者将该字段留空。

出借人元数据字段(Lender metadata field) 下拉菜单列出了您在同一表单上方 Metadata fields(元数据字段) 列表中输入的元数据列名。请先在那里添加元数据字段,它才会显示在此处。

部分退款标签和全额退款标签

当导入为退款创建贷项通知单时,这些字段决定了在该贷项通知单 PDF 顶端打印的字样。

情况 使用的字样 默认值
退款金额小于发票总额 部分退款标签(Partial refund label) DEPOZITAS
退款金额等于发票总额 Full refund label(全额退款标签) ANULIAVIMAS

只有当您的公司需要在该类凭证上打印不同字样时才修改它们。它们不影响编号,也不影响会计分录。

授权操作类型

卡片授权是客户卡上被预留但您尚未扣款的金额。在 Stripe 导出的数据中,这些行的 Captured 值为 false。导入通常会忽略它们,因为并没有发生资金转移。

填写此字段后,每一行此类数据都会变成一张已开具的销售单据,并使用此操作类型以及该操作类型所指向的单据编号序列。如果将其留空,这些行将被跳过,并且导入结果会显示警告“authorization(s) skipped: template has no authorization operation type”(已跳过授权:模板没有授权操作类型)。

如果您不确定业务是否必须将预授权显示为单据,请将其留空。

打款操作类型、佣金操作类型和出借人元数据字段

除非您的业务涉及代收属于他人的资金(例如向卖家付款的市场平台,或向借款人付款的平台),否则请完全跳过这一部分。普通店铺永远不需要填写这些。

Stripe 通过两个文件来记录这一过程。payments(付款) 导出会说明每个客户支付了多少。单独的 transfers(转账) 导出会说明其中有多少资金转给了另一方。导入需要这两个文件才能算出您留存了多少。

在 Bank(银行) 页面中,当存在至少一个 Stripe 模板时,导入表单会显示一个 Stripe transfers export(Stripe 转账导出) 文件框;请在 payments 文件旁边选择 transfers 文件。通过 API 调用时,它是 bank/statements/import 的 transfersCsv 字段。

当两个文件都存在时:

字段 作用
Payout operation type(打款操作类型) 对于给对方的每笔转账,系统会为转账金额写入一笔总账分录。借方和贷方科目由此操作类型决定。如果留空,则改用应付卖家(seller-payable)和应付供应商(supplier-payable)的过账规则。
Commission operation type(佣金操作类型) 您留存的部分,计算公式为:费用金额减去 Stripe 手续费再减去转出金额,仅在结果大于零时写入。科目由此操作类型决定,否则来自应付卖家(seller-payable)和佣金收入(commission-revenue)的过账规则。
Lender metadata field(出借人元数据字段) 记录资金去向的 Stripe 元数据列的名称。系统将创建具有该值的业务伙伴(若已存在则复用),并将其设置在上述两笔分录中。如果留空,或某行缺少该值,将发出“lender not identified”(未识别出借人)警告,且写入的分录不带业务伙伴。

如果两个操作类型字段均为空,则无论其他设置如何,都不会写入任何转账或佣金分录。

7. 打款至您的银行账户

payments 导出的数据中没有打款(payouts)行,因此 Stripe 发送到您真实银行账户的资金需要根据打款报告进行记账。在 Stripe 控制台中打开 Reports(报告) -> Payouts(打款) -> Payout reconciliation, itemized(打款对账明细),下载该文件,并在 Bank(银行) -> Settlements(结算) 下将其导入到您的真实银行账户中,然后过账每笔打款。

对于该导入已经将费用、手续费或退款录入 Stripe 银行账户的每一笔打款行,过账操作会将其净额从 Stripe 银行账户转移到真实银行账户。手续费和发票付款不会被重复记账。Stripe 已打款但本次导入未曾见过的行将按照银行与付款导入中所述进行记账。

每笔打款都会显示 Difference to imported payments(与导入付款的差异):即打款转移的金额减去 Stripe 银行账户中对应相同费用和退款的金额。零表示打款已完全清算 Stripe 账户。存在差异的行,或 Stripe 账户上有变动但尚未过账的行,会被计入 Lines to check(待检查行)。payments 导出仅保存每笔费用的退款总额,因此单笔费用的所有退款行会统一与该总额进行对比。

如果在导入 payments 文件之前就已经对打款进行了过账,导入将跳过该打款的费用、手续费和退款,并在警告中将其列出。

8. 后续查看位置

  • Bank(Transactions)(银行 -> 交易)- 所有导入的资金变动;已匹配的交易会链接到发票或日记账分录。
  • Invoices(发票)- 创建的发票和贷项通知单,备注中包含订单号。
  • Partners(业务伙伴)- 创建的客户。
  • Ledger(Journal)(总账 -> 日记账)- 手续费、付款和发票的过账分录。

计费

文件大小上限为 10 MB,最多支持 50,000 笔资金变动。每导入 10 笔资金变动计为一个 API 请求。