接口说明
具备诺税通saas资质的企业用户(集团总公司可拿下面公司的税号来开票,但需要先授权)填写发票销方、购方、明细等信息并发起开票请求。
API 方法名:nuonuo.OpeMplatform.requestBillingNew 版本:V2.0
请求地址
| 环境 | 请求地址 |
|---|
| 正式环境 | https://sdk.nuonuo.com/open/v1/services |
| 沙箱环境 | https://sandbox.nuonuocs.cn/open/v1/services |
公共请求参数(消息头)
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| Content-type | String | 否 | - | MIME类型【消息头】 | - |
公共请求参数(消息体)
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| senid | String | 否 | - | 唯一标识,由企业自己生成32位随机码【消息体】 | - |
私有请求参数
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| order | Object | 否 | - | 请求体 | - |
| └ buyerName | String | 否 | 100 | 购方名称 | 企业名称/个人 |
| └ buyerTaxNum | String | 是 | 20 | 购方税号(企业要填,个人可为空;数电专票、二手车销售统一发票时必填) | 339901999999198 |
| └ buyerTel | String | 是 | 20 | 购方电话(购方地址+电话总共不超100字符;二手车销售统一发票时必填) | 0571-88888888 |
| └ buyerAddress | String | 是 | 80 | 购方地址(购方地址+电话总共不超100字符;二手车销售统一发票时必填) | 杭州市 |
| └ buyerAccount | String | 是 | 100 | 购方银行开户行及账号 | 中国工商银行 111111111111 |
| └ salerTaxNum | String | 否 | 20 | 销方税号(使用沙箱环境请求时消息体参数salerTaxNum和消息头参数userTax填写339902999999789113) | 339901999999199 |
| └ salerTel | String | 否 | 20 | 销方电话(在诺税通saas工作台配置过的可以不传,以传入的为准) | 0571-77777777 |
| └ salerAddress | String | 否 | 80 | 销方地址(在诺税通saas工作台配置过的可以不传,以传入的为准) | - |
| └ salerAccount | String | 是 | 100 | 销方银行开户行及账号(二手车销售统一发票时必填) | - |
| └ zrrzjlx | String | 是 | 10 | 自然人证件类型,枚举值如下: 201 居民身份证,208 外国护照,210 港澳居民来往内地通行证,213 台湾居民来往大陆通行证,227 中国护照,233 外国人永久居留身份证(外国人永久居留证),237 中华人民共和国港澳居民居住证,238 中华人民共和国台湾居民居住证,299 其他个人证件 | 201 |
| └ zrrzjhm | String | 是 | 20 | 自然人证件号码,规则如下:1、若自然人证件类型为身份证,会对证件号码格式做校验;2、农产品收购、报废产品收购必传;3、光伏收购销售方、机动车发票购买方、二手车发票购买方为自然人时,必传 | 110101190001011009 |
| └ zrrgj | String | 是 | 10 | 自然人国籍(或地区)代码,常用枚举值:156 中华人民共和国,158 中国台湾,344 中国香港特别行政区,446 中国澳门特别行政区 完整枚举详见confluence:http://doc.nnuo.net/pages/viewpage.action?pageId=129838462 | 156 |
| └ showBankAccountType | String | 是 | 2 | 不传默认为0:都不显示;传1:备注仅显示销方开户行及账号;传2:备注仅显示购方开户行及账号;传3:购销方开户行及账号都显示(此字段仅在数电普票和数电专票下生效) | 0 |
| └ showAddressTelType | String | 是 | 2 | 不传默认为0:都不显示;传1:备注仅显示销方地址及电话;传2:备注仅显示购方地址及电话;传3:购销方地址及电话都显示(此字段仅在数电普票和数电专票下生效) | 0 |
| └ orderNo | String | 否 | 64 | 订单号(每个企业唯一) | 201701053332079312313 |
| └ invoiceDate | String | 否 | 20 | 订单时间 | 2022-01-13 12:30:00 |
| └ invoiceCode | String | 是 | 12 | 冲红时填写的对应蓝票发票代码(红票必填 10位或12 位, 11位的时候请左补 0) | - |
| └ invoiceNum | String | 是 | 8 | 冲红时填写的对应蓝票发票号码(红票必填,不满8位请左补0) | - |
| └ redReason | String | 是 | 1 | 冲红原因:1:销货退回;2:开票有误;3:服务中止;4:发生销售折让(开具红票时且票种为p,c,e,f,r需要传--成品油发票除外;不传时默认为 1) | 1 |
| └ billInfoNo | String | 是 | 24 | 红字信息表编号.专票冲红时此项必填,且必须在备注中注明“开具红字增值税专用发票信息表编号ZZZZZZZZZZZZZZZZ”字样,其 中“Z”为开具红字增值税专用发票所需要的长度为16位信息表编号(建议16位,最长可支持24位)。 | 1403011904008472 |
| └ departmentId | String | 是 | 32 | 部门门店id(诺诺系统中的id) | 9F7E9439CA8B4C60A2FFF3EA3290B088 |
| └ clerkId | String | 是 | 32 | 开票员id(诺诺系统中的id) | - |
| └ remark | String | 是 | 230 | 冲红时,在备注中注明“对应正数发票代码:XXXXXXXXX号码:YYYYYYYY”文案,其中“X”为发票代码,“Y”为发票号码,可以不填,接口会自动添加该文案;机动车发票蓝票时备注只能为空;数电票时最长为200字符 | 备注信息 |
| └ taxReductionFlag | String | 是 | - | 减按征收类型。枚举值为03(销售自己使用过的固定资产)、05(房屋租赁)、06(旧货经营企业销售旧货) | 03 |
| └ checker | String | 是 | 20 | 复核人(数电电票时若有值,会显示在生成的PDF/OFD备注栏中) | 王五 |
| └ payee | String | 是 | 20 | 收款人(数电电票时若有值,会显示在生成的PDF/OFD备注栏中) | 李四 |
| └ showCheckerType | String | 是 | 2 | 数电电票是否展示收款人和复核人,0:不显示 1:显示 | 0 |
| └ clerk | String | 是 | 20 | 开票人(数电票时取数电登录账号对应的开票员姓名) | 张三 |
| └ clerkCardNo | String | 是 | 30 | 开票人证件号码,仅当开具乐企机动车发票或者乐企联用时需要传此字段 | - |
| └ clerkCardType | String | 是 | - | 开票人证件类型,仅当开具乐企机动车发票或者乐企联用时需要传此字段,枚举值为201:居民身份证 237:中华人民共和国港澳居民居住证 238:中华人民共和国台湾居民居住证 210:港澳居民来往内地通行证 213:台湾居民来往大陆通行证 233:外国人永久居留身份证 227:中华人民共和国护照 | 201 |
| └ listFlag | String | 是 | 1 | 清单标志:非清单:0;清单:1,默认:0,电票固定为0 | 0 |
| └ listName | String | 是 | 92 | 清单项目名称:对应发票票面项目名称(listFlag为1时,必填,默认为“详见销货清单”) | 详见销货清单 |
| └ pushMode | String | 是 | 2 | 推送方式:-1,不推送;0,邮箱;1,手机(默认);2,邮箱、手机 | 1 |
| └ buyerPhone | String | 否 | 20 | 购方手机(pushMode为1或2时,此项为必填,同时受企业资质是否必填控制) | 15858585858 |
| └ email | String | 否 | 50 | 推送邮箱(pushMode为0或2时,此项为必填,同时受企业资质是否必填控制) | test@xx.com |
| └ ccPhone | String | 是 | 100 | 抄送手机,多个时用英文逗号隔开,最多支持5个,必须在phone字段有值时,才支持传入 | 18399887766,18399882211 |
| └ ccEmail | String | 是 | 250 | 抄送邮箱,多个时用英文逗号隔开,最多支持5个,必须在email字段有值时,才支持传入 | nuonuowang@qq.com,hahaha@qq.com |
| └ invoiceType | String | 否 | 1 | 开票类型:1:蓝票;2:红票 (数电票冲红请对接数电快捷冲红接口) | 1 |
| └ invoiceLine | String | 是 | 2 | 发票种类:p,普通发票(电票)(默认);c,普通发票(纸票);s,专用发票;e,收购发票(电票);f,收购发票(纸质);r,普通发票(卷式);b,增值税电子专用发票;j,机动车销售统一发票;dj,数电机动车发票(电子);sj,数电机动车发票(纸质);u,二手车销售统一发票;du,数电二手车发票(电子);su,数电二手车发票(纸质);bs:电子发票(增值税专用发票)-即数电专票(电子),pc:电子发票(普通发票)-即数电普票(电子),es:数电纸质发票(增值税专用发票);ec:数电纸质发票(普通发票) | p |
| └ paperInvoiceType | String | 是 | 12 | 数电纸票类型(数电纸票时才需要传):(票种为ec时,默认04;票种为es时,默认为1130); 04 2016版增值税普通发票(二联折叠票), 05 2016版增值税普通发票(五联折叠票), 000008101200 2008版增值税普票(二联),000008101500 2008版增值税普票(五联),1130 增值税专用发票(中文三联无金额限制版), 1140 增值税专用发票(中文四联无金额限制版), 1160 增值税专用发票(中文六联无金额限制版), 1170 增值税专用发票(中文七联无金额限制版) | 当发票类型为sj数电机动车发票(纸质)和su数电二手车发票(纸质)时发票联次代码000008102600 |
| └ specificFactor | String | 是 | 2 | 特定要素:0普通发票(默认)、1 成品油 、2 稀土(仅支持s、bs票种且编码必须为稀土产品目录中的商品)、3 建筑服务、4 货物运输服务、5 不动产销售、6 不动产经营租赁服务、9 旅客运输服务、10 医疗服务(住院)、11 医疗服务(门诊)、12 自产农产品销售、13 拖拉机和联合收割机、14 机动车(仅票种为数电专票可选)、15 二手车、16 农产品收购、17 光伏收购、24 报废产品收购、26 金银首饰批发、27 金银首饰零售、29 客运场站服务、31 建安发票 、 32 房地产销售发票、33 二手车发票反向开具、 34 电子烟、 35 矿产品、51 数电二手车发票正向开具、52 数电二手车发票反向开具 | 0 |
| └ forceFlag | String | 是 | 2 | 是否强制开具标识:0 否、1 是 (发票种类为u,且特定要素为 33-二手车发票反向开具时才需要填; 默认为 0;若为1时,则不校验卖方自然人身份证号的合规性) | 0 |
| └ proxyInvoiceFlag | String | 是 | 1 | 代开标志:0非代开;1代开。代开蓝票时备注要求填写文案:代开企业税号:***,代开企业名称:***;代开红票时备注要求填写文案:对应正数发票代码:***号码:***代开企业税号:***代开企业名称:*** | 0 |
| └ taxRebateProxy | String | 是 | 1 | 代办退税标记:0否(默认),1是;仅代办退税资质企业可传1 | 0 |
| └ invoiceDifferenceType | String | 是 | 2 | 数电发票差额征税开具方式:01 全额开票,02 差额开票;非数电发票开具差额时,不传 | 02 |
| └ callBackUrl | String | 是 | - | 回传发票信息地址(开票完成、开票失败) | http:127.0.0.1/invoice/callback/ |
| └ extensionNumber | String | 是 | 5 | 分机号(只能为空或者数字) | 0 |
| └ xmDm | String | 是 | 6 | 项目代码。商品编码与项目代码关系表https://doc.nnuo.net/x/ZRDgCQ | KC0205 |
| └ dcxfsywlxbq | String | 是 | 2 | 电池消费税业务类型标签 枚举01:消费税应税电池;02:消费税按照2%税率征收电池;03:消费税免税电池。使用说明:https://doc.nnuo.net/x/oSTgCQ | 01 |
| └ terminalNumber | String | 是 | 4 | 终端号(开票终端号,只能 为空或数字) | - |
| └ machineCode | String | 是 | 12 | 机器编号(12位盘号) | 123456789123 |
| └ vehicleFlag | String | 是 | 1 | 是否机动车类专票 0-否 1-是(此字段仅针对税控发票,若开具数电机动车专票specificFactor传14即可,此字段传0) | 1 |
| └ hiddenBmbbbh | String | 是 | 1 | 是否隐藏编码表版本号 0-否 1-是(默认0,在企业资质中也配置为是隐藏的时候,并且此字段传1的时候代开发票 税率显示***) | 0 |
| └ nextInvoiceCode | String | 是 | 12 | 指定发票代码(票种为c普纸、f收购纸票时允许指定卷开具) 非必填 | - |
| └ nextInvoiceNum | String | 是 | 8 | 发票起始号码,当指定代码有值时,发票起始号码必填 | - |
| └ invoiceNumEnd | String | 是 | 8 | 发票终止号码,当指定代码有值时,发票终止号码必填 | - |
| └ surveyAnswerType | String | 是 | 1 | 3%、1%税率开具理由(企业为小规模/点下户时才需要),对应值:1-开具发票为2022年3月31日前发生纳税义务的业务; 2-前期已开具相应征收率发票,发生销售折让、中止或者退回等情形需要开具红字发票,或者开票有误需要重新开具; 3-因为实际经营业务需要,放弃享受免征增值税政策 | - |
| └ buyerManagerName | String | 是 | 16 | 购买方经办人姓名(数电票特有字段) | 张三 |
| └ managerCardType | String | 是 | 40 | 经办人证件类型:101-组织机构代码证, 102-营业执照, 103-税务登记证, 199-其他单位证件, 201-居民身份证, 202-军官证, 203-武警警官证, 204-士兵证, 205-军队离退休干部证, 206-残疾人证, 207-残疾军人证(1-8级), 208-外国护照, 210-港澳居民来往内地通行证, 212-中华人民共和国往来港澳通行证, 213-台湾居民来往大陆通行证, 214-大陆居民往来台湾通行证, 215-外国人居留证, 216-外交官证 299-其他个人证件(数电发票特有) | 201 |
| └ managerCardNo | String | 是 | 20 | 经办人证件号码(数电票特有字段) | - |
| └ bField1 | String | 是 | 200 | 业务方自定义字段1,本应用只作保存 | - |
| └ bField2 | String | 是 | 200 | 业务方自定义字段2,本应用只作保存 | - |
| └ bField3 | String | 是 | 200 | 业务方自定义字段3,本应用只作保存 | - |
| └ naturalPersonFlag | String | 是 | 1 | 购买方自然人标志:0-否(默认),1-是;仅在开具数电普票(电子)时使用,如受票方(发票抬头)为自然人,并要求能将发票归集在个人票夹中展示,需提供姓名及身份证号(自然人纳税人识别号),此参数传入1;如受票方(发票抬头)为个体工商户,需提供社会统一信用代码或纳税人识别号,此参数传入0 | 0 |
| └ sellerNaturalPersonFlag | String | 是 | 1 | 销售方自然人标志(针对数电二手车发票(纸质)和数电二手车发票(电子))0-否(默认),1-是(二手车经销企业正向开具时,销方为二手车经销企业开票方本身,必须传0) | 0 |
| └ certificateType | String | 是 | - | 数电收购(农产品、报废产品)发票销售方证件类型,数电农产品收购必传,对应buyerTaxNum字段。201 居民身份证,208 外国护照,210 港澳居民来往内地通行证,213 台湾居民来往大陆通行证,227 中国护照,233 外国人永久居留身份证(外国人永久居留证),237 中华⼈民共和国港澳居民居住证,238 中华⼈民共和国台湾居民居住证。 | 201 |
| └ taxNumVerifyFlag | String | 是 | 1 | 对购方税号校验( 0-不校验 1-校验,仅对数电票有效,未传时则取企业配置的值;注:若开启校验,当购方税号未能在电子税局中找到时 则会开票失败) | - |
| └ naturalPersonVerifyFlag | String | 是 | 1 | 对购方名称校验( 0-不校验 1-校验,仅对数电普票(电子)有效,未传时则取企业配置的值;若开启校验,当开具非自然人标记的数电普票(电子)时,将限制对于“购买方名称长度小于等于4位”的发票的开具) | - |
| └ isIgnoreType | String | 是 | - | 商品匹配规则,默认按照商品名称+规格型号匹配;传入1则仅根据商品名称匹配。 | 1 |
| └ mtrl | String | 是 | - | 每千克煤炭发热量(千卡),“煤炭类”商编的明细行合计不含税金额≥1千万时必填,可输入0-99999间的整数 | 1000 |
| └ mtql | String | 是 | - | 干基全硫(%),“煤炭类”商编的明细行合计不含税金额≥1千万时必填,可输入0-100的数字,保留2位小数 | 50 |
| └ mthf | String | 是 | - | 干燥无灰基挥发分(%),“煤炭类”商编的明细行合计不含税金额≥1千万时必填,可输入0-100的数字,保留2位小数 | 50 |
| └ gmfssqjd | String | 是 | - | 报废品收购发票 购买方省市区街道”(例子:北京市柔怀区大兴街道),省市区街道+详细地址最多100个字符。若本字段与“购方地址”同时填写时,开票以本字段为准, | - |
| └ gmfjddm | String | 是 | 9 | 报废品收购发票 购买⽅街道⾏政代码。若本字段与“购方地址”同时填写时,开票以本字段为准, | - |
| └ gmfdz | String | 是 | - | 报废品收购发票 购买⽅详细址"(例:xx小区xx单元xx室),省市区街道+详细地址最多100个字符 | - |
| └ scrapProductSalesType | String | 是 | - | 报废产品销售类型:01-销售自己使用过的报废产品 02-销售收购的报废产品 | 02 |
| └ pdfCustomTag | String | 是 | 20 | pdf自定义标签 | 带量集采 |
| └ invoiceDetail | Array | 否 | 100 | 发票明细,支持填写商品明细最大2000行(包含折扣行、被折扣行) | - |
| └ goodsName | String | 否 | 100 | 商品名称(如invoiceLineProperty =1,则此商品行为折扣行,折扣行不允许多行折扣,折扣行必须紧邻被折扣行,商品名称必须与被折扣行一致)。数电票长度限制为100个字符,增值税票仍然为90个。 | 电脑 |
| └ goodsCode | String | 是 | 19 | 商品编码(商品税收分类编码开发者自行填写) | 1090511030000000000 |
| └ selfCode | String | 是 | 16 | 自行编码(可不填) | 130005426000000000 |
| └ withTaxFlag | String | 否 | 1 | 单价含税标志:0:不含税,1:含税 | 1 |
| └ price | String | 是 | 16 | 单价(精确到小数点后13位),当单价(price)为空时,数量(num)也必须为空;(price)为空时,含税金额(taxIncludedAmount)、不含税金额(taxExcludedAmount)、税额(tax)都不能为空 | - |
| └ num | String | 是 | 16 | 数量(精确到小数点后13位,开具红票时数量为负数) | - |
| └ unit | String | 是 | 20 | 单位 | 台 |
| └ specType | String | 是 | 40 | 规格型号、车辆识别代号/车架号码(当发票性质为特定业机动车、二手车时) | y460 |
| └ tax | String | 是 | 16 | 税额(精确到小数点后2位),[不含税金额] * [税率] = [税额];税额允许误差为 0.06。红票为负。不含税金额、税额、含税金额任何一个不传时,会根据传入的单价,数量进行计算,可能和实际数值存在误差,建议都传入 | 0.12 |
| └ taxRate | String | 否 | 10 | 税率,注:1、纸票清单红票存在为null的情况;2、二手车发票税率为null或者0 | 0.13 |
| └ taxExcludedAmount | String | 是 | 16 | 不含税金额(精确到小数点后2位)。红票为负。不含税金额、税额、含税金额任何一个不传时,会根据传入的单价,数量进行计算,可能和实际数值存在误差,建议都传入 | 0.88 |
| └ taxIncludedAmount | String | 是 | 16 | 含税金额(精确到小数点后2位),[不含税金额] + [税额] = [含税金额],红票为负。不含税金额、税额、含税金额任何一个不传时,会根据传入的单价,数量进行计算,可能和实际数值存在误差,建议都传入 | 1 |
| └ invoiceLineProperty | String | 是 | 1 | 发票行性质:0,正常行;1,折扣行;2,被折扣行,红票只有正常行 | 0 |
| └ favouredPolicyFlag | String | 是 | 2 | 优惠政策标识:0,不使用;1,使用; 数电票时: 01:简易征收 02:稀土产品 03:免税 04:不征税 05:先征后退 06:100%先征后退 07:50%先征后退 08:按3%简易征收 09:按5%简易征收 10:按5%简易征收减按1.5%计征 11:即征即退30% 12:即征即退50% 13:即征即退70% 14:即征即退100% 15:超税负3%即征即退 16:超税负8%即征即退 17:超税负12%即征即退 18:超税负6%即退 19:按2%简易征收 20:按3%简易征收减按1.5%计征 | 0 |
| └ immediateTaxReturnType | String | 是 | 2 | 即征即退类型标识:01-软件产品,02-资源综合利用产品 03-管道运输服务,04-有形动产融资租赁服务,05-有形动产融资性售后回租服务,06-新型墙体材料,07-风力发电产品,08-光伏发电产品,09-动漫软件产品,10-飞机维修劳务,11-黄金,12-铂金。已在税局进行增值税即征即退备案的企业,再开具商编属于即征即退类型范围内的商品时必传,可用于次月退税。非备案客户忽略。红票、折扣行不支持传入。 | 01 |
| └ favouredPolicyName | String | 是 | 50 | 增值税特殊管理(优惠政策名称),当favouredPolicyFlag为1时,此项必填 (数电票时为空) | 0 |
| └ deduction | String | 是 | 16 | 扣除额,差额征收时填写,目前只支持填写一项。 注意:当传0、空或字段不传时,都表示非差额征税;传0.00才表示差额征税:0.00 | 0 |
| └ zeroRateFlag | String | 是 | 1 | 零税率标识:空,非零税率;1,免税;2,不征税;3,普通零税率;1、当税率为:0%,且增值税特殊管理:为“免税”, 零税率标识:需传“1” 2、当税率为:0%,且增值税特殊管理:为"不征税" 零税率标识:需传“2” 3、当税率为:0%,且增值税特殊管理:为空 零税率标识:需传“3” (数电票时为空) | 0 |
| └ mtzl | String | 是 | - | 煤炭种类,煤炭类商编必填,0100,政府保供煤; 0300,市场煤; 0201,长协煤-协议期不足半; 0202,长协煤-协议期在半年至一年之间; 0203,长协煤-协议期在一年至两年之间; 0204,长协煤-协议期在两年以上 | 0100 |
| └ dField1 | String | 是 | 200 | 业务方明细自定义字段1,本应用只作保存 | - |
| └ dField2 | String | 是 | 200 | 业务方明细自定义字段2,本应用只作保存 | - |
| └ dField3 | String | 是 | 200 | 业务方明细自定义字段3,本应用只作保存 | - |
| └ dField4 | String | 是 | 200 | 业务方明细自定义字段4,本应用只作保存 | - |
| └ dField5 | String | 是 | 200 | 业务方明细自定义字段5,本应用只作保存 | - |
| └ medicalClinicInfo | String | 是 | 150 | 医疗门诊费用明细 | - |
| └ medicalClinicCode | String | 是 | 50 | 医疗门诊贯标码 | - |
| └ medicalClinicOther | String | 是 | 100 | 医疗门诊其他 | - |
| └ detailRemark | String | 是 | 100 | 医疗住院商品备注 | - |
| └ lqkpmsDm | String | 是 | 2 | 乐企开票模式(乐企专用)。枚举值 01 支付即开 / 02 交易即开 / 03 自主开票;禁止传中文;未传按 03传入; paymentInfoList/jyxxlyqdDm/cpyjyztdysList 任一字段时必填。乐企成品油及支付信息使用说明:https://doc.nnuo.net/x/SyjgCQ | 03 |
| └ jyxxlyqdDm | String | 是 | 2 | 交易信息来源渠道(乐企专用)。枚举值:01 线上交易 / 02 企业自有业务系统 / 03 线上支付平台;与 lqkpmsDm 同时传或同时不传;未传按 02传入; | 02 |
| └ paymentInfoList | Array | 是 | - | 支付信息 | - |
| └ transactionNumber | String | 是 | 40 | 交易(支付)单号。指支付机构的支付流水号,如果为现金、赊销等无线上支付流水号的支付渠道时,交易(支付)单号传空。支付渠道为微信或者支付宝时,必须传入微信或者支付宝的交易单号。 | - |
| └ jylsh | String | 是 | 50 | 交易流水号(乐企专用)。指的是业务系统中的业务订单号。乐企成品油及支付信息使用说明:https://doc.nnuo.net/x/SyjgCQ | - |
| └ paymentChannel | String | 是 | - | 支付渠道,枚举值如下:001 现金,002 银行转账 ,003 票据 ,004 借记卡 ,005 信用卡 ,006 购物卡/券 ,007 优惠券,008 商场积分,009 支付宝,010 微信支付,011 云闪付,012 ApplePay,013 SamsungPay,014 赊销,015 加油卡,099 其他 | - |
| └ jyje | String | 是 | 50 | 发票对应交易信息的交易金额。客户未传【交易金额】时,继续按照现有逻辑处理,自动将开票金额赋值给交易金额。 客户传入【交易金额】后,直接将客户传入的交易金额透传至微信乐企联用开票接口。 非微信乐企联用场景下,该字段不生效。 | - |
| └ vehicleInfo | Object | 是 | 1 | 开具机动车销售统一发票/数电机动车发票(电子)/数电机动车发票(纸质)才需要传 | - |
| └ vehicleType | String | 否 | 40 | 车辆类型,同明细中商品名称,开具机动车发票时明细有且仅有一行,商品名称为车辆类型且不能为空 | 轿车 |
| └ brandModel | String | 否 | 60 | 厂牌型号 | 宝马3系 |
| └ productOrigin | String | 是 | 32 | 原产地(税控票机动车销售统一发票为必填) | 北京 |
| └ certificate | String | 是 | 50 | 合格证号(非进口车必填) | WDL042613263551 |
| └ importCerNum | String | 是 | 36 | 进出口证明书号(进口车必填) | - |
| └ insOddNum | String | 是 | 32 | 商检单号 | - |
| └ engineNum | String | 是 | 50 | 发动机号码 | 10111011111 |
| └ vehicleCode | String | 否 | 23 | 车辆识别号码/车架号 | LHGK43284342384234 |
| └ intactCerNum | String | 是 | 32 | 完税证明号码 | - |
| └ tonnage | String | 是 | 8 | 吨位 | 2 |
| └ maxCapacity | String | 是 | 12 | 限乘人数 | 5 |
| └ idNumOrgCode | String | 是 | 30 | 其他证件号码;该字段为空则为2021新版常规机动车发票,此时购方税号必填(个人在购方税号中填身份证号);该字段有值,则为2021新版其他证件号码的机动车发票(可以录入汉字、大写字母、数字、全角括号等,此时购方税号需要为空;注:仅用于港澳台、国外等特殊身份/税号开机动车票时使用;国内个人身份证号码开具请勿传入该字段,需要传入到购方税号字段中) | 9114010034683511XD |
| └ manufacturerName | String | 是 | 80 | 生产厂家(A9开票服务器类型可支持200) | 华晨宝马汽车生产有限公司 |
| └ taxOfficeName | String | 是 | 80 | 主管税务机关名称(A9开票服务器类型必填) | 杭州税务 |
| └ taxOfficeCode | String | 是 | 11 | 主管税务机关代码(A9开票服务器类型必填) | 13399000 |
| └ escxsfzjlx | String | 是 | 10 | 二手车销售方自然人证件类型代码,枚举值如下: 201 居民身份证,208 外国护照,210 港澳居民来往内地通行证,213 台湾居民来往大陆通行证,227 中国护照,233 外国人永久居留身份证(外国人永久居留证),237 中华人民共和国港澳居民居住证,238 中华人民共和国台湾居民居住证,299 其他个人证件 | 201 |
| └ escxsfzjhm | String | 是 | 20 | 二手车销售方自然人证件号码,规则如下:1、若二手车销售方证件类型为身份证,会对证件号码格式做校验;2、二手车销售方为自然人时,必传 | 110101190001011009 |
| └ escxsfgj | String | 是 | 10 | 二手车销售方自然人国籍(或地区)代码,常用枚举值:156 中华人民共和国,158 中国台湾,344 中国香港特别行政区,446 中国澳门特别行政区 完整枚举详见confluence:http://doc.nnuo.net/pages/viewpage.action?pageId=129838462 | 156 |
| └ secondHandCarInfo | Object | 是 | 1 | 开具数电二手车发票(电子)/数电二手车发票(纸质)/二手车销售统一发票才需要传 | - |
| └ organizeType | String | 否 | 1 | 开票方类型 1:经营单位 2:拍卖单位 3:二手车市场 (只有传1-经营单位时,才支持 特定要素为33的 二手车发票反向开具) | 1 |
| └ vehicleType | String | 否 | 40 | 车辆类型,同明细中商品名称,开具机动车发票时明细有且仅有一行,商品名称为车辆类型且不能为空 | 轿车 |
| └ brandModel | String | 否 | 60 | 厂牌型号 | 宝马3系 |
| └ vehicleCode | String | 否 | 23 | 车辆识别号码/车架号 | LHGK43284342384234 |
| └ intactCerNum | String | 是 | 32 | 完税证明号码 | - |
| └ licenseNumber | String | 否 | 20 | 车牌照号 | 浙A12345 |
| └ registerCertNo | String | 否 | 20 | 登记证号 | 330022123321 |
| └ vehicleManagementName | String | 否 | 80 | 转入地车管所名称 | 杭州 |
| └ sellerName | String | 否 | 80 | 卖方单位/个人名称(开票方类型为1时,必须与销方名称一致,若反向开具时则为对应自然人信息) | 张三 |
| └ sellerTaxnum | String | 否 | 20 | 卖方单位代码/身份证号码(开票方类型为1时,必须与销方税号一致,若反向开具时则为对应自然人信息) | 330100199001010000 |
| └ sellerAddress | String | 否 | 80 | 卖方单位/个人地址(开票方类型为1时,必须与销方地址一致,若反向开具时则为对应自然人信息) | 杭州文一路888号 |
| └ sellerPhone | String | 否 | 20 | 卖方单位/个人电话(开票方类型为1时,必须与销方电话一致,若反向开具时则为对应自然人信息) | 13888888888 |
| └ escxsfzjlx | String | 是 | 10 | 二手车销售方自然人证件类型代码,枚举值如下: 201 居民身份证,208 外国护照,210 港澳居民来往内地通行证,213 台湾居民来往大陆通行证,227 中国护照,233 外国人永久居留身份证(外国人永久居留证),237 中华人民共和国港澳居民居住证,238 中华人民共和国台湾居民居住证,299 其他个人证件 | 201 |
| └ escxsfzjhm | String | 是 | 20 | 二手车销售方自然人证件号码,规则如下:1、若二手车销售方证件类型为身份证,会对证件号码格式做校验;2、二手车销售方为自然人时,必传 | 110101190001011009 |
| └ escxsfgj | String | 是 | 10 | 二手车销售方自然人国籍(或地区)代码,常用枚举值:156 中华人民共和国,158 中国台湾,344 中国香港特别行政区,446 中国澳门特别行政区 完整枚举详见confluence:http://doc.nnuo.net/pages/viewpage.action?pageId=129838462 | 156 |
| └ invoiceBuildingInfo | Object | 是 | - | 开具建筑服务特定要素的数电票才需要传(specificFactor 为 3时);注:数电建筑服务发票 只能有 一条明细 且 规格型号、单位、数量、单价 都不能有值 | - |
| └ buildingAddress | String | 否 | - | 建筑服务发生地(传对应省市区中文名称--需与行政区划名称一致) | 浙江省杭州市西湖区 |
| └ detailedAddress | String | 是 | 120 | 详细地址(建筑服务发生地+详细地址 总长度最大120字符) | - |
| └ landVatItemNo | String | 是 | 20 | 土地增值税项目编号 | - |
| └ itemName | String | 否 | 80 | 建筑项目名称 | 宇宙城 |
| └ crossCityFlag | String | 否 | 1 | 跨地(市)标志(0-否 1-是) | 0 |
| └ taxRelatedNumber | String | 是 | 50 | 跨地(市)标志为1时,此字段必填,填写时请务必注意格式,中间空格必须保留 | XXX税 跨报 〔XXXX〕 123 号 |
| └ secondCarSpecificInfo | Object | 否 | - | 与数电二手车发票关联开具的二手车特定要素的数电票时才需要填((specificFactor = 15时) | - |
| └ relateDigitNumber | String | 否 | 20 | 二手车销售统一发票数电号码 | 4442000000000000000 |
| └ relateInvoiceCode | String | 否 | 12 | 二手车销售统一发票代码 | 044010200000 |
| └ relateInvoiceNumber | String | 否 | 8 | 二手车销售统一发票号码 | 50040000 |
| └ invoiceGoodsTransports | Array | 是 | - | 开具货物运输服务特定要素的数电票时才需要填(specificFactor = 4时)最多2000行,至少1行 | - |
| └ transportTool | String | 否 | 12 | 运输工具种类:1 铁路运输、2 公路运输、3 水路运输、4 航空运输、5 管道运输、6 其他运输工具 | 1 |
| └ transportToolNum | String | 否 | 40 | 运输工具牌号 | 浙A12345 |
| └ origin | String | 否 | 80 | 起运地 | 上海 |
| └ destination | String | 否 | 80 | 到达地 | 北京 |
| └ goodsName | String | 否 | 80 | 货物运输名称 | 零配件 |
| └ invoiceTravellerTransportInfoList | Array | 是 | - | 开具旅客运输服务特定要素的数电票时才需要填(specificFactor 为 9时)最多2000行,可以为空 | - |
| └ traveller | String | 否 | 20 | 出行人 | 张三 |
| └ travelDate | String | 否 | - | 出行日期(年-月-日) | 2023-01-01 |
| └ travellerCardType | String | 否 | - | 出行人证件类型(枚举值同经办人身份证件类型) | - |
| └ travellerCardNo | String | 否 | 20 | 出行人证件号码 | - |
| └ travelPlace | String | 否 | 80 | 出行地 | - |
| └ arrivePlace | String | 否 | 80 | 到达地 | - |
| └ vehicleType | String | 否 | 2 | 交通工具类型(1-飞机 2-火车 3-长途汽车 4-公共交通 5-出租车 6-汽车 7-船舶 9-其他) | 1 |
| └ vehicleLevel | String | 否 | 20 | 交通工具等级(当交通工具类型是火车、飞机、船舶时必填选择,其他交通工具时可选填;当选择火车时必须传"一等座","二等座","软席(软座、软卧)","硬席(硬座、硬卧)" 其中之一;当选择飞机时必须传"公务舱","头等舱","经济舱" 其中之一;当选择船舶时必须选择"一等舱","二等舱","三等舱" 其中之一) | 经济舱 |
| └ realPropertyRentInfo | Object | 是 | - | 建议用realPropertyRentInfoList。开具不动产经营租赁服务特定要素的数电票才需要传(specificFactor 为 6时);注:此时 商品只能有 一条明细 且 规格型号、单位都不能有值 | - |
| └ realPropertyAddress | String | 否 | - | 不动产地址(传对应省市区中文名称--需与行政区划名称一致) | 浙江省杭州市西湖区 |
| └ detailAddress | String | 否 | 120 | 详细地址(不动产地址+详细地址 总长度最大120字符,且必须包含 街、路、村、乡、镇、道 关键词) | 文一西路XXXX号 |
| └ rentStartDate | String | 否 | - | 租赁开始日期(不能晚于租赁结束日期),当商品税收分类编码为“3040502020200000000”时,需要传到分钟维度,格式为:yyyy-MM-dd HH:mm | 2023-01-01 |
| └ rentEndDate | String | 否 | - | 租赁结束日期(不能早于租赁开始日期),当商品税收分类编码为“3040502020200000000”时,需要传到分钟维度,格式为:yyyy-MM-dd HH:mm | 2023-01-30 |
| └ crossCityFlag | String | 否 | 2 | 跨地(市)标志(0-否 1-是) | 0 |
| └ realPropertyCertificate | String | 是 | 40 | 产权证书/不动产权证号 | - |
| └ unit | String | 否 | 2 | 面积单位(只能选其中一种:1 平方千米、2 平方米、3 公顷、4 亩、5 hm²、6 km²、7 m²、8 米(铁路线与管道等使用)) | 2 |
| └ licensePlateNumber | String | 是 | - | 车牌号,乐企长度80,通用模式长度20 | 浙A12345 |
| └ realPropertyRentInfoList | Array | 否 | - | 开具不动产经营租赁服务特定要素的数电票才需要传(specificFactor 为 6时);注:此时 商品和不动产信息支持多条明细,数量必须保持一致,规格型号、单位都不能有值 | - |
| └ realPropertyAddress | String | 否 | - | 不动产地址(传对应省市区中文名称--需与行政区划名称一致) | 浙江省杭州市西湖区 |
| └ detailAddress | String | 否 | 120 | 详细地址(不动产地址+详细地址 总长度最大120字符,且必须包含 街、路、村、乡、镇、道 关键词) | 文一西路XXXX号 |
| └ rentStartDate | String | 否 | - | 租赁开始日期(不能晚于租赁结束日期),当商品税收分类编码为“3040502020200000000”时,需要传到分钟维度,格式为:yyyy-MM-dd HH:mm | 2023-01-01 |
| └ rentEndDate | String | 否 | - | 租赁结束日期(不能早于租赁开始日期),当商品税收分类编码为“3040502020200000000”时,需要传到分钟维度,格式为:yyyy-MM-dd HH:mm | 2023-01-30 |
| └ crossCityFlag | String | 否 | 2 | 跨地(市)标志(0-否 1-是) | 0 |
| └ realPropertyCertificate | String | 否 | 40 | 产权证书/不动产权证号 | - |
| └ unit | String | 否 | 2 | 面积单位(只能选其中一种:1 平方千米、2 平方米、3 公顷、4 亩、5 hm²、6 km²、7 m²、8 米(铁路线与管道等使用)) | 2 |
| └ licensePlateNumber | String | 是 | - | 车牌号,乐企长度80,通用模式长度20 | 浙A12345 |
| └ invoiceTractorAndCombineHarvester | Object | 否 | - | 开具拖拉机和联合收割机特定要素的数电票才需要传specificFactor =13) | - |
| └ engineNumber | String | 否 | 40 | 发动机号码(提示:发动机号码、底盘号/机架号至少填写一项) | X0X0000000000 |
| └ chassisNumber | String | 否 | 40 | 底盘号/机架号(提示:发动机号码、底盘号/机架号至少填写一项) | XX0X0X(X0)00000000 |
| └ tractorRegisterFlag | String | 否 | - | 是否用于办理拖拉机和联合收割机登记Y是/N否,默认Y是,若 tractorRegisterFlag=N时发动机号码、底盘号/机架号不传 | Y |
| └ realPropertySellInfo | Array | 是 | - | 开具不动产销售特定要素的数电票才需要传(specificFactor 为 5时);注:规格型号、单位都不能有值 | - |
| └ realPropertyContractNumber | String | 是 | 28 | 不动产单元代码/网签合同备案编号 | - |
| └ realPropertyAddress | String | 否 | - | 不动产地址(传对应省市区中文名称--需与行政区划名称一致) | 浙江省杭州市西湖区 |
| └ detailAddress | String | 否 | 120 | 详细地址(不动产地址+详细地址 总长度最大120字符,且必须包含 街、路、村、乡、镇、道 关键词) | 文一西路XXXX号 |
| └ crossCityFlag | String | 否 | 2 | 跨地(市)标志(0-否 1-是) | 0 |
| └ incrementTaxNumber | String | 是 | 18 | 土地增值税项目编号 | - |
| └ price | String | 是 | 20 | 核定计税价格 | - |
| └ taxAmount | String | 是 | 20 | 实际成交含税金额(当核定计税价格有值时必填) | - |
| └ realPropertyCertificate | String | 是 | 40 | 产权证书/不动产权证号 | - |
| └ unit | String | 否 | 2 | 面积单位(只能选其中一种:1 平方千米、2 平方米、3 公顷、4 亩、5 hm²、6 km²、7 m²、8 孔公里) | 2 |
| └ medicalClinicInfo | Object | 否 | - | 开具医疗服务(门诊)特定要素的数电票才需要传(specificFactor 为 11时) | - |
| └ medicalServiceSerialNo | String | 否 | 40 | 医疗业务流水号 | - |
| └ patientName | String | 否 | 150 | 患者姓名 | - |
| └ patientCardType | String | 否 | 3 | 患者身份证件类型代码,枚举值,201 居民身份证,请联系运维获取(详见confluence:http://doc.nnuo.net/pages/viewpage.action?pageId=117153800) | - |
| └ patientCardNo | String | 否 | 30 | 患者身份证件号码 | - |
| └ patientNumber | String | 否 | 16 | 门诊号 | - |
| └ outpatientVisitTime | String | 否 | - | 门诊就诊时间,格式必须为“yyyy-mm-dd HH:mm:ss” | - |
| └ medicalTypeCode | String | 是 | 4 | 医疗机构类型代码,枚举值见confluence:05-医疗机构类型代码: http://doc.nnuo.net/pages/viewpage.action?pageId=150615298 | - |
| └ otherMedicalType | String | 是 | 100 | 其他医疗机构类型 | - |
| └ medicareTypeCode | String | 是 | 2 | 医保类型代码。01:职工基本医疗保险;02:城乡居民基本医疗保险;03:离休;04:其他医疗保险;05:自费。 | - |
| └ otherMedicareType | String | 是 | 100 | 其他医保类型。填写上述医保类型代码没有的类型,“医保类型代码”和“其他医保类型”只能填写一个。 | - |
| └ medicareNo | String | 是 | 30 | 医保编号 | - |
| └ sex | String | 否 | 1 | 性别,枚举值:1男,2女 | - |
| └ medicareAmount | Number | 是 | 18 | 医保统筹基金支付金额,BigDecimal(18,4) | 1.00 |
| └ otherPayAmount | Number | 是 | 18 | 其他支付金额,BigDecimal(18,4) | 1.00 |
| └ selfAccountAmount | Number | 是 | 18 | 个人账户支付金额,BigDecimal(18,4) | 1.00 |
| └ selfCashAmount | Number | 是 | 18 | 个人现金支付金额,,BigDecimal(18,4) | 1.00 |
| └ selfPayAmount | Number | 是 | 18 | 个人自付金额,BigDecimal(18,4) | 1.00 |
| └ selfCostAmount | Number | 是 | 18 | 个人自费金额,BigDecimal(18,4) | 1.00 |
| └ customElementSize | String | 是 | 2 | 省市自定义要素数量 | - |
| └ customElementList | Array | 是 | - | 省市自定义要素 | - |
| └ index | Number | 是 | 2 | 省市自定义要素序号,从“1”开始的连续正整数 | 1 |
| └ customName | String | 是 | 100 | 省市自定义要素名称,若“省市自定义要素内容”或“省市自定义要素序号”栏次非空,则本栏次必须非空; | 省市自定义要素名称 |
| └ customInfo | String | 是 | 100 | 省市自定义要素内容,若“省市自定义要素名称”或“省市自定义要素序号”栏次非空,则本栏次必须非空。 | 省市自定义要素内容 |
| └ medicalHospitalInfo | Object | 否 | - | 开具医疗服务(住院)特定要素的数电票才需要传(specificFactor 为 10时) | - |
| └ medicalServiceSerialNo | String | 否 | 40 | 医疗业务流水号 | - |
| └ patientName | String | 否 | 150 | 患者姓名 | - |
| └ patientCardType | String | 否 | 3 | 患者身份证件类型代码,枚举值,201 居民身份证,请联系运维获取(详见confluence:http://doc.nnuo.net/pages/viewpage.action?pageId=117153800) | - |
| └ patientCardNo | String | 否 | 30 | 患者身份证件号码 | - |
| └ medicalRecordNumber | String | 否 | 20 | 病例号 | - |
| └ hospitalBeginDate | String | 否 | - | 住院时间起,格式必须为“yyyymmdd” | - |
| └ hospitalEndDate | String | 否 | - | 住院时间止,格式必须为“yyyymmdd” | - |
| └ medicalTypeCode | String | 是 | 4 | 医疗机构类型代码,枚举值见confluence:05-医疗机构类型代码: http://doc.nnuo.net/pages/viewpage.action?pageId=150615298 | - |
| └ otherMedicalType | String | 是 | 100 | 其他医疗机构类型 | - |
| └ medicareTypeCode | String | 是 | 2 | 医保类型代码。01:职工基本医疗保险;02:城乡居民基本医疗保险;03:离休;04:其他医疗保险;05:自费。 | - |
| └ hospitalNumber | String | 否 | 20 | 住院号 | - |
| └ hospitalDepartment | String | 否 | 100 | 住院科别 | - |
| └ prepayAmount | Number | 是 | 18 | 预缴金额,BigDecimal(18,4) | 1.00 |
| └ supplementAmount | Number | 是 | 18 | 补缴金额,BigDecimal(18,4) | 1.00 |
| └ returnAmount | Number | 是 | 18 | 退费金额,BigDecimal(18,4) | 1.00 |
| └ payer | String | 是 | 100 | 交款人 | - |
| └ collectionUnit | String | 否 | 100 | 收款单位 | - |
| └ otherMedicareType | String | 是 | 100 | 其他医保类型。填写上述医保类型代码没有的类型,“医保类型代码”和“其他医保类型”只能填写一个。 | - |
| └ medicareNo | String | 是 | 30 | 医保编号 | - |
| └ sex | String | 否 | 1 | 性别,枚举值:1男,2女 | - |
| └ medicareAmount | Number | 是 | 18 | 医保统筹基金支付金额,BigDecimal(18,4) | 1.00 |
| └ otherPayAmount | Number | 是 | 18 | 其他支付金额,BigDecimal(18,4) | 1.00 |
| └ selfAccountAmount | Number | 是 | 18 | 个人账户支付金额,BigDecimal(18,4) | 1.00 |
| └ selfCashAmount | Number | 是 | 18 | 个人现金支付金额,BigDecimal(18,4) | 1.00 |
| └ selfPayAmount | Number | 是 | 18 | 个人自付金额,BigDecimal(18,4) | 1.00 |
| └ selfCostAmount | Number | 是 | 18 | 个人自费金额,BigDecimal(18,4) | 1.00 |
| └ customElementSize | String | 是 | 2 | 省市自定义要素数量 | - |
| └ customElementList | Array | 是 | 2 | 省市自定义要素 | - |
| └ index | Number | 是 | 2 | 省市自定义要素序号,从“1”开始的连续正整数 | 1 |
| └ customName | String | 是 | 100 | 省市自定义要素名称,若“省市自定义要素内容”或“省市自定义要素序号”栏次非空,则本栏次必须非空; | 省市自定义要素名称 |
| └ customInfo | String | 是 | 100 | 省市自定义要素内容,若“省市自定义要素名称”或“省市自定义要素序号”栏次非空,则本栏次必须非空。 | 省市自定义要素内容 |
| └ hospitalDetail | Array | 否 | - | 住院收费明细,开具医疗服务(住院)特定要素的数电票才需要传(specificFactor 为 10时) | - |
| └ hospitalDetailIndex | Number | 否 | 8 | 住院收费明细序号,必须从1开始连续编号,不可重复,如1、2、3、4... | 1 |
| └ detailIndex | Number | 否 | 8 | 住院收费明细对应的发票票面明细序号,必须从1开始连续编号,可重复,如1、1、2、3、3、4... | 1 |
| └ amountInfo | String | 否 | 100 | 费用明细 | - |
| └ number | Number | 是 | 25 | 数量,仅支持传入整数值,传入小数会导致接口返回"非法请求"错误 | 1 |
| └ unit | String | 是 | 255 | 单位,最大长度300 | - |
| └ amount | Number | 否 | 18 | 金额 | 1 |
| └ taxRate | Number | 否 | 16 | 税率 | 0.13 |
| └ tax | Number | 否 | 18 | 税额 | 1 |
| └ medicalHospitalCode | String | 是 | 50 | 医疗服务贯标码 | - |
| └ remark | String | 是 | 100 | 医疗服务备注 | - |
| └ hkfphm | String | 是 | 20 | 换开发票号码(乐企成品油专用)。换开后的蓝票填换开前蓝票号码;充值/汇总开票不允许换开。乐企成品油及支付信息使用说明:https://doc.nnuo.net/x/SyjgCQ | - |
| └ hzyxqq | String | 是 | - | 汇总有效期起(乐企成品油专用)。yyyy-MM-dd,与 hzyxqz 成对 | - |
| └ hzyxqz | String | 是 | - | 汇总有效期止(乐企成品油专用)。跨度 ≤1 个月,与开票日期同月 | - |
| └ cpyjyztdysList | Array | 是 | - | 成品油加油站特定要素列表 。与 paymentInfoList 互斥;仅成品油加油站蓝票生效。乐企成品油及支付信息使用说明:https://doc.nnuo.net/x/SyjgCQ | - |
| └ xh | String | 否 | 8 | 序号。从 1 开始正整数,请求内不可重复 | - |
| └ dyfpmxxh | String | 否 | 8 | 对应发票明细序号。对应 invoiceDetail明细序号 | - |
| └ jyznsrsbh | String | 否 | 20 | 加油站纳税人识别号 | - |
| └ jyzzdmc | String | 否 | 255 | 加油站站点名称 | - |
| └ ddztDm | String | 否 | 2 | 订单状态。枚举值:01确认开票 / 02超期开票 / 03实时开票 | 01 |
| └ kpcffsDm | String | 否 | 1 | 开票触发方式。枚举值:0客户索票 / 1系统自动开票 | 0 |
| └ jylsh | String | 否 | 50 | 交易流水号,指的是业务系统中的业务订单号 | - |
| └ jydh | String | 是 | 40 | 交易(支付)单号,指支付机构的支付流水号,如果为现金、赊销等无线上支付流水号的支付渠道时,交易(支付)单号传空。加油卡传卡号 | - |
| └ zfqdDm | String | 否 | - | 支付渠道,枚举值如下:001 现金,002 银行转账 ,003 票据 ,004 借记卡 ,005 信用卡 ,006 购物卡/券 ,007 优惠券,008 商场积分,009 支付宝,010 微信支付,011 云闪付,012 ApplePay,013 SamsungPay,014 赊销,015 加油卡,099 其他 | - |
| └ dj | String | 否 | 25 | 单价(是否含税随商品明细含税标识) | - |
| └ sl | String | 否 | 25 | 数量。加油数量 | - |
| └ je | String | 否 | 25 | 金额。笔加油记录的金额(是否含税随商品明细含税标识) | - |
| └ jyqh | String | 否 | 20 | 加油枪号 | - |
| └ zfsj | String | 否 | 20 | 支付时间。yyyy-MM-dd HH:mm:ss | - |
| └ cphm | String | 是 | 20 | 车牌号码 | - |
| └ coBuyerFlag | String | 是 | 1 | 开具不动产销售特定要素的数电票才需要传(specificFactor 为 5时),非必传,若选择多方购买方时coBuyerFlag必传,值为Y | 多方共同购买标识 |
| └ coBuyerInfoList | Array | 是 | 1 | coBuyerFlag传Y时传 | - |
| └ coBuyerName | String | 是 | 100 | 共同购买方,coBuyerFlag传Y时必传 | 张三 |
| └ cardType | String | 是 | - | 证件类型,coBuyerFlag传Y时必传 | 居民身份证 |
| └ cardNo | String | 是 | 20 | 证件号码,coBuyerFlag传Y时必传 | 411481000000000000 |
| └ differenceVoucherInfoList | Array | 是 | - | 数电发票差额扣除凭证列表,开具数电差额征税-差额开票时,必传 | - |
| └ detailIndex | String | 是 | - | 序号,从1开始依次增加 | 1 |
| └ voucherType | String | 是 | - | 凭证类型(10专用发票、11普通发票、12海关进口增值税专用缴款书、13航空运输电子客票行程单、14铁路电子客票、15税收完税证明(契税)、16中央非税收入统一票据(土地出让金)、05财政票据、06法院裁决书、09其他扣除凭证) | 01 |
| └ allElectronicInvoiceNumbe | String | 是 | 20 | allElectronicInvoiceNumber数电票号码,当voucherType传01时必传 | - |
| └ invoiceCode | String | 是 | 12 | 发票代码,当voucherType传02、03、04时必传 | - |
| └ invoiceNumber | String | 是 | 8 | 发票号码,当voucherType传02、03、04时必传 | - |
| └ voucherNumber | String | 是 | 20 | 凭证号码 | - |
| └ invoiceTime | String | 是 | 18 | 开具日期,当voucherType传01、02、03、04时必传 | 2023-04-13 |
| └ taxtotal | String | 是 | 18 | 凭证金额,必传 | 103.14 |
| └ differenceTaxtotal | String | 是 | 18 | 本次扣除金额,不能大于凭证金额,必传 | 100.14 |
| └ remark | String | 是 | 100 | 备注,当voucherType传08、09时必传 | - |
| └ voucherSource | String | 是 | 1 | 凭证来源,必传,1 手工录入、2 勾选录入、3 模板录入;同一张发票内保持一致 | - |
| └ additionalElementName | String | 是 | 50 | 附加模版名称(数电电票特有字段,附加模版有值时需要添加附加要素信息列表对象,需要先在电子税局平台维护好模版) | 测试模版 |
| └ additionalElementList | Array | 是 | 10 | 附加要素信息列表(数电电票特有字段,附加要素信息可以有多个,有值时需要附加模版名称也有值) | - |
| └ elementName | String | 是 | 200 | 信息名称(数电电票特有字段;需要与电子税局中的模版中的附加要素信息名称一致) | 信息名称 |
| └ elementType | String | 是 | 20 | 信息类型(数电电票特有字段) | 信息类型 |
| └ elementValue | String | 是 | 200 | 信息值(数电电票特有字段),字符数量放宽至1000个 | 信息值 |
| └ sfkjsszyfwfppm | String | 是 | - | 是否开具涉税专业服务发票品目,Y是 N否 | N |
| └ sszyfwxybh | String | 是 | - | 涉税专业服务项目编号 | X1330111012401000578 |
| └ sszyfwxm | String | 是 | - | 涉税专业服务项目 | 070000,030000 |
响应参数
| 参数名 | 类型 | 必填 | 长度 | 说明 | 示例 |
|---|
| invoiceSerialNum | String | 否 | - | 发票流水号 | 17102510461601000165 |
请求报文示例
NNOpenSDK sdk = NNOpenSDK.getIntance();
String taxnum = "23***789"; // 授权企业税号
String appKey = "Hn***XL";
String appSecret = "F65***65F";
String method = "nuonuo.OpeMplatform.requestBillingNew"; // API方法名
String token = "2d484e**************pdui"; // 访问令牌
String content = "{
\"order\": {
\"medicalClinicInfo\": {
\"patientName\": \"\",
\"patientCardNo\": \"\",
\"selfPayAmount\": 1.00,
\"patientCardType\": \"\",
\"medicalServiceSerialNo\": \"\",
\"medicalTypeCode\": \"\",
\"customElementList\": [
{
\"index\": 1,
\"customName\": \"省市自定义要素名称\",
\"customInfo\": \"省市自定义要素内容\"
}
],
\"sex\": \"\",
\"medicareAmount\": 1.00,
\"medicareTypeCode\": \"\",
\"medicareNo\": \"\",
\"otherMedicalType\": \"\",
\"selfCashAmount\": 1.00,
\"otherMedicareType\": \"\",
\"selfCostAmount\": 1.00,
\"outpatientVisitTime\": \"\",
\"otherPayAmount\": 1.00,
\"patientNumber\": \"\",
\"selfAccountAmount\": 1.00,
\"customElementSize\": \"\"
},
\"hospitalDetail\": [
{
\"number\": 1,
\"taxRate\": 0.13,
\"unit\": \"\",
\"amount\": 1,
\"detailIndex\": 1,
\"hospitalDetailIndex\": 1,
\"tax\": 1,
\"remark\": \"\",
\"amountInfo\": \"\",
\"medicalHospitalCode\": \"\"
}
],
\"listFlag\": \"0\",
\"naturalPersonFlag\": \"0\",
\"pushMode\": \"1\",
\"managerCardNo\": \"\",
\"departmentId\": \"9F7E9439CA8B4C60A2FFF3EA3290B088\",
\"sszyfwxybh\": \"X1330111012401000578\",
\"gmfdz\": \"\",
\"paperInvoiceType\": \"当发票类型为sj数电机动车发票(纸质)和su数电二手车发票(纸质)时发票联次代码000008102600\",
\"invoiceNumEnd\": \"\",
\"payee\": \"李四\",
\"isIgnoreType\": \"1\",
\"mtrl\": \"1000\",
\"realPropertySellInfo\": [
{
\"realPropertyAddress\": \"浙江省杭州市西湖区\",
\"crossCityFlag\": \"0\",
\"realPropertyCertificate\": \"\",
\"unit\": \"2\",
\"price\": \"\",
\"incrementTaxNumber\": \"\",
\"detailAddress\": \"文一西路XXXX号\",
\"taxAmount\": \"\",
\"realPropertyContractNumber\": \"\"
}
],
\"sfkjsszyfwfppm\": \"N\",
\"showBankAccountType\": \"0\",
\"specificFactor\": \"0\",
\"machineCode\": \"123456789123\",
\"taxNumVerifyFlag\": \"\",
\"vehicleFlag\": \"1\",
\"invoiceCode\": \"\",
\"mtql\": \"50\",
\"surveyAnswerType\": \"\",
\"zrrzjlx\": \"201\",
\"sszyfwxm\": \"070000,030000\",
\"taxReductionFlag\": \"03\",
\"jyxxlyqdDm\": \"02\",
\"certificateType\": \"201\",
\"paymentInfoList\": [
{
\"transactionNumber\": \"\",
\"jyje\": \"\",
\"jylsh\": \"\",
\"paymentChannel\": \"\"
}
],
\"pdfCustomTag\": \"带量集采\",
\"clerkId\": \"\",
\"hkfphm\": \"\",
\"invoiceLine\": \"p\",
\"secondHandCarInfo\": {
\"escxsfzjhm\": \"110101190001011009\",
\"sellerPhone\": \"13888888888\",
\"sellerName\": \"张三\",
\"brandModel\": \"宝马3系\",
\"vehicleCode\": \"LHGK43284342384234\",
\"sellerAddress\": \"杭州文一路888号\",
\"intactCerNum\": \"\",
\"organizeType\": \"1\",
\"vehicleManagementName\": \"杭州\",
\"escxsfzjlx\": \"201\",
\"licenseNumber\": \"浙A12345\",
\"registerCertNo\": \"330022123321\",
\"escxsfgj\": \"156\",
\"vehicleType\": \"轿车\",
\"sellerTaxnum\": \"330100199001010000\"
},
\"buyerManagerName\": \"张三\",
\"clerkCardType\": \"201\",
\"email\": \"test@xx.com\",
\"naturalPersonVerifyFlag\": \"\",
\"salerAccount\": \"\",
\"differenceVoucherInfoList\": [
{
\"detailIndex\": \"1\",
\"invoiceTime\": \"2023-04-13\",
\"voucherType\": \"01\",
\"allElectronicInvoiceNumbe\": \"\",
\"voucherNumber\": \"\",
\"invoiceNumber\": \"\",
\"taxtotal\": \"103.14\",
\"remark\": \"\",
\"invoiceCode\": \"\",
\"voucherSource\": \"\",
\"differenceTaxtotal\": \"100.14\"
}
],
\"salerTel\": \"0571-77777777\",
\"callBackUrl\": \"http:127.0.0.1/invoice/callback/\",
\"xmDm\": \"KC0205\",
\"clerkCardNo\": \"\",
\"vehicleInfo\": {
\"escxsfzjhm\": \"110101190001011009\",
\"taxOfficeCode\": \"13399000\",
\"manufacturerName\": \"华晨宝马汽车生产有限公司\",
\"importCerNum\": \"\",
\"certificate\": \"WDL042613263551\",
\"engineNum\": \"10111011111\",
\"taxOfficeName\": \"杭州税务\",
\"brandModel\": \"宝马3系\",
\"productOrigin\": \"北京\",
\"vehicleCode\": \"LHGK43284342384234\",
\"maxCapacity\": \"5\",
\"intactCerNum\": \"\",
\"escxsfzjlx\": \"201\",
\"tonnage\": \"2\",
\"escxsfgj\": \"156\",
\"insOddNum\": \"\",
\"idNumOrgCode\": \"9114010034683511XD\",
\"vehicleType\": \"轿车\"
},
\"buyerName\": \"企业名称/个人\",
\"hiddenBmbbbh\": \"0\",
\"zrrgj\": \"156\",
\"buyerAccount\": \"中国工商银行 111111111111\",
\"nextInvoiceCode\": \"\",
\"salerTaxNum\": \"339901999999199\",
\"listName\": \"详见销货清单\",
\"ccPhone\": \"18399887766,18399882211\",
\"terminalNumber\": \"\",
\"invoiceBuildingInfo\": {
\"buildingAddress\": \"浙江省杭州市西湖区\",
\"crossCityFlag\": \"0\",
\"itemName\": \"宇宙城\",
\"landVatItemNo\": \"\",
\"detailedAddress\": \"\",
\"taxRelatedNumber\": \"XXX税 跨报 〔XXXX〕 123 号\"
},
\"showCheckerType\": \"0\",
\"invoiceDifferenceType\": \"02\",
\"checker\": \"王五\",
\"secondCarSpecificInfo\": {
\"relateInvoiceCode\": \"044010200000\",
\"relateDigitNumber\": \"4442000000000000000\",
\"relateInvoiceNumber\": \"50040000\"
},
\"sellerNaturalPersonFlag\": \"0\",
\"buyerAddress\": \"杭州市\",
\"taxRebateProxy\": \"0\",
\"invoiceType\": \"1\",
\"orderNo\": \"201701053332079312313\",
\"zrrzjhm\": \"110101190001011009\",
\"invoiceTractorAndCombineHarvester\": {
\"chassisNumber\": \"XX0X0X(X0)00000000\",
\"engineNumber\": \"X0X0000000000\",
\"tractorRegisterFlag\": \"Y\"
},
\"buyerPhone\": \"15858585858\",
\"realPropertyRentInfoList\": [
{
\"realPropertyAddress\": \"浙江省杭州市西湖区\",
\"crossCityFlag\": \"0\",
\"realPropertyCertificate\": \"\",
\"unit\": \"2\",
\"licensePlateNumber\": \"浙A12345\",
\"rentEndDate\": \"2023-01-30\",
\"detailAddress\": \"文一西路XXXX号\",
\"rentStartDate\": \"2023-01-01\"
}
],
\"invoiceDetail\": [
{
\"specType\": \"y460\",
\"medicalClinicInfo\": \"\",
\"medicalClinicCode\": \"\",
\"num\": \"\",
\"favouredPolicyFlag\": \"0\",
\"price\": \"\",
\"immediateTaxReturnType\": \"01\",
\"selfCode\": \"130005426000000000\",
\"goodsName\": \"电脑\",
\"dField1\": \"\",
\"taxExcludedAmount\": \"0.88\",
\"invoiceLineProperty\": \"0\",
\"favouredPolicyName\": \"0\",
\"dField3\": \"\",
\"dField2\": \"\",
\"dField5\": \"\",
\"dField4\": \"\",
\"withTaxFlag\": \"1\",
\"tax\": \"0.12\",
\"mtzl\": \"0100\",
\"taxRate\": \"0.13\",
\"detailRemark\": \"\",
\"unit\": \"台\",
\"deduction\": \"0\",
\"zeroRateFlag\": \"0\",
\"medicalClinicOther\": \"\",
\"goodsCode\": \"1090511030000000000\",
\"taxIncludedAmount\": \"1\"
}
],
\"buyerTel\": \"0571-88888888\",
\"invoiceTravellerTransportInfoList\": [
{
\"travellerCardType\": \"\",
\"arrivePlace\": \"\",
\"travelDate\": \"2023-01-01\",
\"travelPlace\": \"\",
\"vehicleLevel\": \"经济舱\",
\"travellerCardNo\": \"\",
\"traveller\": \"张三\",
\"vehicleType\": \"1\"
}
],
\"nextInvoiceNum\": \"\",
\"coBuyerInfoList\": [
{
\"cardType\": \"居民身份证\",
\"coBuyerName\": \"张三\",
\"cardNo\": \"411481000000000000\"
}
],
\"remark\": \"备注信息\",
\"managerCardType\": \"201\",
\"buyerTaxNum\": \"339901999999198\",
\"mthf\": \"50\",
\"cpyjyztdysList\": [
{
\"jydh\": \"\",
\"dj\": \"\",
\"dyfpmxxh\": \"\",
\"zfqdDm\": \"\",
\"kpcffsDm\": \"0\",
\"jyznsrsbh\": \"\",
\"xh\": \"\",
\"jyzzdmc\": \"\",
\"jyqh\": \"\",
\"sl\": \"\",
\"zfsj\": \"\",
\"je\": \"\",
\"jylsh\": \"\",
\"cphm\": \"\",
\"ddztDm\": \"01\"
}
],
\"coBuyerFlag\": \"多方共同购买标识\",
\"redReason\": \"1\",
\"showAddressTelType\": \"0\",
\"scrapProductSalesType\": \"02\",
\"ccEmail\": \"nuonuowang@qq.com,hahaha@qq.com\",
\"additionalElementList\": [
{
\"elementValue\": \"信息值\",
\"elementType\": \"信息类型\",
\"elementName\": \"信息名称\"
}
],
\"billInfoNo\": \"1403011904008472\",
\"lqkpmsDm\": \"03\",
\"invoiceDate\": \"2022-01-13 12:30:00\",
\"invoiceNum\": \"\",
\"salerAddress\": \"\",
\"clerk\": \"张三\",
\"dcxfsywlxbq\": \"01\",
\"invoiceGoodsTransports\": [
{
\"origin\": \"上海\",
\"transportTool\": \"1\",
\"transportToolNum\": \"浙A12345\",
\"destination\": \"北京\",
\"goodsName\": \"零配件\"
}
],
\"gmfssqjd\": \"\",
\"gmfjddm\": \"\",
\"hzyxqz\": \"\",
\"medicalHospitalInfo\": {
\"patientCardNo\": \"\",
\"medicalServiceSerialNo\": \"\",
\"hospitalEndDate\": \"\",
\"medicareAmount\": 1.00,
\"medicareTypeCode\": \"\",
\"collectionUnit\": \"\",
\"payer\": \"\",
\"selfCashAmount\": 1.00,
\"otherMedicareType\": \"\",
\"selfCostAmount\": 1.00,
\"hospitalDepartment\": \"\",
\"returnAmount\": 1.00,
\"customElementSize\": \"\",
\"prepayAmount\": 1.00,
\"patientName\": \"\",
\"selfPayAmount\": 1.00,
\"patientCardType\": \"\",
\"medicalTypeCode\": \"\",
\"customElementList\": [
{
\"index\": 1,
\"customName\": \"省市自定义要素名称\",
\"customInfo\": \"省市自定义要素内容\"
}
],
\"sex\": \"\",
\"medicareNo\": \"\",
\"otherMedicalType\": \"\",
\"hospitalBeginDate\": \"\",
\"medicalRecordNumber\": \"\",
\"hospitalNumber\": \"\",
\"otherPayAmount\": 1.00,
\"supplementAmount\": 1.00,
\"selfAccountAmount\": 1.00
},
\"bField1\": \"\",
\"extensionNumber\": \"0\",
\"bField3\": \"\",
\"additionalElementName\": \"测试模版\",
\"bField2\": \"\",
\"hzyxqq\": \"\",
\"forceFlag\": \"0\",
\"realPropertyRentInfo\": {
\"realPropertyAddress\": \"浙江省杭州市西湖区\",
\"crossCityFlag\": \"0\",
\"realPropertyCertificate\": \"\",
\"unit\": \"2\",
\"licensePlateNumber\": \"浙A12345\",
\"rentEndDate\": \"2023-01-30\",
\"detailAddress\": \"文一西路XXXX号\",
\"rentStartDate\": \"2023-01-01\"
},
\"proxyInvoiceFlag\": \"0\"
}
}";
String url = "https://sdk.nuonuo.com/open/v1/services"; // SDK请求地址
String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
System.out.println(result);
响应报文示例
{
"code": "E0000",
"describe": "开票提交成功",
"result": {
"invoiceSerialNum": "20160108165823395151"
}
}
返回码说明
| 返回码 | 说明 | 处理建议 |
|---|
E0000 | 开票提交成功 | 业务正常进行 |
E4000 | 接口调用失败 | 原因:私有请求参数里的必填字段没有传值,或者传的值不对。 解决:参考接口文档,检查请求报文中私有请求参数的字段,必填字段都必须传值。 |
E9101 | 开票类型错误(1:正票 2:红票) | 解决:检查invoiceType字段的值,只能是1或者是2。 |
E9102 | 发票号码或发票代码不正确 | 检查invoiceCode和invoiceNum参数是否正确 |
E9103 | 该发票不能重复冲红 | 开票员核实该发票 |
E9104 | 购方邮箱不能超过50位 | 减少email参数输入长度或者换个邮箱 |
E9105 | 折扣行的商品名称必须和被折扣行相同 | 检查invoiceLineProperty=1对应行商品名称 |
E9106 | 订单编号或流水号不能重复 | 原因:防止重复开票,同一个销方税号下的开票订单号不能重复。 解决:检查orderNo字段的值。 |
E9107 | 代开标志只能为0和1 | 修改proxyInvoiceFlag参数 |
E9108 | 折扣行金额不能大于被折扣行的金额 | 检查invoiceLineProperty=1对应行金额 |
E9110 | 折扣行必须紧挨被折扣行之后 | 检查invoiceLineProperty=1对应行与被折扣行位置 |
E9111 | 蓝票折扣行商品数量应为负 | 检查invoiceLineProperty=1对应行数量 |
E9112 | 折扣行商品税率必须和被折扣行商品税率相同 | 检查invoiceLineProperty=1对应行税率 |
E9113 | 红票购方地址与蓝票购方地址不符 | 确认蓝票购方地址并修改红票buyerAddress参数 |
E9114 | 蓝票被折扣行商品数量应为正 | 检查invoiceLineProperty=2对应行数量 |
E9115 | 红票购方电话与蓝票购方电话不符 | 确认蓝票购方电话并修改红票buyerTel参数 |
E9116 | 红票折扣行商品数量应为正 | 检查invoiceLineProperty=1折扣行数量 |
E9117 | 红票购方名称与蓝票购方名称不符 | 确认蓝票购方名称并修改红票buyerName参数 |
E9118 | 红票购方税号与蓝票购方税号不符 | 确认蓝票购方税号并修改红票buyerTaxNum参数 |
E9119 | 红票被折扣行商品数量应为负 | 检查invoiceLineProperty=2折扣行数量 |
E9120 | 红票购方银行账号与蓝票购方银行账号不符 | 确认蓝票购方银行账号并修改红票buyerAccount参数 |
E9121 | 获取商品编码失败 | 填写商品编码goodsCode |
E9122 | 商品详情为空 | 填写商品详情再提交请求 |
E9123 | 项目单价为空时,含税金额、不含税金额、税额都不能为空 | 检查并填写tax、taxIncludedAmount、taxExcludedAmount |
E9124 | 含税金额不能超过20位 | taxIncludedAmount数额太高,可以分多张发票开具 |
E9125 | 含税金额只是能数字 | 检查taxIncludedAmoun参数,只保留数字 |
E9126 | 不含税金额不能超过20位 | taxExcludedAmount数额太高,可以分多张发票开具 |
E9127 | 不含税金额只能是数字 | 检查taxExcludedAmount参数,只保留数字 |
E9128 | 税额不能超过20位 | tax数额太高,可以分多张发票开具 |
E9129 | 税额只是能数字 | 检查tax参数,只保留数字 |
E9130 | (不含税金额+税额)不等于含税金额 | taxExcludedAmount+tax=taxIncludedAmount,检查数额是否正确 |
E9131 | 金额*税率-税额大于0.06,明细行名称:xxx,第x行 | 误差应小于0.06,大于0.06不支持开票 |
E9154 | 订单被拆分后大于10张发票 | 原因:测试税盘的单张发票限额比较小,且设置了允许拆分发票,请求开票的总金额超过单张开票限额会自动拆分成多张发票,且最多拆分10张发票。 解决:把开票的总金额调小一点。 |
E9138 | 商品编码获取出现异常 | 原因:goodsCode字段没有传。 解决:goodsCode字段传一下商品的税收分类编码。沙箱环境的智能匹配接口不稳定,正式环境不传goodsCode会自动匹配商品的简称。 |
E9301 | 企业信息备案错误,请联系诺诺网 | 原因:请求的销方税号在诺诺平台没有企业资质。 解决:若请求的正式环境,该正式税号没有注册企业资质,联系航信同事处理; 若请求的沙箱环境,销方税号应该用沙箱环境的测试税号,如339902999999789113 |
E9302 | 身份认证与当前企业税号不相符 | 原因:公参里的taxnum和私参里的salerTaxNum,这两个字段的值不一样。 解决:检查这两个字段的值,应该填同一个销方税号。 |
E9338 | 该企业无权限调用API开票 | 去开通API开票授权服务 |
E9796 | 货物运输服务信息不能为空 | |
E9797 | 货物运输服务信息不能超过2000条 | |
E9798 | 运输工具种类传入有误 | |
E9799 | 运输工具牌号必填且长度不能超过40位 | |
E9800 | 起运地必填且长度不得超过80位 | |
E9801 | 到达地必填且长度不得超过80位 | |