开具数电发票插件
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(微信同号)