一、 商家须知

【阿里商家对接阿里电子发票业务操作流程】

  • 商家需要先以企业纳税人名义向税务机关提交电子发票开户申请,获取相应的注册码(即税务登记号)
  • 向税控盘厂商购买硬件设备(目前全国两家厂商:航信和百望),确定设备管理模式(托管于税控厂商或者企业自行管理),厂商负责硬件部署
  • 天猫/淘宝商家申请阿里平台电子发票业务对接需求,进行初步沟通。(小二:初柒)
  • 商家使用的订单处理系统(如ERP)对接TOP电子发票业务,作为电子发票的入口,负责实现基于订单的发票处理逻辑。(如果商家当前没有可支持的订单系统,可以上卖家服务市场订购ERP)
  • 商家在卖家服务市场,财务类目下订购开票服务并授权,该服务必须支持商家纳税主体所在区域的电子发票开具服务。
  • 商家提交天猫店铺名称,申请天猫平台电子发票白名单权限。(联系小二:初柒)
  • 白名单审核通过,小二打标,电子发票业务正式运行。

 

二、 初始化功能

1、部分开票必选入参作为常量输入,需要ERP提供初始化功能,商家手工填写,ERP服务端做长期存储,主要有一下几个:

  • payee_name: 开票方名称,公司名(如:XX商城)
  • payee_register_no: 收款方税务登记证号
  • payee_address:开票方地址
  • payee_phone:开票方电话
  • payee_operator:开票人(ERP结合自身的账号体,可判断当前系统登录进行订单操作的人员真实姓名,默认获取)
  • tax_rate:税率(税额=税率*总金额)
  • provider_appkey:商家所对应的开票服务商的APPKEY(商家在上线电子发票前需要在卖家服务市场购买第三方的发票服务商服务,对应会有一个provider_appkey,一般一个商家对应一个provider_appkey,这个关系数据需要ERP系统存储维护一份,因目前top的关系查询接口还未上线,暂时会由小二人工提供,ERP手工维护)
  • proxy_appkey:商家自己申请的放在开票代理客户端的appkey(该参数无效,直接用provider_appkey的值入参即可)

 

2、触发订单发起自动开票的订单状态(trade_status),不同的商家需求不一样,有的要求在订单出库开始开票,有的要求货到签收之后,有的要求订单金额入账之后,所以该状态需要让商家进行初始化配置。(建议根据erp管理订单的所有状态,设计成可选项)

三、 开票模式设计

  • 开票实现模式,目前平台支持同步和异步两套方案,说明如下:

差别

同步方案

异步方案

说明

开票请求和结果返回一步完成

开票请求和结果返回分2步实现

开票请求API

alibaba.provider.einvoice.create

alibaba.einvoice.createreq

alibaba.einvoice.create.results.increment.get

特点

实时性高,对系统性能要求高,适用于开票量小的情况

分解数据传输的压力,降低系统压力,避免数据堵塞而导致系统瘫痪,保障数据传输的有效性。适用于开票量大的情况

试用模式

只支持税控盘托管模式

税控盘托管和非托管的模式都支持

 

  • ERP设计开票模式建议同时支持两种模式的切换,提供给商家进行初始化选择:选择税控盘管理方式,在根据管理模式默认相应的开票方案,如果是托管的管理模式,可以再结合日均订单量自有切换开票方案。

四、 换纸质场景

  • 天猫入口:引导消费者进入天猫订单列表→订单详情,就可以看到‘索要发票’入口,改入口即为换纸质入口。

  • 换纸质逻辑:1、天猫会判断当前订单是否有开电子发票,如果正在开具中,发票还未回传成功,会提示消费者不能索要;如果电子已经开具成功并且消费者已经可以下载了,那发起索要之后,会进入卖家审核阶段。2、卖家后台审核通过,订单API标示字段invoice_kind即会更新成2,erp读取该字段判断,并进行电子冲红。
  • 纸质发票再换电子发票:天猫订单无法支持变更
  • 换纸质和换电子规则:限制1次电子换纸质,纸质无法换电子

五、 换抬头场景

  • 入口设计:目前天猫平台没有消费者触发入口,消费者需要告知商家客服,客服通过ERP触发,所以ERP需要在每个订单下设置一个换抬头入口,并输入新抬头的文本框。
  • 逻辑判断:判断当前订单是否有蓝票,如有,自动发起开红票请求实现红票开具,再发起开蓝票请求,将新抬头入参payer_name,重新获取新蓝票。
  • 换抬头规则:平台不限制次数和时间

六、 客户下载发票

  • 天猫平台发票:平台存储,在订单详情页面提供下载链接。ERP调用发票回传接口,根据订单回传发票pdf。(目前还不支持淘宝C店)
  • 其他平台发票

          方法一:ERP进行本地服务端或云端存储PDF,生成可下载链接,商家短信或其他方式通知消费者下载。

          方法二:商家通知消费者,前往对应的开票服务商服务平台下载。

七、 其他说明

1、退款退货、换货冲红

  • 全额退款:消费者从平台触发,根据天猫、淘宝平台订单状态判断,ERP只需实现冲红。
  • 部分退款:消费者从平台触发,ERP实现冲红再开蓝票。
  • 全部退货:消费者从平台触发,ERP只需实现冲红。
  • 部分退货:消费者从平台触发,ERP实现冲红再开蓝票。
  • 换货:天猫平台没有消费者入口,由ERP发起,同时实现发票冲红再开蓝票。

 

 2、多渠道实现开票

支持来自于任何渠道的订单实现开票,开票请求入参platform_code来表示渠道

(TB= 淘宝 、TM=天猫 、JD=京东、DD=当当、PP=拍拍、YX=易讯、EBAY=ebay、QQ=QQ网购、AMAZON=亚马逊、SN=苏宁、GM=国美、WPH=唯品会、JM=聚美、LF=乐蜂、MGJ=蘑菇街、JS=聚尚、PX=拍鞋、YT=银泰、YHD=1号店、VANCL=凡客、YL=邮乐、YG=优购、1688=阿里巴巴、POS=POS门店、OTHER=其他)

 

3、天猫订单与发票数量关系

  • 目前暂时天猫订单只支持一个父订单对应展示一张电子发票,供消费者下载,平台只会校验回传的订单id,不会校验发票内容的合理性。
  • 拆单开票:很多商家会根据订单地址、数量进行拆单,一笔订单分成多比单子出库,发票也会开出多张,那在回传给天猫给消费者下载的时候,只能回传一张,其他通过自有渠道提供给消费者。
  • 合并订单开票:对账父订单合并一张开票,回传给天猫只需回传一笔订单即可。

 

4、企业票和个人票

天猫、淘宝平台店铺面向消费者,故开具的都是个人发票。ERP在发起开票请求时,入参business_type默认都应该是0。

企业发票一般是在分销平台开具。

 

【增值税电子发票开具注意事项】 

1、负数发票

开具负数发票,开票服务器系统自动在备注中注明“对应正数发票代码:XXXXXXXXXX号码:YYYYYYYY”字样,其中“X”为发票10位或12位代码,“Y”为8位号码。

负数发票商品行,如果存在单价和数量,那么单价应为正,数量应为负。

2、折扣

  • 正数发票

在发票和销货清单中,可在每一行商品下加入折扣行,折扣行商品名称栏填写“折扣(X.XXX%)”字样,其中“X”为折扣率数字,金额和税额栏以负数填写,税率与被折扣行商品税率相同,其它栏不填写。

对于相邻商品行折扣率相同的,可汇总填写折扣行,折扣行商品名称栏填写“折扣行数Y(X.XXX%)”字样,其中“Y”为汇总行数数字,汇总金额和汇总税额栏以负数填写,税率与被折扣行商品税率相同,其它栏不填写。

  • 负数发票

开具负数发票,如果对应正数发票中有折扣行,需要将折扣行折回到被折扣商品行中,处理规则:

  1. 单行商品折扣

        1a、被折扣商品行金额(折回后)=被折扣商品行金额-折扣金额,

            折扣商品行税额(折回后)=被折扣商品行税额-折扣税额;

        1b、如果存在单价数量,要反算单价,如单价不含税,

            单价=被折扣商品行金额(折回后)/商品行数量;

   1c、如果不存在单价数量,无需反算单价;

  1. 多行商品折扣(N行)

          2a、第一行:

            折回金额=被折扣商品行金额*折扣率

            折回税额=被折扣商品行税额*折扣率

            被折扣商品行金额(折回后)=被折扣商品行金额-折回金额,

            被折扣商品行税额(折回后)=被折扣商品行税额-折回税额,

            单价反算见1中描述;

   2b、第二行到第N-1行:

处理同2a;

       2c、第N行 :

          被折扣商品行金额(折回后)=被折扣商品行金额-(折扣行金额-前N-1行折回金额之和),

          被折扣商品行税额(折回后)=被折扣商品行税额-(折扣行税额-前N-1行折回税额之和),

          单价反算见1中描述;

  1. 注意:

       3a、开票软件中金额、税额都统一保留2位小数;

       3b、开票中的折扣行紧挨着被折扣商品行,第N行被折扣商品行是离折扣行最远的一行。

       3c、折扣率需要传入正确,并至少保留3位小数(百分数)

 

 

 

 

3、不含税单价、税额,不含税金额、税额等的计算校验

   1)不含税单价=含税单价/1+税率),最大21字符(含小数点) ,最大15位小数位;

   2)不含税金额=含税金额/1+税率),并保留两位小数;

   3)税额=含税金额-不含税金额,并保留两位小数

   4)价税合计=合计金额+合计税额;

 注意:可能会因为软件运行环境的不同导致同一转换规则下出现结果精度不同的情况

  • 商品行最大允许误差:

           |单价×数量-金额|<=0.01 元  此处单价和金额是否含税以传入组件接口的含税标志为准

           |不含税金额×税率-税额|<=0.06元

  • 单张发票允许最大误差:为1.27元,|所有商品行不含税金额之和*税率-所有商品行税额之和| <=1.27
  • 最终的价税合计金额:以接口传入的价税合计金额为准,升级版企业端不做修改,也就是订单合计金额

4、金额、税额校验规则

   1)正数发票合计金额>0、负数发票合计金额<0;

   2)价税合计=合计金额+合计税额;

   3)开票合计金额 与 明细行所有金额加起来要一致;

   4)开票合计税额 与 明细行所有税额加起来要一致;

FAQ

关于此文档暂时还没有FAQ
返回
顶部