开具数电发票插件

1. 简介

1.1 插件简介

开具数电发票插件支持连接电子税务局,自动开具数电发票(专票/普票)(蓝票/红票),并返回开票日期、发票号码、发票文件、发票地址,且可设置邮箱进行发票的对外交付。

1.2 应用场景

常用于根据销售订单、开票申请等进行自动开具发票,并通过邮件进行发票的对外交付。

1.3 预期效果

1)开票申请人在「开票申请」提交开票申请信息后,财务审批人员进行审批,待开票数据审核通过后,在数据管理」处自动新增开具的数电发票。效果如下所示:

注:财务审批节点有「发送登录验证码」、「上传登录验证码」、「发起刷脸认证」、「获取刷脸结果」这 4 个步骤。每日首次开票时需要执行 4 个步骤,当日后续继续开票时仅需执行「发起刷脸认证」,确认登录和刷脸状态是有效的即可,直到「发起刷脸认证」时提示登录或者刷脸失效时,再去执行登录或者刷脸的动作即可。

2)若需要对发票进行对外交付,根据表单内填写的邮箱地址自动发送邮件。效果如下所示:

1.4 使用说明

1)该插件包含七种事件,如下所示:

  • 1.发送登录验证码
  • 2.上传登录验证码(广东、天津、浙江、湖北四个地区无需上传验证码,可跳过此步骤)
  • 3.发起刷脸认证
  • 4.获取刷脸结果
  • 5.开具数据发票-API 版/5.开具数据发票-无 API 版
  • 6.重新获取发票-API 版 / 6.开具数据发票-无 API 版
  • 7.红冲发票

注:

1)该插件有无 API 权限均可使用「API版」可返回发票文件和发票下载地址,「无API版」仅能返回发票下载地址。

2)因税局登录和刷脸会定时失效,因此在每次失效时 5 个事件需按顺序执行一次,未失效时仅需每次开票前执行一次「发起刷脸认证」,确保需开票时检测当前状态是有效的,然后就可以执行「开具数据发票」。

3)若税局在开票后未及时返回发票信息,可使用「6.重新获取发票」函数进行再次获取发票信息。

2)开具数电发票插件为免费插件,但插件配置时的销方授权码需联系开发者购买。

  • 一个税号对应一个销方授权码;
  • 销方授权码为 1000元/个/年,若税号比较多,可联系开发者咨询优惠价格。

注:开发者联系方式详见本文:【8. 联系方式】。

2. 插件安装及配置

2.1 安装插件

1)直接安装

  • 您可点击右方链接直接安装插件:开具数电发票插件安装
  • 安装成功后,可参考本文【2.2 配置插件】和【2.3 启用插件】,前往开放平台 >> 插件管理处配置并启用插件。

2)插件市场处安装

在简道云「插件市场」处,安装「开具数电发票」插件。插件市场处安装方法可参见文档:插件市场中【2.3 插件安装】。

2.2 配置插件

在插件管理中,点击插件右侧「设置」按钮,将「简道云API Key」「销方授权码」配置进去,配置完成后点击「保存」。

注:

1)无 API 权限的用户,可不填写「简道云API Key」,使用无 API 版函数开票即可。

2)通过【7. 联系方式】联系开发者获取销方授权码。

3)若有多个销方时,每个授权码分别换行配置到销方授权码中即可。

2.3 启用插件

在插件管理中,打开「开具数电发票」插件右侧开关,启用插件。

3. 表单搭建

插件使用体验可先安装:开具数电发票插件模板表单。本文将按照示例表单进行讲解。

表单中的按钮字段和智能助手,需购买销方授权码并开启插件后自定配置。

3.1 创建表单

1)以开票申请为例,新建「开票申请」流程表单,字段设置如下所示:

字段说明

字段名称

是否必填

字段类型

开票申请-开票信息

购方类型

下拉框,设置下拉框选项为:

  • 企业
  • 个人
  • 事业单位

购方名称

单行文本

购方税号

发票类型

下拉框,设置下拉框选项为:

  • 数电专票
  • 数电普票

邮箱地址

单行文本

发票明细

子表单

发票明细.发票行性质

下拉框,设置下拉框选项为:

  • 正常行
  • 被折扣行
  • 折扣行

发票明细.税收分类编码

单行文本

发票明细.税收分类名称

发票明细.产品名称

发票明细.规格型号

发票明细.单位

发票明细.数量

数字

发票明细.单价(含税)

发票明细.金额(含税)

发票明细.税率

数字,设置为百分比

发票明细.单行发票明细拼接字段

单行文本

在「字段属性 >> 默认值」处设置为公式计算,编辑公式如下所示:

CONCATENATE('{','"fphxz":发票明细.发票性质',',"spbm":发票明细.税收商品编码',',"spmc":发票明细.税收商品名称',',"xmmc":发票明细.自定义的商品名称',',"ggxh":发票明细.规格型号',',"dw":发票明细.单位',',"spsl":发票明细.数量',',"dj":发票明细.单价',',"je":发票明细.金额',',"sl":发票明细.税率','}')

注:仅无 API 版需要此字段,有 API 版本的无需该字段。

多行发票明细拼接字段

多行文本

在「字段属性 >> 默认值」处设置为公式计算,编辑公式如下所示:

JOIN(发票明细.单行数据拼接字段,CHAR(10))

注:仅无 API 版需要此字段,有 API 版本的无需该字段。

备注

多行文本

开票申请-销方信息

销方名称

单行文本

销方税号

销方地址

销方电话

销方开户银行

销方银行账号

开票申请-返回信息

开票日期

日期时间,设置类型为【年-月-日】

发票号码

单行文本

发票文件

附件(仅 API 版需要此字段

发票地址

单行文本

开票请求ID

企业登录-发送登录验证码

销方地区

下拉框,下拉框内容设置详见【6.1 关于销方地区的说明】

用户名

单行文本

注:此处填写为登录电子税务局的用户名和密码

用户密码

身份类型

下拉框,设置下拉框选项为:

  • 法定代表人
  • 财务负责人
  • 开票员

税局手机号

单行文本

发送验证码

按钮

企业登录-上传登录验证码

登录任务ID

单行文本

短信验证码

上传验证码

按钮

登录结果

单行文本

企业登录-发起刷脸认证

发起刷脸认证

按钮

刷脸认证ID

单行文本

刷脸认证二维码

企业登录-获取刷脸结果

获取刷脸结果

按钮

刷脸认证结果

单行文本

刷脸认证时间

日期时间,设置类型为【年-月-日 时:分:秒】

开具红冲发票-请求信息

红冲原因

下拉框,设置下拉框选项为:

  • 开票有误
  • 销货退回
  • 服务中止
  • 销售折让

开具红冲发票-返回信息

红票日期

日期时间

红票号码

单行文本

红票地址

红票请求ID

红冲结果

2)点击开票金额.金额」,在「字段属性 >> 默认值」处,选择「公式编辑」,编辑公式为:

发票明细.数量*发票金额.单价(含税)

3.2 流程设定

流程表单配置完成后,切换至流程设定中,进行流程配置。

3.2.1 配置流程发起节点

点击流程发起节点,进行以下操作:

  • 节点属性 >> 节点名称」处,修改节点名称为「开票申请」;
  • 节点属性 >> 字段权限处,勾选部分字段的可见可编辑权限。

3.2.2 配置审批节点

1)点击审批节点,在节点属性 >> 节点名称处,修改节点名称为开票审批;在节点属性 >> 负责人处,选择审批负责人。如下所示:

2)在字段权限处,勾选部分字段的可见可编辑」权限。如下所示:

3.2.3 启用流程

流程设定完成后,点击保存后,再点击启用流程,即可启用当前开票申请流程。

3.3 设置字段别名

进入扩展功能 >> 数据推送中,点击设置字段别名,依次将字段别名设置为下方别名,设置完成后,点击「保存」按钮。设置如下所示:

字段名称

字段别名

购方类型

gmf_lx

购方名称

gmf_nsrmc

购方税号

gmf_nsrsbh

发票类型

fplxdm

发票明细

xmmx

发票明细.发票行性质

fphxz

发票明细.税收分类编码

spbm

发票明细.税收分类名称

spmc

发票明细.产品名称

xmmc

发票明细.规格型号

ggxh

发票明细.单位

dw

发票明细.数量

spsl

发票明细.单价(含税)

dj

发票明细.金额(含税)

je

发票明细.税率

sl

备注

bz

销方名称

xsf_nsrmc

销方税号

nsrsbh

销方地址

xsf_dz

销方电话

xsf_dh

销方开户银行

xsf_yhmc

销方银行账号

xsf_yhzh

开票日期

kprq

发票号码

serial_no

发票文件

files

发票地址

url

开票请求ID

request_id

4. 按钮配置

「1.发送登录验证码」、「2.上传登录验证码」、「3.发起刷脸认证」、「4.获取刷脸结果」这 4 个执行动作均为按钮触发,配置方式相同。本章节以「发送登录验证码」为例,具体配置步骤如下所示:

4.1 添加执行事件

点击「发送验证码」按钮,进入「字段属性」,点击执行动作下的设置,添加执行动作:

4.2 设置事件名称和说明

添加好执行动作后,首先设置前端事件的基础信息,即事件名称和事件说明,用于区分执行动作:

4.3 设置执行动作

1)设置执行动作如下:

  • 选择插件:选择「开具数电发票」插件;
  • 选择执行动作:1.发送登录验证码
  • 配置参数:分别以「字段值」方式配置销方税号、销方地区、用户名、用户密码、身份类型、税局手机号;

2)设置执行返回信息回填至哪些字段中,设置完成点击「保存」。

注:「3.发起刷脸认证」和「4.获取刷脸结果」都有刷脸认证结果、刷脸认证时间两个返回值,都返回到表单的同一个字段中即可。

5. 智能助手配置

「API 版」用户需要配置智能助手触发「5.开具数电发票-API版」,以便通过 API 回写发票文件;

「无 API 版」用户不能使用智能助手来触发,需使用「按钮」或者流程中的「插件节点」来触发「5.开具数电发票-无API版」,配置方式参考【4.3 设置执行动作】。

5.1 添加智能助手

在「扩展功能」处添加「智能助手」,并修改智能助手名称为「开具数电发票」。

5.2 设置触发动作

根据使用场景需要,选择对应的触发动作。以开票申请流转完成后开具数电发票为例,设置触发动作如下:

  • 触发动作:选择「修改数据」
  • 触发表单:选择「开票申请」
  • 触发条件:设置「流程状态等于流转完成」

设置完成后点击「完成」。

5.3 设置执行动作

1)开票申请流转完成后,触发「开具数电发票」插件,故执行动作在「插件」中选择「开具数电发票」。

2)设置执行动作如下所示:

  • 选择执行事件:开具数电发票;
  • 应用 ID:设置为「字段值」,即「应用 ID」字段;
  • 表单 ID:设置为「字段值」,即「表单 ID」字段;
  • 数据 ID:设置为「字段值」,即「数据 ID」字段;
  • 销方税号:设置为「字段值」,即「销方税号」字段;
  • 文件格式:设置为「自定义」,支持同时返回单个/多个文件格式和发票地址;
  • 是否触发智能助手:设置为「自定义」,如设置为「否」;
  • 邮箱地址:设置为「字段值」,即「邮箱地址」字段;
  • 邮件文件格式:设置为「自定义」,支持从下拉框中选择不同的邮件格式。

设置完成后,点击「完成」按钮,保存智能助手设置。

注:

1)在开票返回发票文件后,如果还需要执行助手进行发送短信/邮件或操作其他表单,需要设置「是否触发智能助手」为「是」。

2)若设置「是否触发智能助手」为「是」,那么设置数电发票的智能助手执行动作时,需增加「开票请求ID」并设置其值为空,以避免返回数据触发智能助手时,再次触发开票的智能助手。

3)邮件交付需先在电子税务局进行「发件邮箱设置」,详细设置步骤可参见右侧附件:邮箱设置指引.pdf

6. 红冲发票流程节点设置

因开具红冲发票涉及请求参数和返回参数,故需要使用流程中的插件节点来实现。

开具红冲发票时,也需要登录和刷脸认证,配置方式见【4. 按钮配置】;

红冲发票需对应原蓝票信息进行红冲,红冲时为全额红冲,每张蓝票可以红冲一次。

6.1 流程发起节点

点击流程发起节点,在节点属性 >> 节点名称」处,修改节点名称为「发起红票申请」;节点属性 >> 字段权限处,勾选部分字段的可见可编辑权限:

6.2 插件节点

6.2.1 添加插件节点

「流程设定」中,从工具栏中选择「插件节点」,将其拖动至流程图中,通过流程连接线将全部流程节点串联起来

6.2.2 设置插件节点

1)选中插件节点,在「节点属性 >> 节点名称」处设置节点名称为「开具红冲发票」,然后点击「插件配置」:

2)进入插件配置页面,在下拉框中选择「开具数电发票」插件,再选择「7. 红冲发票」函数:

3)选择好插件后,将自动展示该插件需要配置的请求参数,分别以「字段值」方式配置「销方税号」「购方税号」「蓝票号码」「蓝票日期」「发票类型」「红冲原因」;

4)点击「添加」,设置插件的返回参数的存储关系,将返回值「红票号码」「红票地址」「红票日期」「红票请求ID」「红冲结果」存储到表单已有字段中,设置完成点击「确定」。

6.3 启用流程

流程设定完成后,点击保存后,再点击启用流程,即可启用当前流程。

6.4 效果演示

效果参见本文【1.3 预期效果】。

7. 注意事项

7.1 关于销方地区的说明

请根据销方所在地区,填写以下标准名称:

北京市、天津市、河北省、山西省、内蒙古、辽宁省、大连市、吉林省、黑龙江省、上海市、江苏省、浙江省、宁波市、安徽省、福建省、厦门市、江西省、山东省、青岛市、河南省、湖北省、湖南省、广东省、深圳市、广西、海南省、重庆市、四川省、贵州省、云南省、西藏、陕西省、甘肃省、青海省、宁夏、新疆。

注:以上名称中某些城市是独立的税局,因此销方所在地区需要传具体的城市,不能再传省。

7.2 关于登录时税局手机号的说明

除广东、天津、浙江、湖北外,其他地区税局手机号都是必传。

且广东、天津、浙江、湖北四个地区,仅需要做登录,不需要发送验证码,可直接进入刷脸认证环节。

7.3 关于登录扫脸状态控制的说明

因登录和扫脸存在失效,因次在需要开票前做一次状态的检测,以确保可以正常开票。

在「发起刷脸认证」和「获取刷脸结果」事件中检测到状态有效时,均会返回一个最新的时间,可以在流程节点中设置一个提交校验:DATEDIF(刷脸认证时间,NOW(),"m")<=1,以便控制正好在检查了最新的状态为有效时才能提交,去开具数电发票。

7.4 关于税收分类编码和名称基础表

开票时需要传19位的税收分类编码和名称,可参考右表,选择自己公司所需的编码和名称:税收分类编码和名称表.xls

7.5 关于购方名称/税号的说明

请在开具发票前确保购方名称、购方税号的信息一致性,避免开具的发票购方名称不对,建议在建立客户档案的校验一下购方名称,或者在开票申请时校验一下购方名称、购方税号的信息一致性。

7.6 关于价税分离的说明

本插件统一采用含税金额进行开票,若企业需要分别统计不含税金额和税额、可在表单中预先计算好该金额。

  • 不含税单价=含税单价/(1+税率); 
  • 不含税金额=round(含税金额/(1+税率),2);
  • 税额=含税金额-不含税金额;

注:本插件统一采用含税金额进行开具发票,系统会自动在开票时反算对应的不含税单价、不含税金额。

7.7 关于流程自动化的说明

帮忙文档中的配置按照常规操作步骤逐一展开的,若用户想通过流程去自动判断登录/扫脸的状态,根据返回值再去做当前需要执行的动作,可参考以下设置方面,在流程中去做判断,由于情况分支比较多,整个流程的节点会相对较多。

8. 联系方式

该插件为官方合作的服务商开发,若您在使用过程中有任何疑问,可通过以下方式咨询:

  • 公司:成都轻如燕企业服务有限公司
  • 联系人:赵鹏
  • 联系电话:18583980516(微信同号)

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验