功能

如何将 SmartBill 连接到 easySales:完整设置指南

如何将 SmartBill 连接到 easySales:完整设置指南

把 SmartBill 连接到 easySales:CIF、令牌和用户名在哪里找,表单上每一项设置的作用,导致大部分开票失败的那个库存决定,以及每条 SmartBill 报错的含义。

连接 SmartBill 之后你能得到什么

SmartBill 是一家罗马尼亚的开票服务商,也是 easySales 卖家用得最多的一家。连接之后,它可以直接为订单开出发票,你不用重新输入任何内容——可以从订单列表开、在订单里开、批量开,也可以由流程自动开。它还能反过来做一件事:把你在 SmartBill 里的库存读出来,写回 easySales。

这是两条各自独立的连接,各自保存一份相同的凭据。本指南两条都讲,并且每处都会写清楚说的是哪一条。

开始之前

你的 CIF

SmartBill 在 Configurare → Datele firmei → Generale 里显示的税号。

一个 API 令牌

来自 SmartBill 的 Contul Meu → Integrări。你每改一次 SmartBill 密码,它都会重新生成。

账户邮箱

你注册 SmartBill 账户时用的地址。它就是凭据里“用户名”的那一半。

一个关于库存的决定

开票时要不要让 SmartBill 把货从库存里扣掉。这是必填项,也是最常导致开票失败的一项设置。第 4 步会把两种答案都讲清楚。

第 1 步 — 从 SmartBill 里取三个值

easySales 需要的东西,你的 SmartBill 账户里都已经有了。SmartBill 的界面是罗马尼亚文,所以下面这些菜单路径在你的屏幕上就是这个样子,无论你用哪种语言使用 easySales。

  • CIF — 在 SmartBill 里打开 Configurare → Datele firmei → Generale(设置 → 公司资料 → 常规),复制 CIF 这一栏。
  • Token — 打开 Contul Meu → Integrări(我的账户 → 整合),API 信息在页面底部。
  • 用户名 — 你注册 SmartBill 账户时用的电子邮箱地址。

第 2 步 — 在 easySales 里打开 SmartBill 卡片

进入 开票与系统 → 计费软件(旧版布局是 整合方式 → 计费软件),找到 SmartBill。它是页面上的第一张卡片。

easySales 的计费软件页面筛选到 SmartBill,显示已连接的 SmartBill 卡片、罗马尼亚国旗和编辑操作。
计费软件页面上的 SmartBill。它是那里的第一张卡片。

点击 连接

第 3 步 — 填写连接

easySales 中 SmartBill 连接表单的上半部分,显示连接名称、公司注册号码、代币、用户名(电子邮件)、用作产品的库存来源和仓库名称。
凭据和库存决定。公司注册号码那一栏要填的是你的 CIF。
字段 该填什么
连接名称 任何能让你认出这个账户的名字。必填。永远不会离开 easySales。
公司注册号码 你的 CIF,来自 SmartBill 的 Configurare → Datele firmei → Generale。别管这个标签怎么写,这里不填工商登记号。
代币 来自 SmartBill 的 Contul Meu → Integrări。你每改一次 SmartBill 密码它就会变。
用户名(电子邮件) 你注册 SmartBill 账户时用的电子邮箱地址。
表单最上面的四栏

第 4 步 — 决定要不要让 SmartBill 扣减库存

用作产品的库存来源 是这个表单上后果最大的一项设置,也是最值得你在保存前想清楚的一项。别被名字带偏了:它跟 库存源 那个页面没有关系,它只决定开票时 SmartBill 要不要从自己的仓库里把货扣掉。

设成 是的,SmartBill 每开一张发票就把货从库存里扣掉。多数卖家要的就是这个效果——但这也意味着,只要有产品扣不动,SmartBill 就会拒开这张发票。

设成 ,发票照开,完全不碰库存,上面这些问题也就都不会发生。

如果你确实用 是的,就在 仓库名称(可选,区分大小写) 里填上 SmartBill 那边仓库的名字,一字不差地照抄。大小写是区分的,而且这个值只会写到产品行上——运费行和折扣行永远不带仓库。

第 5 步 — 表单的其余部分

SmartBill 连接表单的下半部分,显示发送产品时排除税、通过收据收取发票、带蓝色提示条的在 easySales 中本地下载发票,以及带变量按钮的模板文本框。
表单的其余部分。凭据以下,除了用作产品的库存来源之外没有必填项。
设置 作用 默认值
用作产品的库存来源 开票时 SmartBill 要不要扣减库存。必填——不回答这一项,表单就保存不了。 未设置
仓库名称(可选,区分大小写) 各行记到 SmartBill 的哪个仓库上。区分大小写。只有在扣减库存打开时才会用到。
使用付款税 按收款时点计税(TVA la încasare)开票。只有你公司确实这么做时才打开。
在术语表中保存产品 如果开票的产品在 SmartBill 里还不存在,就把它们建出来。 是的
在术语表中保存产品名称 设成不,SmartBill 对它已经认识的产品沿用自己那边的名称。 是的
发送产品时排除税 发送不含税价,让 SmartBill 自己加税。
通过收据收取发票 把订单标记为已付款时,付款一律记成收据(Chitanță),不管订单实际的付款方式是什么。
在 easySales 中本地下载发票 easySales 只取一次 PDF,之后从自己的存储里提供,不必每次都去问 SmartBill。 是的
模板 自由文本,会作为提示和备注打印在发票上。文本框上方的按钮用来插入订单和产品的值。
凭据下面的那些设置

第 6 步 — 高级选项

显示高级选项 这一块默认是收起的,里面没有一项是必填。它一共有二十四项设置;下面这些是真正能解决问题的。

展开后的 SmartBill 高级选项第一部分,显示发票模型、如果公司增值税号缺失则阻止发票生成、使用产品描述、发票语言、发行人CNP、发行人姓名、代表姓名和到期日。
高级选项上半部分。什么都不选时,发票语言默认是罗马尼亚文。
展开后的 SmartBill 高级选项第二部分,显示基于发票创建反向发票、选择产品名称、运输服务名称和运输服务代码、自动检测区域、0% 增值税率名称、移除特殊字符,以及带国家列表的数据转写。
高级选项下半部分。运输服务名称和运输服务代码只有一起填才生效。
选项 什么时候用得上
发票模型 让这条连接开形式发票,而不是发票。
如果公司增值税号缺失,则阻止发票生成 订单上没有公司 CUI 时直接拦下这张发票,而不是把它开错。
发票语言 SmartBill 用哪种语言写这份单据。不动它就是罗马尼亚文。
到期日 / 优先使用客户级付款期限 以天为单位的付款期限,以及客户层级设置的期限是否优先于这里。
基于发票创建反向发票 让红冲单成为真正基于原始发票生成的反向单据,而不是另起一张新的。
运输服务名称 和 运输服务代码 给发票上的运费行命名。两个都要填——只填一个不起作用,那一行仍然显示 Transport
0% 增值税率名称 你的零税率在 SmartBill 税率表里的名称。只作用于税率为 0 的行。
自动检测区域 订单本身没带区号时,从地址里推断出布加勒斯特的行政区。
数据转写 把你勾选的那些国家的客户姓名和地址改写成拉丁字符。对保加利亚和希腊的地址很有用。
值得设置的高级选项

开发票

位置 作用
订单列表上的 快速创建 为这个订单开一张发票。被 SmartBill 拒绝时会变红并带上错误信息。
订单页面上的 创建发票 同样的事,只是在订单内部完成。
作为批量操作的 生成发票 最多 50 个选中的订单,每单一张发票。
过程组 组内订单在处理时逐一开票。
自动化流程 创建发票 这个动作,开票就不需要任何人点按钮了。
可以从哪些地方开发票

SmartBill 拒开发票的时候

SmartBill 的拒绝理由会原封不动地以罗马尼亚文透传出来,无论你用哪种语言使用 easySales。只要读得懂,这些提示其实很精确。下面是卖家真正会碰到的那几条。

SmartBill 的原文 该怎么办
Cantitate stoc insuficienta la … pentru produsul … 扣减库存开着,而指定仓库里这个产品的存量不够。先在 SmartBill 里入库,或者把“用作产品的库存来源”设成不。
Nu ai facut nicio achizitie pentru produsul … Incarca mai intai stoc pentru produs sau emite documentul fara descarcare de gestiune. 同一个原因:这个产品从来没在 SmartBill 里入过库,所以没有东西可扣。
Cota tva a produsului … nu a fost gasita pe server! 这个产品的税率在你的 SmartBill 税率表里不存在。要么在那边补上,要么改正订单上的税率。
Seria nu a fost gasita! Folositi o serie creata in contul de cloud. easySales 发过去的系列在 SmartBill 里没有。用同样的名称在那边建一个,或者改掉订单来源的市场或网站上设置的系列。
Unitatea de masura … nu are factor de conversie setat. 这个计量单位在 SmartBill 里没有换算系数。到那边的产品上设置一下。
Nu puteti adauga produse cu cote tva diferite daca unul din ele are cota TVA inclusa! 有一行是含税价,其他行不是。把整张单据统一成一种。
invoiceProducts trebuie specificat si trebuie sa contina cel putin un element 所有行都被过滤掉了——最常见的情况是订单上只有折扣,而折扣又被排除了。
Firma cu ciful … a expirat la data de … SmartBill 里的公司注册已经过期。到 SmartBill 里续期。
Nu poti genera documente prin API. Te rog sa reincarci soldul de credite. 在你到 SmartBill 账户里把这件事处理掉之前,SmartBill 不会再通过 API 开出任何单据。这在 easySales 里无法解决。
Autentificare esuata. Va rugam verificati datele si incercati din nou. 邮箱或令牌不对,通常是改过密码之后。把当前的令牌重新粘贴一次。
Firma la care incercati sa va conectati nu mai este disponibila in Cloud. 这家公司已经从 SmartBill Cloud 里移除了。
SmartBill 最常见的拒绝理由是什么意思

取消、删除和红冲

easySales 在订单上提供 取消发票删除发票创建Storno发票 三个动作。至于哪一个能用,由 SmartBill 说了算。

三者的区别是:取消发票删除发票 都是去动 SmartBill 上那张原始单据,而 创建Storno发票 是另外开一张方向相反的单据,原来那张仍然保留。

红冲单是一张方向相反的单据,任何时候都开得出来——所以只要取消和删除都被拒绝,答案就是它。

可选 — 把 SmartBill 当作库存来源

SmartBill 也能告诉 easySales 你手上有多少库存。这是 第二条、完全独立的连接,位置在 库存源 页面——注意不要和另一个叫 仓库 的页面搞混——它有自己的一份 CIF、令牌和邮箱。这里放 CIF 的那一栏叫 增值税号,放的其实还是同一个值;而这一页的令牌栏叫 令牌,开票那一页叫 代币,两者说的也是同一个 API 令牌。

easySales 库存源里的 SmartBill 表单,有两栏都叫仓库名称,中间夹着增值税号、令牌、邮箱和库存同步模式。
库存连接。上面那个仓库名称只是给你自己看的标签;下面那个必须和 SmartBill 完全一致。

产品是按产品 库存 标签页上的 库存代号 来匹配的,如果它是空的就退回用 SKU——SmartBill 匹配发票行用的也是同一个值。库存同步模式 决定 easySales 是只读你指定的那一个仓库,还是把所有 SmartBill 仓库加总起来。

同步每 30 分钟跑一次,而且严格单向:SmartBill 覆盖 easySales,绝不反过来。你在 easySales 里改过的库存,下一次同步就会被替换掉。

SmartBill 适合你的公司吗

常见问题

三个都在 SmartBill 里。CIF 在 Configurare → Datele firmei → Generale。令牌在 Contul Meu → Integrări,API 信息在页面底部。用户名就是你注册 SmartBill 账户时用的电子邮箱地址。这些菜单是罗马尼亚文的,因为 SmartBill 的界面本来就是罗马尼亚文。

不该,填 CIF。这个标签不准确;同一栏在罗马尼亚文版本里写的是 CUI Firmă,那才是它真正要的东西。easySales 每次调用都会把这个值当作公司税号发给 SmartBill。

不是。保存时 easySales 并不会去联系 SmartBill,所以 CIF 填错、令牌过期、邮箱打错都会保存成功。保存完立刻开一张发票——只有这样才知道行不行。

打开这项设置后,SmartBill 会在开票的同时扣减库存,所以凡是扣不动的产品,它就拒开这张单据——要么这个产品从来没在 SmartBill 里入过库,要么你指定的那个仓库存量不够。这两条拒绝加起来占了 SmartBill 全部问题的将近四分之三。先在 SmartBill 里把库存入上;或者把这项设成不,发票照开,完全不碰库存。

按 easySales 里产品“库存”标签页上的库存代号来匹配,如果库存代号是空的就退回用 SKU。开票和库存同步用的都是它,而且必须和 SmartBill 完全一致,包括大小写和空格。

不能。单据一旦报送到 SPV,SmartBill 两样都不允许。另外,只有当单据是该系列里的最后一张时才能删除。这两种情况的出路都是红冲——一张方向相反的单据——easySales 在订单上以“创建Storno发票”提供这个动作。

令牌会重新生成,所以所有还在用旧令牌的 easySales 连接都会失效。如果你还从 SmartBill 读库存,那是第二条连接,它保存着自己的一份令牌:计费软件 → SmartBill 和 库存源 → SmartBill 两处都要更新。开票会立刻报出“Autentificare esuata”;库存连接则是悄悄失败,还可能继续显示上一次成功读取时的数字。

不能。批量开票一次最多处理 50 个订单,每个订单开一张 SmartBill 单据。要把多个订单合并到一张发票上,只能直接在 SmartBill 里开。

easySales 先看订单来源的市场连接,再看网站,最后看订单本身,用找到的第一个系列。如果哪里都没设置,它就会发送 INV——这个系列在你的 SmartBill 账户里几乎肯定不存在,于是就报“Seria nu a fost gasita”。请把系列设置在市场连接和网站上,而不是逐个订单去设。

本指南对你有帮助吗?