发票云组件服务(开票)API说明文档

一、概述

文档概述

1.1目的

本文档旨在编写一个面向开发者的完整的API调用规范,供需要调用票无忧功能的开发者使用。本文档不包括API具体的实现细节。

1.2适用范围

本文档适用阅读人员包括:发票云的设计、开发人员,合作伙伴。
适用于航天信息金税盘或百望税控盘设备。
适用发票云组件版本:1.2.4或更新

1.3调用方式

接口均为POST方式,只支持Content-Length报文编码,不支持Chunk编码
所有接口均使用UTF-8编码请求与返回

IP直连方式
适用于局域网内的HTTP调用方式,默认端口为61624

通过接口长连接方式调用
接口地址:
https://wss.piaozone.com/bill-websocket/invoicewebsocket/push

clientsecret(发票云授权信息)3de1f420ed08409bbc3d4b9a156b4945, 盘号为3312345667,则;链接地址为https://wss.piaozone.com/bill-websocket/invoicewebsocket/push?name=如clientsecret为3de1f420ed08409bbc3d4b9a156b49453312345667

请求参数:

字段 类型 是否必须 描述
messageId string 本次请求的编号,用于后端区分(可以使用时间戳作为编号)
request_path string 请求的组件接口资源路径 (默认为/
... ... ... 其他接口参数

1.4接口认证方式

接口认证均使用sfrz字段中的认证信息

字段 类型 是否必须 描述
client_id string 由发票云分配的id
client_secret string 由发票云分配的密钥
timestamp string 时间戳
signature string 签名=MD5(client_id + client_secret + timestamp)

认证示例1:

"sfrz":{
    "client_id":"",
    "client_secret":""
}

认证示例2:

"sfrz":{
    "client_id":"",
    "timestamp":"",
    "signature":""
}

二、组件税控开票接口

纸质发票操作接口

支持的发票类型

发票类型 代码
专用发票 0
普通发票 2
机动车销售统一发票 12
卷式发票 41
电子发票 51

2.1获取税盘信息

说明:
获取税盘设备信息。

请求参数:

字段 类型 是否必须 描述
czlx string czlx=7
sfrz object 认证信息

请求示例:

{
"czlx":"7"
"sfrz":{...}
}

返回:

字段 类型 描述
errcode string 0:成功
description string 描述
sjd object 数据对象
qymc string 企业名称
qynsrsbh string 企业纳税人识别号
qydzdh string 企业地址电话
qykhhjzh string 企业银行及账号
jsph string 税盘号
jspjh string 分机号
csbz string 抄税标志 0:未抄报税 1:已处理
ssbz string 锁死标志 0:正常 1:已锁死
ptfpsyfs string 普通纸质发票剩余份数
ptfpdm string 普通纸质发票代码
ptfphm string 普通纸质发票号码
ptfpkpxe string 普通纸质发票限额
zyfpsyfs string 专用纸质发票剩余份数
zyfpdm string 专用纸质发票代码
zyfphm string 专用纸质发票号码
zyfpkpxe string 专用纸质发票限额
jsfpsyfs string 卷式纸质发票剩余份数
jsfpdm string 卷式纸质发票代码
jsfphm string 卷式纸质发票号码
jsfpkpxe string 单机版电子发票限额
djdpfpsyfs string 单机版电子发票剩余份数
djdpfpdm string 单机版电子发票代码
djdpfphm string 单机版电子发票号码
djdpfpkpxe string 单机版电子发票限额
normal_papery_volumn array 纸质普通发票票卷信息
invoice_code string 发票代码
invoice_num string 起始发票号码
vol_no string 发票卷号
remainder long 发票剩余张数
amount long 该票卷总份数
purchase_date string 领购日期 YYYY-MM-DD
purchase_person string 领购人 (当前只有百望系支持该字段)
elec_volumn array 单机版电子普通发票票卷信息(数组元素结构同纸质普通发票票卷信息
special_papery_volumn array 专用纸质发票票卷信息(数组元素结构同纸质普通发票票卷信息
roll_volumn array 卷式发票票卷信息(数组元素结构同纸质普通发票票卷信息

返回示例:

{
    "errcode": "0000",
    "description": "操作成功",
    "qymc": "测试企业",
    "qynsrsbh": "123456789012345678",
    "qydzdh": "",
    "qykhhjzh": "",
    "jsph": "614425321568",
    "jspjh": "0",
    "csbz": "1",
    "ssbz": "0",
    "ptfpsyfs": "",
    "ptfpdm": "",
    "ptfphm": "",
    "ptfpkpxe": "",
    "normal_papery_volumn": [
        {
            "invoice_code": "",
            "invoice_num": "",
            "remainder": 0,
            "amount": 0,
            "purchase_date": "2019-08-02",
            "purchase_person": ""
        }
    ],
    "special_papery_volumn": []
}


2.2读取票种信息

说明:
读取票种信息,包含代码、号码、限额等信息

请求参数:

字段 类型 是否必须 描述
czlx string czlx=30
sfrz object 认证信息
invoice_type string 发票类型; 0:专用发票 ; 2:普通发票 41:卷式发票; 51:电子发票(税控)

请求示例

{
    "sfrz":{...}
    "czlx":"30",
    "invoice_type":"0"
}

返回:

字段 类型 描述
errcode string 0000:成功
description string 描述
info object 相关信息
invoice_code string 下一张可用的发票代码
invoice_num string 下一张可用的发票号码
remainder long 发票剩余张数
max_limit string 发票限额
volumn array 票卷信息
invoice_code string 发票代码
invoice_num string 起始发票号码
remainder long 发票剩余张数
amount long 该票卷总份数
purchase_date string 领购日期 YYYY-MM-DD
purchase_person string 领购人 (当前只有百望系支持该字段)

返回示例:

{
"errcode":"0000",
"description":"操作成功",
"info":{
    "invoice_code":"012345678912",
    "invoice_num":"12345678",
    "remainder":100,
    "max_limit":"999999.99"
}
"volumn":[
    "invoice_code":"012345678912",
    "invoice_num":"12345678",
    "remainder":100,
    "amount":100,
    "purchase_date":"2019-08-09",
    "purchase_person":"张三",
]
}


2.3发票开具

说明:
发票开具

请求参数:

税收分类编码部分内容请参照税务局发布的最新相关文档

字段 类型 是否必须 描述
czlx string czlx=3
sfrz object 认证信息
sjd object 发票相关信息
fpqqlsh string 流水号 相同流水号将返回上一次的开票结果
kpzl string 发票类型 0:专用发票 2:普通发票 41:卷式发票 51:电子发票
kplx string 开票类型 0:蓝子发票 1:红字发票
qdbz string 清单标志 0非清单开具 1清单开具
yfpdm string 原发票代码
yfphm string 原发票号码
xhf_mc string 销售方名称
xhf_nsrsbh string 销售方纳税人识别号
xhf_dzdh string 销售方地址电话
xhf_yhzh string 销售方银行账号
ghf_mc string 购货方名称
ghf_nsrsbh string 购货方纳税人识别号
ghf_dzdh string 购货方地址电话
ghf_yhzh string 购货方银行账号
ghf_openid string 购货方微信openid,后续可用于推送微信消息
ghf_sj string 购货方手机号,可用于发送短信通知
ghf_email string 购货方邮箱地址,可用于发送邮件
bz string 备注
kpy string 开票员
sky string 收款人
fhr string 复核人
kphjse string 开票合计税额
hjbhsje string 开票合计金额(不含税)
jshjje string 价税合计金额
hsbz string 含税标识 0:不含税 1:含税
sgfp string 特殊标识 1:农产品销售 2:农产品收购
items array 发票明细行信息
sm string 税目
xmlx string 明细类型 0:正常行(默认) 1:折扣行 2:被折扣行
xmmc string 商品名称
xmdw string 单位
ggxh string 规格型号
xmsl string 数量
xmdj string 单价
sl string 税率 (整数 如17%即为17)
xmje string 金额
se string 税额
taxcode object 税收分类编码
kce string 扣除额
lslbs string 零税率标识
qyzbm string 企业自编码
ssflbm string 税收分类编码
ssyhzc string 税收优惠政策 0:不享受优惠政策 1:享受优惠政策
ssyhzcnr string 税收优惠政策具体内容

请求示例

{
    "czlx": "3",
    "sfrz":{...},
    "sjd": {
        "fpqqlsh": "cloud1553853372839",
        "hsbz": "0",
        "kpzl": "2",
        "kplx": "0",
        "qdbz": "0",
        "bz": "bbbbb",
        "yfpdm": "",
        "yfphm": "",
        "xhf_nsrsbh": "440301999999980",
        "xhf_mc": "航信培训企业",
        "xhf_dz": "北京市西城区北礼士路135号",
        "xhf_dh": "18681537039",
        "xhf_yhzh": "中国银行 5218666611118888",
        "ghf_nsrsbh": "440300618884098",
        "ghf_mc": "深圳证券信息有限公司",
        "ghf_sj": "13255556666",
        "ghf_openid": "",
        "ghf_dzdh": "南山区 075544512569",
        "ghf_yhzh": "高新园支行 6220252166542352",
        "kpy": "sam_lee",
        "sky": "sdr",
        "fhr": "fdr",
        "hjbhsje": "100",
        "kphjse": "16",
        "jshjje": "116",
        "items": [
            {
                "xmlx": "0",
                "xmdw": "kg",
                "xmmc": "",
                "xmsl": "2",
                "xmje": "100.00",
                "ggxh": "10",
                "se": "16.00",
                "taxcode": {
                    "kce": "",
                    "lslbs": "",
                    "qyzbm": "",
                    "ssflbm": "1010111010000000000",
                    "ssyhzc": "0",
                    "ssyhzcnr": ""
                },
                "sl": "0.16",
                "xmdj": "50"
            }
        ]
    }
}

返回:

字段 类型 描述
errcode string 0:成功 其他:失败
description string 描述
ddh string 订单号,请求中的流水号(fpqqlsh)为20位时ddh与流水号相同,否则将生成一个新的ddh
is_duplicate bool 是否是重复流水号,若是则会返回上一次的开票结果
device_info object 开票设备信息对象
taxcode string 税控设备税号
subid int 税控设备分机号
card_no string 税控设备编号 (税盘上带有xx-的一串数字,card_no不带'xx-'字符)
lists array 兼容原因此处为数组,取第一条记录即可
fpdm string 发票代码
fphm string 发票号码
kprq string 开票日期 yyyy-MM-DD hh:mm:ss
hjbhsje string 开票金额(不含税)
kphjse string 税额
jshjje string 价税合计
qdbz string 清单标识 0:非清单 1:清单
pdfurl string pdf下载地址(只有电子发票才有pdf地址)
jym string 校验码
business_id string 单据编号,和请求信息中的ddh一致

返回示例

{
    "errcode": "0",
    "description": "开具成功",
    "ddh": "980ee3e1f22b44eb919a8f383d9adf7c",
    "is_duplicate":false,
    "device_info":{
        "card_no": "661626708050",
        "taxcode":"",
        "subid":0
    }
    "lists": [
        {
            "description": "开具成功",
            "errcode": "4011",
            "seller_taxcode":"",
            "seller_tax_subid":0,
            "fpdm": "",
            "fphm": "",
            "hjbhsje": "",
            "jshjje": "",
            "kphjse": "",
            "kprq": "2019-05-20 00:00:00",
            "pdfurl": "",
            "qdbz": "0",
            "jym":"",
            "business_id":""
        }
    ]
}


2.4发票作废

说明:
发票作废

请求参数:

字段 类型 是否必须 描述
czlx string czlx=6
sfrz object 认证信息
sjd object 作废发票信息
kpzl string 作废发票的类型
fpdm string 作废发票的代码 为空时执行空白作废
fphm string 作废发票的号码 为空时执行空白作废
zfr string 执行作废操作的人员 (只适用百望,默认为原蓝字发票的开票人)

请求示例

{
    "czlx":"6",
    "sfrz":{...},
    "sjd":{
        "kpzl":"2",
        "fpdm":"0012345678",
        "fphm":"12345678",
        "zfr":"张三"
    }    
}

返回:

字段 类型 描述
errcode string 6011:成功 其他:失败
description string 描述


2.5发票查询

说明:
发票查询

请求参数:

字段 类型 是否必须 描述
czlx string czlx=5
sfrz object 认证信息
sjd object 查询发票信息
kpzl string 查询发票的类型
fpdm string 查询发票的代码
fphm string 查询发票的号码

请求示例

{
    "czlx":"5",
     "sfrz":{...},
    "sjd":{
        "kpzl":"2",
        "fpdm":"0012345678",
        "fphm":"12345678",
    }
}

返回:

字段 类型 描述
errcode string 0:成功 其他:失败
description string 描述
sjd object 查询发票信息
fpdm string 查询发票的代码
fphm string 查询发票的号码
kpzl string 查询发票的类型
yfpdm string 原发票的代码
yfphm string 原发票的号码
ddh string 订单号
kprq string 开票日期 yyyy-MM-DD hh:mm:ss
hjbhsje string 合计金额(不含税)
kphjse string 合计税额
xhf_mc string 销售方名称
xhf_nsrsbh string 销售方纳税人识别号
xhf_dzdh string 销售方地址电话
xhf_yhzh string 销售方银行账号
ghf_mc string 购货方名称
ghf_nsrsbh string 购货方纳税人识别号
ghf_dzdh string 购货方地址电话
ghf_yhzh string 购货方银行账号
bz string 备注
kpy string 开票员
sky string 收款人
fhr string 复核人
zfbz string 作废标识 0:未作废 1:已作废
items object 发票明细行信息
sm string 税目
xmlx string 明细类型 0:正常行(默认) 1:折扣行 2:被折扣行
xmmc string 商品名称
xmdw string 单位
ggxh string 规格型号
xmsl string 数量
xmdj string 单价
sl string 税率 (小数 如17%即为0.17)
xmje string 金额
se string 税额
taxcode object 税收分类编码
kce string 扣除额
lslbs string 零税率标识
qyzbm string 企业自编码
ssflbm string 税收分类编码
ssyhzc string 税收优惠政策 0:不享受优惠政策 1:享受优惠政策
ssyhzcnr string 税收优惠政策具体内容


2.6发票打印

说明:
发票打印

请求参数:

字段 类型 是否必须 描述
czlx string czlx=4
sfrz object 认证信息
sjd object 打印发票信息
kpzl string 发票类型
fpdm string 发票代码
fphm string 发票号码
ylbz string 预览标识 0:不预览 1:预览(将弹出预览窗口,确认后执行打印)
print_type string 清单打印标识 0:非清单打印(默认值) 1:清单打印

请求示例

{
    "czlx":"4",
     "sfrz":{...},
    "sjd":{
        "kpzl":"2",
        "fpdm":"0012345678",
        "fphm":"12345678",
        "ylbz":"0",
        "print_type":"0"
    }
}

返回:

字段 类型 描述
errcode string 5011:成功 其他:失败
description string 描述


2.7专用发票申请红字信息表

说明:
专用发票申请红字信息表

请求参数:

字段 类型 是否必须 描述
czlx string czlx=20
sfrz object 认证信息
sjd object 专用发票申请红字信息表
fpdm string 发票代码
fphm string 发票号码
ghf_mc string 购货方名称
ghf_nsrsbh string 购货方纳税人识别号
xhf_mc string 销货方名称
xhf_nsrsbh string 销货方纳税人识别号
hsbz string 含税标识 0:不含税 1:含税
hjbhsje string 合计金额(不含税)
hjse string 合计税额
tkrq string 发票填开日期 yyyy-MM-DD
sqsm string 申请说明(0:购方发起已抵扣 1:购方发起未抵扣 2:销方)
szlb string 税种类别(0:营业税 1:增值税(目前全部为1)
xxblx string 信息表类型 (0 正常;1 逾期(仅销方开具))
items object 发票明细行信息
sm string 税目
xmlx string 明细类型 0:正常行(默认) 1:折扣行 2:被折扣行
xmmc string 商品名称
xmdw string 单位
ggxh string 规格型号
xmsl string 数量
xmdj string 单价
sl string 税率 (整数 如17%即为17)
xmje string 金额
se string 税额
taxcode object 税收分类编码
kce string 扣除额
lslbs string 零税率标识
qyzbm string 企业自编码
ssflbm string 税收分类编码
ssyhzc string 税收优惠政策 0:不享受优惠政策 1:享受优惠政策
ssyhzcnr string 税收优惠政策具体内容

请求示例

    {
    "czlx": "20",
    "sfrz":{...},
    "sjd": {
        "fpdm": "4403092140",
        "fphm": "01626009",
        "ghf_mc": "金蝶软件",
        "ghf_nsrsbh": "110101MXB6CK9Q6",
        "hjbhsje": "-85.47",
        "hjse": "-14.53",
        "hsbz": "1",
        "items": [
            {
                "ggxh": "1",
                "se": "-14.53",
                "sl": "0.17",
                "taxcode": {
                    "bmbb": "12.0",
                    "kce": "",
                    "lslbs": "",
                    "qyzbm": "1040201100000000000",
                    "ssflbm": "1040201100000000000",
                    "ssyhzc": "0",
                    "ssyhzcnr": ""
                },
                "xmdj": "100",
                "xmdw": "dw",
                "xmje": "-100.00",
                "xmmc": "应税劳务1",
                "xmsl": "-1"
            }
        ],
        "sqsm": "2",
        "szlb": "1",
        "tkrq": "2017-07-05",
        "xhf_mc": "深圳航信电子发票测试",
        "xhf_nsrsbh": "440300349724458",
        "xxblx": "0"
    }
}

返回:

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述
sjd object 结果信息
fpdm string 发票代码
fphm string 发票号码
hzxxbm string 红字信息编码
sqdh string 申请单号
ztm string 状态码
ztms string 状态描述


2.8查询专用发票申请红字信息表

说明:
查询专用发票申请红字信息表。百望不支持查询红字信息表

请求参数:

字段 类型 是否必须 描述
czlx string czlx=18
sfrz object 认证信息
sjd object 查询内容
kjf_jh string 开票机号
kjf_nsrsbh string 查询时使用的金税盘纳税人识别号
kjf_sbbh string 设备编号
qstkrq string 填开日期起
jstkrq string 填开日期止
xhf_nsrsbh string 销售方纳税人识别号
ghf_nsrsbh string 购货方纳税人识别号
xxbbh string 信息表编号
xzfw string 信息表下载范围。0->全部 1->本企业申请 2->其它企业申请
yqzt string 逾期状态 N:非逾期,Y->逾期
pageno string 页号 从1开始
pagesize string 每页记录数

请求示例

{
    "czlx": "18",
    "sfrz": {},
    "sjd": {
        "kjf_jh": "0",
        "kjf_nsrsbh": "91440300672996293K",
        "kjf_sbbh": "",
        "qstkrq": "",
        "jstkrq": "",
        "xhf_nsrsbh": "91440300672996293K",
        "ghf_nsrsbh": "914403006188392540",
        "xxbbh": "",
        "xzfw": "0",
        "yqzt": "N",
        "pageno": "1",
        "pagesize": "10"
    }
}

返回:

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述
lists array 编码表数组
hzxxbm string 发票代码
fphm string 发票号码
hzxxbm string 信息表编号
sqdh string 申请单号
ztm string 状态码
ztms string 状态描述
invoice object 该编码表对应的红字发票信息
fpdm string 发票代码
fphm string 发票号码
ghf_mc string 购方名称
ghf_nsrsbh string 购方税号
hsbz string 含税标志 0->不含税 1->含税
hjbhsje string 合计不含税金额
jshjje string 价税合计金额
kphjse string 合计税额
kprq string 开票日期 yyyy-mm-dd
xhf_mc string 销方名称
xhf_nsrsbh string 销方税号
items string 该红字发票的明细信息
ggxh string 规格型号
se string 税额
sl string 税率 (小数形式)
xmdj string 单价
xmdw string 单位
xmje string 金额
xmmc string 名称
xmsl string 数量
taxcode object 该明细的税收分类编码先关信息
bmbb string 编码版本号
kce string 扣除额
lslbs string 零税率标识
qyzbm string 企业自编码
ssflbm string 税收分类编码
ssyhzc string 税收优惠政策标识
ssyhzcnr string 税收优惠政策内容

返回示例

{
    "description": "查询成功",
    "errcode": "0000",
    "lists": [
        {
            "hzxxbm": "4403051706052197",
            "sqdh": "661540389318170610110520",
            "ztm": "TZD0072",
            "ztms": "已核销,待查证",
            "invoice": {
                "fpdm": "4403162130",
                "fphm": "70804523",
                "ghf_mc": "",
                "ghf_nsrsbh": "914403006188392540",
                "hjbhsje": "-188.03",
                "hsbz": "0",
                "items": [
                    {
                        "ggxh": "",
                        "se": "-31.97",
                        "sl": "0.17",
                        "taxcode": {
                            "bmbb": "12.0",
                            "kce": "",
                            "lslbs": "",
                            "qyzbm": "",
                            "ssflbm": "1040303020000000000",
                            "ssyhzc": "0",
                            "ssyhzcnr": ""
                        },
                        "xmdj": "220",
                        "xmdw": "件",
                        "xmje": "-188.03",
                        "xmmc": "双肩包",
                        "xmsl": "1"
                    }
                ],
                "jshjje": "-220.00",
                "kphjse": "-31.97",
                "kprq": "2017-05-31",
                "xhf_mc": "",
                "xhf_nsrsbh": "91440300672996293K"
            }
        }
    ]
}


2.9批量开票

说明:
批量开票

请求参数:

字段 类型 是否必须 描述
czlx string czlx=31
sfrz object 认证信息
sjd array 代开发票数组

发票数据同2.3发票开具接口

返回:

字段 类型 描述
errcode string 0000:全部成功 其他:失败
description string 描述
count int 开具失败的发票张数
device_info object 开票设备信息对象
taxcode string 税控设备税号
subid int 税控设备分机号
card_no string 税控设备编号 (税盘上带有xx-的一串数字,card_no不带'xx-'字符)
lists array 结果数组
success bool 是否开具成功 true:成功 false:开具失败
fpdm string 发票代码
fphm string 发票号码
orderid string 订单号
kprq string 开票日期 yyyy-MM-DD hh:mm:ss
hjbhsje string 开票金额(不含税)
kphjse string 税额
jshjje string 价税合计
qdbz string 清单标识 0:非清单 1:清单
jym string 校验码
business_id string 单据编号,和请求信息中的ddh一致


2.10批量打印

说明:
批量打印

请求参数:

字段 类型 是否必须 描述
czlx string czlx=32
sfrz object 认证信息
sjd array 代开打印发票数组

发票数据同2.6发票打印接口

返回:

字段 类型 描述
errcode string 5011:全部成功 其他:失败
description string 描述
count int 打印失败的发票张数
list array 结果数组
success bool 是否打印成功 true:成功 false:开具失败
description string 描述
fpdm string 发票代码
fphm string 发票号码
business_id string 单据编号,和请求信息中的ddh一致


2.11设置开票发票卷

当前只支持航信

说明:
设置开票时所用的发票卷

请求参数:

字段 类型 是否必须 描述
czlx string czlx=23
sfrz object 认证信息
sjd array 发票卷信息
fpdm string 发票代码
fphm string 发票号码
kpzl string 发票类型

请求示例

{
    "czlx":"23",
    "sfrz":{...},
    "sjd":{
        "fpdm":"150001201502",
        "fphm":"48010000",
        "kpzl":"41"
    }
}

返回:

字段 类型 描述
errcode string 0:设置成功 其他:失败
description string 描述

返回示例

{
    "description": "设置成功",
    "errcode": "0"
}


2.12机动车销售统一发票开具

金额信息精度均为小数点后两位

请求参数

字段 类型 是否必须 描述
czlx string czlx=40
sfrz object 认证信息
sjd object 开票信息
ori_code string 原发票代码
ori_num string 原发票号码
orderid string 订单号
business_id string 调用方的业务单据编号,将原样返回
buyercode string 购方纳税人识别号
buyername string 购货单位
idcard string 身份证号码、组织机构代码
veh_kind string 车辆类型
brand string 厂牌型号
place string 产地
cert string 合格证号
imp_cert string 进口证明书号
com_inspect_no string 商检单号
engine_no string 发动机号码
veh_no string 车辆识别代号、车辆号码
vd_name string 生产厂家名称
total string 价税合计
taxrate int 税率 5%取整为5
sellercode string 销方税号
sellername string 销方名称
sellerphone string 销方电话
selleracc string 销方单位账号
selleraddr string 销方地址
sellerbank string 销方银行名称
tonnage string 吨位
people_limit string 限乘人数
remark string 备注 正数票不要传备注,负数票传相应格式的备注
biller string 开票人
taxcode object 税收分类编码
deduction string 扣除额
zerotag string 零税率标识
epno string 企业自编码
code string 税收分类编码
taxpre string 税收优惠政策 0:不享受优惠政策 1:享受优惠政策
taxprecont string 税收优惠政策具体内容

请求示例

{
    "czlx": "40",
    "sfrz": {},
    "sjd": {
        "ori_code":"",
        "ori_num":"",
        "orderid":"",
        "business_id":"",
        "buyercode": "",
        "buyername": "",
        "idcard": "",
        "veh_kind": "",
        "brand": "",
        "place": "",
        "cert": "",
        "imp_cert": "",
        "com_inspect_no": "",
        "engine_no": "",
        "veh_no": "",
        "vd_name": "",
        "total": "",
        "taxrate": 6,
        "sellercode": "",
        "sellername": "",
        "sellerphone": "",
        "selleracc": "",
        "selleraddr": "",
        "sellerbank": "",
        "tonnage": "",
        "people_limit": "",
        "remark": "",
        "biller": "",
        "taxcode": {
            "deduction": "",
            "zerotag": "",
            "epno": "",
            "code": "",
            "taxpre": "0",
            "taxprecont": ""
        }
    }
}

返回:

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述
is_duplicate bool 是否是重复流水号,若是则会返回上一次的开票结果
device_info object 开票设备信息对象 该信息只在开具单机版电子发票时有效
taxcode string 税控设备税号
subid int 税控设备分机号
data object 返回信息
code string 发票代码
number string 发票号码
date string 开票日期 yyyy-MM-DD hh:mm:ss
total string 价税合计
amt_nontax string 不含税金额
tax string 税额
business_id string 调用方的业务单据编号

返回示例

{
    "errcode": "0000",
    "description": "",
    "is_duplicate": false,
    "device_info": {
        "taxcode": "",
        "subid": 0
    },
    "data": {
        "code": "",
        "number": "",
        "date": "yyyy-MM-dd hh:mm:ss",
        "total": "",
        "amt_nontax": "",
        "tax": "",
        "business_id": ""
    }
}

三、电子发票操作接口

电子发票接口根据所连接税盘的订货信息判断处理发票的类型,纸电一体开具单机盘电子发票,单机版纸票则开具托管电子发票
(单机版电子发票也可通过czlx=3的接口(2.3)开具)

3.1电子发票开具

说明:
开具电子发票

请求参数:

字段 类型 是否必须 描述
czlx string czlx=110
sfrz object 认证信息
sjd object 发票相关信息
fpqqlsh string 流水号 相同流水号将返回上一次的开票结果
kplx string 开票类型 0:蓝子发票 1:红字发票
qdbz string 清单标志 0非清单开具 1清单开具
yfpdm string 原发票代码
yfphm string 原发票号码
xhf_mc string 销售方名称
xhf_nsrsbh string 销售方纳税人识别号
xhf_dzdh string 销售方地址电话
xhf_yhzh string 销售方银行账号
ghf_mc string 购货方名称
ghf_nsrsbh string 购货方纳税人识别号
ghf_dzdh string 购货方地址电话
ghf_yhzh string 购货方银行账号
ghf_openid string 购货方微信openid,后续可用于推送微信消息
ghf_sj string 购货方手机号,可用于发送短信通知
ghf_email string 购货方邮箱地址,可用于发送邮件
bz string 备注
kpy string 开票员
sky string 收款人
fhr string 复核人
kphjse string 开票合计税额
hjbhsje string 开票合计金额(不含税)
jshjje string 价税合计金额
hsbz string 含税标识 0:不含税 1:含税
sgfp string 特殊标识 1:农产品销售 2:农产品收购
items object 发票明细行信息
sm string 税目
xmlx string 明细类型 0:正常行(默认) 1:折扣行 2:被折扣行
xmmc string 商品名称
xmdw string 单位
ggxh string 规格型号
xmsl string 数量
xmdj string 单价
sl string 税率 (整数 如17%即为17)
xmje string 金额
se string 税额
taxcode object 税收分类编码
kce string 扣除额
lslbs string 零税率标识
qyzbm string 企业自编码
ssflbm string 税收分类编码
ssyhzc string 税收优惠政策 0:不享受优惠政策 1:享受优惠政策
ssyhzcnr string 税收优惠政策具体内容

请求示例

{
    "czlx": "3",
    "sfrz":{...},
    "sjd": {
        "ddh": "cloud1553853372839",
        "hsbz": "0",
        "kplx": "0",
        "qdbz": "0",
        "bz": "bbbbb",
        "yfpdm": "",
        "yfphm": "",
        "xhf_nsrsbh": "440301999999980",
        "xhf_mc": "航信培训企业",
        "xhf_dz": "北京市西城区北礼士路135号",
        "xhf_dh": "18681537039",
        "xhf_yhzh": "中国银行 5218666611118888",
        "ghf_nsrsbh": "440300618884098",
        "ghf_mc": "深圳证券信息有限公司",
        "ghf_sj": "13255556666",
        "ghf_openid": "",
        "ghf_dzdh": "南山区 075544512569",
        "ghf_yhzh": "高新园支行 6220252166542352",
        "kpy": "sam_lee",
        "sky": "sdr",
        "fhr": "fdr",
        "hjbhsje": "100",
        "kphjse": "16",
        "jshjje": "116",
        "items": [
            {
                "xmlx": "0",
                "xmdw": "kg",
                "xmmc": "",
                "xmsl": "2",
                "xmje": "100.00",
                "ggxh": "10",
                "se": "16.00",
                "taxcode": {
                    "kce": "",
                    "lslbs": "",
                    "qyzbm": "",
                    "ssflbm": "1010111010000000000",
                    "ssyhzc": "0",
                    "ssyhzcnr": ""
                },
                "sl": "0.16",
                "xmdj": "50"
            }
        ]
    }
}


返回字段:

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述
is_duplicate bool 是否是重复流水号,若是则会返回上一次的开票结果
device_info object 开票设备信息对象 该信息只在开具单机版电子发票时有效
taxcode string 税控设备税号
subid int 税控设备分机号
data object 发票信息
invoicecode string 发票代码
invoicenum string 发票号码
serialnum string 流水号
pdfurl string pdf下载地址
jym string 校验码
business_id string 单据编号,和请求信息中的ddh一致


返回示例

{
    "errcode": "0000",
    "description": "4011-开票成功[0000,]",
    "is_duplicate":false,
    "device_info":{
        "taxcode":"",
        "subid":0
    }
    "data": {
        "kdorgpdfurl": "",
        "serialnum": "14512120161208212119",
        "snapshoturl": "",
        "invoicenum": "10001312",
        "pdfurl": "",
        "invoicecode": "044001611111"
        "jym":"",
        "business_id":""
    }
}

3.2电子发票信息查询

说明:
电子发票信息查询

请求参数:

字段 类型 是否必须 描述
czlx string czlx=113
sfrz object 认证信息
sjd object 请求信息
fpqqlsh string 待查询的发票流水号

请求示例

{
    "czlx": "113",
    "sfrz": {},
    "sjd": {
        "fpqqlsh": ""
    }
}

返回字段

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述
invoice object 发票信息
xhf_mc string 销方名称
xhf_nsrsbh string 销方税号
xhf_dzdh string 销方地址电话
xhf_yhzh string 销方银行账号
fpqqlsh string 流水号
yfpdm string 原发票代码
yfphm string 原发票号码
kprq string 开票日期 yyyy-mm-dd hh:mm:ss
hjbhsje float 不含税金额
kphjse float 合计税额
jshjje float 价税合计
fpdm string 发票代码
fphm string 发票号码
ghf_mc string 购方名称
ghf_nsrsbh string 购方税号
ghf_yhzh string 购方银行账号
ghf_dzdh string 购方地址电话
ghf_sj string 购方手机号
fhr string 复核人
kpy string 开票人
sky string 收款人
pdf_url string pdf链接地址
checkcode string 校验码
bz string 备注
kplx float 开票类型 0->正常发票 1->红冲发票
items array 明细信息
xmdw string 单位
ggxh string 规格型号
se float 税额
hsbz float 含税标志 0->不含税 1->含税
xmmc string 项目名称
xmdj float 单价
xmsl float 数量
xmje float 金额
sl float 税额 (小数

返回示例

{
    "errcode": "0000",
    "description": "查询成功",
    "invoice": {
        "xhf_mc": "",
        "xhf_nsrsbh": "",
        "xhf_dzdh": "",
        "xhf_yhzh": "",
        "fpqqlsh": "",
        "ddh": "",
        "yfphm": "",
        "yfpdm": "",
        "kprq": "2017-01-06 16:23:02",
        "hjbhsje": 300,
        "kphjse": 51,
        "jshjje": 351,
        "fpdm": "",
        "fphm": "",
        "ghf_mc": "",
        "ghf_nsrsbh": "",
        "ghf_yhzh": "",
        "ghf_dzdh": "",
        "ghf_sj": "",
        "fhr": "",
        "kpy": "",
        "sky": "",
        "pdf_url": "",
        "checkcode": "",
        "kabao_url": "",
        "bz": "",
        "kplx": 0,
        "zfbz": "",
        "fwm": "",
        "items": [
            {
                "xmdw": "dw",
                "ggxh": "1",
                "se": 17,
                "hsbz": 0,
                "xmmc": "",
                "xmdj": 100,
                "xmsl": 1,
                "xmje": 100,
                "sl": 0.17
            }
        ]
    }
}

3.3电子发票红冲

说明:
电子发票信息查询
接口优先使用原蓝票代码号码红冲,若代码或号码为空时,则使用原蓝票流水号红冲

请求参数:

字段 类型 是否必须 描述
czlx string czlx=114
sfrz object 认证信息
sjd object 请求信息
invoice_code string 原蓝字发票代码
invoice_num string 原蓝字发票号码
fpqqlsh string 原蓝字发票的流水号
new_fpqqlsh string 新开红票指定流水号 若没有填写 20 位唯一流水号,则系统自动生成

请求示例

{
    "czlx": "114",
    "sfrz": {},
    "sjd": {
        "invoice_code":"x",
        "invoice_num":"x",
        "fpqqlsh": "",
        "new_fpqqlsh": "PJYHX20151112174201"
    }
}

返回字段
同电子发票开具接口3.1

返回示例
同电子发票开具接口3.1

3.4刷新PDF

说明:
按照代码号码或者流水号对当前PDF未生成的电子发票进行重新签章

只有当前未生成PDF的发票才会进行重签

请求参数:

字段 类型 是否必须 描述
czlx string czlx=115
sfrz object 认证信息
sjd object 请求信息
fpqqlsh string 系统优先使用流水号查询,流水号为空时将使用代码号码查询
fpdm string 发票代码
fphm string 发票号码
{
    "czlx":"115"
    "sfrz":{...}
    "sjd":{
        "fpqqlsh":"",
        "fpdm":"",
        "fphm":""
    }
}

返回字段

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述

返回示例

{
    "errcode":"",
    "description":""
}

3.5查询电子发票余量

说明:
查询已订货的电子发票的余量
请求参数:

字段 类型 是否必须 描述
czlx string czlx=116
sfrz object 认证信息
{
"czlx":"116"
"sfrz":{...}
}

返回字段

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述
data object 余量信息
total long 剩余份数

返回示例

{
    "errcode":"",
    "description":"",
    "data":{
        "total":0
    }
}

四、其他功能

其他功能接口

4.1查询税收分类编码信息

说明:
根据分类编码查询简称等相关信息

请求参数:

字段 类型 是否必须 描述
czlx string czlx=504
sfrz object 认证信息
sjd object 数据段对象
ssflbms array 编码数组
ssflbm string 税收分类编码

请求示例

{
    "czlx": "504",
    "sfrz": {},
    "sjd": {
        "ssflbms":[
            {
                "ssflbm":""
            }
        ]
    }
}

返回字段

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述
ssflbms array 余量信息
abbr string 商品简称
ssflbm string ssflbm

返回示例

{
    "errcode":"",
    "description":"",
    "ssflbms":[
        {
            "abbr":"",
            "ssflbm":""
        }
    ]
}

4.2发票拆分

说明:
对超限的发票数据进行拆分后得到多张限额内发票
当前拆分类型暂只支持按明细拆分

请求参数:

字段 类型 是否必须 描述
czlx string czlx=3
sfrz object 认证信息
sjd object 发票相关信息
kphjse string 开票合计税额
hjbhsje string 开票合计金额(不含税)
jshjje string 价税合计金额
hsbz string 含税标识 0:不含税 1:含税
items array 发票明细行信息
xmlx string 明细类型 0:正常行(默认) 1:折扣行 2:被折扣行
xmmc string 商品名称
xmdw string 单位
ggxh string 规格型号
xmsl string 数量
xmdj string 单价
sl string 税率 (整数 如17%即为17)
xmje string 金额
se string 税额
taxcode object 税收分类编码
kce string 扣除额
lslbs string 零税率标识
qyzbm string 企业自编码
ssflbm string 税收分类编码
ssyhzc string 税收优惠政策 0:不享受优惠政策 1:享受优惠政策
ssyhzcnr string 税收优惠政策具体内容
cf object 拆分信息
limit float 限额
remainder long 剩余份数
type int 拆分类型 1->按明细拆分

请求示例

{
    "czlx": "200",
    "sfrz":{...},
    "sjd": {
        "cf":{
            "limit":999.99,
            "remainder":10,
            "type":1,
        }
        "hsbz": "0",
        "hjbhsje": "100",
        "kphjse": "16",
        "jshjje": "116",
        "items": [
            {
                "xmlx": "0",
                "xmdw": "kg",
                "xmmc": "",
                "xmsl": "2",
                "xmje": "100.00",
                "ggxh": "10",
                "se": "16.00",
                "taxcode": {
                    "kce": "",
                    "lslbs": "",
                    "qyzbm": "",
                    "ssflbm": "",
                    "ssyhzc": "",
                    "ssyhzcnr": ""
                },
                "sl": "0.16",
                "xmdj": "50"
            }
        ]
    }
}

返回字段

字段 类型 描述
errcode string 0000:成功 其他:失败
description string 描述
lists array 拆分结果
kphjse string 开票合计税额
hjbhsje string 开票合计金额(不含税)
jshjje string 价税合计金额
hsbz string 含税标识 0:不含税 1:含税
items array 发票明细行信息
xmlx string 明细类型 0:正常行(默认) 1:折扣行 2:被折扣行
xmmc string 商品名称
xmdw string 单位
ggxh string 规格型号
xmsl string 数量
xmdj string 单价
sl string 税率 (整数 如17%即为17)
xmje string 金额
se string 税额
taxcode object 税收分类编码
kce string 扣除额
lslbs string 零税率标识
qyzbm string 企业自编码
ssflbm string 税收分类编码
ssyhzc string 税收优惠政策 0:不享受优惠政策 1:享受优惠政策
ssyhzcnr string 税收优惠政策具体内容

返回示例

{
    "errcode": "0000",
    "description": "",
    "data": [{
        "hjbhsje": "",
        "kphjse": "",
        "jshjje": "",
        "hsbz": "0",
        "items": [{
            "xmlx": "",
            "xmdw": "",
            "xmmc": "",
            "xmsl": "",
            "xmje": "",
            "ggxh": "",
            "se": "",
            "sl": "",
            "xmdj": "",
            "taxcode": {
                "kce": "",
                "lslbs": "",
                "qyzbm": "",
                "ssflbm": "",
                "ssyhzc": "",
                "ssyhzcnr": ""
            }
        }]
    }]
}

五、附录

5.1税收分类编码

说明:
商品和服务税收分类编码,详细编码信息可参考开票软件中的编码查询

API接口字段 是否必须 字段描述 字段解释
ssflbm 商品编码 有税务局统一规范的商品与服务代码
kce 扣除额 对于征税对象全部数额中扣除的一定数额
lslbs 零税率标识 空值->普通非零税率; 0->出口退税; 1->免税; 2->不征收; 3->普通零税率
qyzbm 企业自编码 由企业自定义的编码
ssyhzc 优惠政策标识 0->不享受优惠政策1->享受优惠政策
ssyhzcnr 优惠政策内容 具体的优惠政策内容 当优惠政策标识为1时,必须填写优惠政策的具体内容

示例

null指代空值(以下表格不涵盖所有情况,只做示例作用)

类型 零税率标识 优惠政策标识 优惠政策内容
普通非零税率 null 0 null
普通零税率(税率=0) 3 null null
免税(税率=0) 1 1 免税
出口退税(税率=0) 0 1 出口退税

5.2关于发票红冲

开具负数增值税普通发票

1.开具负数增值税普通发票,必须在备注中注明 对应正数发票代码:XXXXXXXXXX 号码:YYYYYYYY 字样,其中X为发票左上角10位或 12位代码数字,Y为发票右上角 8 位号码数字

开具负数增值税专用发票

2.开具负数增值税专用发票,必须在备注中注明开具红字增值税专用发票信息表编号XXXXXXXXXXXXXXXX,其中 X 为信息表编号。同时,数量、金额、税额为负数

3.开具货物运输发票的负数票备注中注明“ 开具红字货物运输业增值税专用发票信息表编号
XXXXXXXXXXXXXXX”,其中X 为信息表编号。

4.开具机动车销售统一发票的负数票需在备注中注明“对应正数发票代
码:XXXXXXXXXX 号码:YYYYYYYY”字样,其中“X”为发票左上角10 位
或12 位代码数字,“Y”为发票右上角8 位号码数字。