文档中心 > API类目 > 电子发票

alibaba.einvoice.core.inv.upload (发票中台-发票结果回传)

发票回传接口适用于以下场景: ① 阿里发票平台向ISV提交原始发票申请,ISV开具发票成功后,基于申请ID(apply_id)回传发票至阿里发票平台进行归集与交付。 ② 直接回传发票给阿里发票平台,进行归集,并交付给业务前台和用户。

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
sum_tax String 可选 170.00 合计税额,格式为2位小数。 当开红票时,该字段为负数
payee_phone String 可选 13299473826 销方联系电话。
platform_tid String 可选 134242432 业务平台发票申请对应的订单号。 用于source=upload时区分业务平台订单号。 source=apply时可空
sum_price String 可选 1000.00 合计金额(不含税),格式为2位小数。 当开红票时,该字段为负数
invoice_amount String 可选 1170.00 合计含税金额(开票金额),格式为2位小数。 当开红票时,该字段为负数。
source String 必须 apply 发票来源,可选值: apply: 间连模式,服务商基于申请开具的发票;async:直连开票模式,ISV回传开票结果;upload:直接回传,进行归集与交付的发票;
invoice_file_type String 可选 PDF 发票板式文件类型。可选值: PDF, OFD。 电票时必传。
payee_receiver String 可选 李四 收款人
red_notice_no String 可选 3234224 红字通知单号
payee_register_no String 可选 882342QAP883HTE263 销方税务登记证号。由大写字母或数字组成,长度要求15~20位。
apply_id String 可选 24252234 发票申请ID, 由阿里发票平台生成。 source=apply时 必填。
payee_name String 可选 测试企业 销方名称
qr_code String 可选 24234sdfs 二维码
levy_type String 可选 0 征税方式,0普通征收,1减按征收,2差额征收
invoice_type String 可选 blue 发票(开票)类型,可选值: blue: 蓝票 red: 红票
payer_name String 可选 张三 购方抬头
invoice_no String 可选 000233114 发票号码
invoice_memo String 可选 电子发票测试 发票备注,会显示在票面
payer_email String 可选 aa@test.com 购方电子邮箱,需满足邮箱格式。 格式要求:\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*
receive_mobile String 可选 13100627364 购方手机号码,用于收票
anti_fake_code String 可选 34535dsas2werw234 发票防伪码/密码
payer_bank_account_id String 可选 13213215235223 购方银行账号, 专票必填。
payer_bank_name String 可选 招商银行 购方开户行名称, 专票必填。
payee_bank_account_id String 可选 8888888888888888 销方银行账号
payee_checker String 可选 王五 复核人
payer_phone String 可选 18932432409 购方联系电话, 专票必填。
normal_invoice_code String 可选 1111000000000 原发票代码(开红票时必须)
device_no String 可选 31231313 开票分机号/机器编号
invoice_date String 可选 2020-09-14 12:23:44 开票日期,格式 yyyy-MM-dd
invoice_code String 可选 324535233453 发票代码
check_code String 可选 dtergefg324rtegfddgag 校验码
payee_address String 可选 杭州市西湖区 销方地址。
normal_invoice_no String 可选 00002348 原发票号码(开红票时必须)
payer_address String 可选 浙江省杭州市余杭区文一西路xxx号 购方地址, 专票必填。
payee_bank_name String 可选 中国农业银行 销方开户行名称。
invoice_items InvoiceResultItemDto [] 可选
  • 最大列表长度:100
  • 发票明细。source=apply时必填,其他source可为空
    • └ quantity
    • String
    • 可选
    • 10
    • 数量,最多6位小数。 折扣行此参数不能传,非折扣行必传。存在则需>0
    • └ price
    • String
    • 可选
    • 100.00
    • 单价(不含税),格式为2位小数。最大支持6位小数,不足2位小数时需转化为2位小数格式。折扣行此参数不能传,非折扣行必传
    • └ tax_rate
    • String
    • 可选
    • 0.17
    • 税率。格式为2位小数,如:0.00, 0.03, 0.13等等
    • └ item_no
    • String
    • 可选
    • 1010101010000000000
    • 发票项目编号(或商品编号)
    • └ row_type
    • Number
    • 可选
    • 0
    • 发票行性质。0表示正常行,1表示折扣行,2表示被折扣行。 比如充电器单价100元,折扣10元,则明细为2行,充电器行性质为2,折扣行性质为1。如果充电器没有折扣,则值应为0
    • └ item_name
    • String
    • 可选
    • 显示器
    • 发票项目名称(或商品名称)
    • └ amount
    • String
    • 可选
    • 1170.00
    • 含税总金额 (等于sum_price和tax之和), 单位:元,格式为2位小数,精度2位小数
    • └ unit
    • String
    • 可选
    • 单位。折扣行不能传,非折扣行必传
    • └ specification
    • String
    • 可选
    • X1000
    • 规格型号
    • └ zero_rate_flag
    • String
    • 可选
    • 3
    • 0税率标识,只有税率为0的情况才有值,0=出口零税率,1=免税,2=不征收,3=普通零税率
    • └ tax
    • String
    • 可选
    • 170.00
    • 税额, 格式为2位小数
    • └ sum_price
    • String
    • 可选
    • 1000.00
    • 不含税总金额,格式为2位小数 单位:元,精度2位小数
    payee_operator String 可选 小花 开票人
    payer_register_no String 可选 UR2342342KT23432 购方税务登记证号,由大写字母或数字组成,长度要求15~20位。 开企业抬头时必填, 专票必填。
    invoice_kind Number 可选 0 开票发票类型 可选值: 0: 电票 1:纸质普票 2:纸质专票
    business_type Number 可选 1 抬头类型。可选值: 0:个人 1:企业
    special_flag String 可选 02 特殊票种标识,可选值: 02: 农产品收购票
    platform_code String 可选 FZ 业务平台Code, 由发票中台分配。 用于source=upload时标识需交付发票的业务平台。 source=apply时可空
    invoice_file_data byte[] 可选 10110011 发票板式文件数据,字节数据。 电票时和invoice_file_content必传其一。
    platform_user_id String 可选 14122323
  • 最大长度:32
  • 业务平台uid
    biz_error_msg String 可选 系统异常 开票失败错误信息, 开票失败(create_result=fail)时必填。
    biz_error_code String 可选 sys 开票失败错误码, 开票失败(create_result=fail)时必填。
    create_result String 可选 success 开票结果,枚举值: success: 发票开具成功; fail: 开票失败; source=async时必填,传实际的开票结果。其他source可不传,默认为success
    serial_no String 可选 TB_1011 开票流水号/序列号,唯一标志一笔开票请求,由于阿里发票中台生成。 source=async时必填,其他source可为空
    invoice_file_content String 可选 aaafsafdsgdg 发票板式文件数据,Base64编码字符串。电票时和invoice_file_data必传其一
    deduct_amount String 可选 1.00 扣除额

    响应参数

    名称 类型 示例值 描述
    is_success Boolean false success

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    AlibabaEinvoiceCoreInvUploadRequest req = new AlibabaEinvoiceCoreInvUploadRequest();
    req.setSumTax("170.00");
    req.setPayeePhone("13299473826");
    req.setPlatformTid("134242432");
    req.setSumPrice("1000.00");
    req.setInvoiceAmount("1170.00");
    req.setSource("apply");
    req.setInvoiceFileType("PDF");
    req.setPayeeReceiver("李四");
    req.setRedNoticeNo("3234224");
    req.setPayeeRegisterNo("882342QAP883HTE263");
    req.setApplyId("24252234");
    req.setPayeeName("测试企业");
    req.setQrCode("24234sdfs");
    req.setLevyType("0");
    req.setInvoiceType("blue");
    req.setPayerName("张三");
    req.setInvoiceNo("000233114");
    req.setInvoiceMemo("电子发票测试");
    req.setPayerEmail("aa@test.com");
    req.setReceiveMobile("13100627364");
    req.setAntiFakeCode("34535dsas2werw234");
    req.setPayerBankAccountId("13213215235223");
    req.setPayerBankName("招商银行");
    req.setPayeeBankAccountId("8888888888888888");
    req.setPayeeChecker("王五");
    req.setPayerPhone("18932432409");
    req.setNormalInvoiceCode("1111000000000");
    req.setDeviceNo("31231313");
    req.setInvoiceDate("2020-09-14 12:23:44");
    req.setInvoiceCode("324535233453");
    req.setCheckCode("dtergefg324rtegfddgag");
    req.setPayeeAddress("杭州市西湖区");
    req.setNormalInvoiceNo("00002348");
    req.setPayerAddress("浙江省杭州市余杭区文一西路xxx号");
    req.setPayeeBankName("中国农业银行");
    List<AlibabaEinvoiceCoreInvUploadRequest.InvoiceResultItemDto> list2 = new ArrayList<AlibabaEinvoiceCoreInvUploadRequest.InvoiceResultItemDto>();
    AlibabaEinvoiceCoreInvUploadRequest.InvoiceResultItemDto obj3 = new AlibabaEinvoiceCoreInvUploadRequest.InvoiceResultItemDto();
    list2.add(obj3);
    obj3.setQuantity("10");
    obj3.setPrice("100.00");
    obj3.setTaxRate("0.17");
    obj3.setItemNo("1010101010000000000");
    obj3.setRowType(0L);
    obj3.setItemName("显示器");
    obj3.setAmount("1170.00");
    obj3.setUnit("台");
    obj3.setSpecification("X1000");
    obj3.setZeroRateFlag("3");
    obj3.setTax("170.00");
    obj3.setSumPrice("1000.00");
    req.setInvoiceItems(list2);
    req.setPayeeOperator("小花");
    req.setPayerRegisterNo("UR2342342KT23432");
    req.setInvoiceKind(0L);
    req.setBusinessType(1L);
    req.setSpecialFlag("02");
    req.setPlatformCode("FZ");
    req.setInvoiceFileData(new FileItem("/tmp/file.txt"));
    req.setPlatformUserId("14122323");
    req.setBizErrorMsg("系统异常");
    req.setBizErrorCode("sys");
    req.setCreateResult("success");
    req.setSerialNo("TB_1011");
    req.setInvoiceFileContent("aaafsafdsgdg");
    req.setDeductAmount("1.00");
    AlibabaEinvoiceCoreInvUploadResponse rsp = client.execute(req);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <alibaba_einvoice_core_inv_upload_response>
        <is_success>false</is_success>
    </alibaba_einvoice_core_inv_upload_response>

    异常示例

    • XML示例
    • JSON示例
    <error_response>
        <code>50</code>
        <msg>Remote service error</msg>
        <sub_code>isv.invalid-parameter</sub_code>
        <sub_msg>非法参数</sub_msg>
    </error_response>

    错误码解释

    错误码 错误描述 解决方案

    API工具

    如何获得此API

    FAQ

    返回
    顶部