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

alibaba.einvoice.detail.upload (ERP上传发票数据给阿里发票平台)

ERP上传电子发票数据给阿里发票平台,要求店铺和税号入驻阿里发票平台

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
invoice_type String 必须 blue 发票类型,blue=蓝票,red=红票
invoice_items InvoiceItem [] 必须
  • 最大列表长度:200
  • 发票明细
    • └ tax_rate
    • String
    • 必须
    • 0.00
    • 税率
    • └ tax
    • String
    • 必须
    • 0.00
    • 税额
    • └ specification
    • String
    • 可选
    • XM837
    • 规格型号
    • └ row_type
    • String
    • 必须
    • 0
    • 发票行性质。0表示正常行,1表示折扣行,2表示被折扣行。比如充电器单价100元,折扣10元,则明细为2行,充电器行性质为2,折扣行性质为1。如果充电器没有折扣,则值应为0
    • └ item_no
    • String
    • 必须
    • 1090512990000000000
    • 税收分类编码,长度19位
    • └ item_name
    • String
    • 必须
    • 洗衣机
    • 货物劳务名称
    • └ price
    • String
    • 可选
    • 100.00
    • 单价,正常行必填,折扣行选填
    • └ quantity
    • String
    • 可选
    • 1
    • 数量,正常行必填,折扣行选填
    • └ unit
    • String
    • 可选
    • 单位
    • └ sum_price
    • String
    • 必须
    • 100.00
    • 不含税金额
    • └ amount
    • String
    • 必须
    • 100.00
    • 价税合计
    normal_invoice_no String 可选 00004348 原蓝票发票号码,红票是必填
    invoice_no String 必须 00004349 发票号码
    invoice_code String 可选 111100000001
  • 最大长度:12
  • 发票代码
    normal_invoice_code String 可选 111100000000
  • 最大长度:12
  • 原蓝票发票代码,红票是必填
    payee_register_no String 必须 20150201321123
  • 最大长度:21
  • 销售方纳税人识别号(税号)
    invoice_amount String 必须 100.00 开票金额
    invoice_date String 必须 2018-04-01 开票日期
    platform_tid String 必须 1000001557272964 订单号
    payer_name String 必须 张三 购买方抬头
    invoice_kind Number 必须 0 发票种类,0=电子发票,1=纸质发票,2=专票,3=电子专用发票,4=全电普通发票,5=全电专用发票
    business_type Number 必须 0 抬头类型,0=个人,1=企业
    checksum String 可选 2384798473873 发票校验码
    invoice_file_data byte[] 可选 11 发票数据,电子发票上传PDF
    sum_price String 必须 100.00 不含税金额(合计)
    sum_tax String 必须 0.00 税额(合计)
    platform_code String 必须 TM 电商平台代码。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=其他, (只传英文编码)
    payer_register_no String 可选 20150201321124 购买方税号,企业抬头和专票时必填
    payer_phone String 可选 0571-1938334 购买方电话,专票必填
    payer_address String 可选 杭州市余杭区文一西路969号 购买方地址,专票必填
    payer_bankaccount String 可选 招商银行 8372349 购买方银行及账号,专票必填
    receiver String 可选 李四 收票人姓名,纸票必填
    receiver_email String 可选 82374@taobao.com 收票人邮箱,仅电子发票会发送邮箱
    receiver_phone String 可选 16678127635 收票人电话,纸票必填
    logistic_code String 可选 19827234762 快递单号
    logistic_name String 可选 天天快递 快递公司
    need_logistic Boolean 可选 true 是否需要物流,true:logistic_code和logistic_name必填,false:logistic_code和logistic_name不用填
    serial_no String 可选 E937928347P 开票申请流水号,从开票申请消息中获取

    响应参数

    名称 类型 示例值 描述
    is_success Boolean true 发票上传是否成功

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    AlibabaEinvoiceDetailUploadRequest req = new AlibabaEinvoiceDetailUploadRequest();
    req.setInvoiceType("blue");
    List<AlibabaEinvoiceDetailUploadRequest.InvoiceItem> list2 = new ArrayList<AlibabaEinvoiceDetailUploadRequest.InvoiceItem>();
    AlibabaEinvoiceDetailUploadRequest.InvoiceItem obj3 = new AlibabaEinvoiceDetailUploadRequest.InvoiceItem();
    list2.add(obj3);
    obj3.setTaxRate("0.00");
    obj3.setTax("0.00");
    obj3.setSpecification("XM837");
    obj3.setRowType("0");
    obj3.setItemNo("1090512990000000000");
    obj3.setItemName("洗衣机");
    obj3.setPrice("100.00");
    obj3.setQuantity("1");
    obj3.setUnit("台");
    obj3.setSumPrice("100.00");
    obj3.setAmount("100.00");
    req.setInvoiceItems(list2);
    req.setNormalInvoiceNo("00004348");
    req.setInvoiceNo("00004349");
    req.setInvoiceCode("111100000001");
    req.setNormalInvoiceCode("111100000000");
    req.setPayeeRegisterNo("20150201321123");
    req.setInvoiceAmount("100.00");
    req.setInvoiceDate("2018-04-01");
    req.setPlatformTid("1000001557272964");
    req.setPayerName("张三");
    req.setInvoiceKind(0L);
    req.setBusinessType(0L);
    req.setChecksum("2384798473873");
    req.setInvoiceFileData(new FileItem("/tmp/file.txt"));
    req.setSumPrice("100.00");
    req.setSumTax("0.00");
    req.setPlatformCode("TM");
    req.setPayerRegisterNo("20150201321124");
    req.setPayerPhone("0571-1938334");
    req.setPayerAddress("杭州市余杭区文一西路969号");
    req.setPayerBankaccount("招商银行 8372349");
    req.setReceiver("李四");
    req.setReceiverEmail("82374@taobao.com");
    req.setReceiverPhone("16678127635");
    req.setLogisticCode("19827234762");
    req.setLogisticName("天天快递");
    req.setNeedLogistic(true);
    req.setSerialNo("E937928347P");
    AlibabaEinvoiceDetailUploadResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <alibaba_einvoice_detail_upload_response>
        <is_success>true</is_success>
    </alibaba_einvoice_detail_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>

    错误码解释

    错误码 错误描述 解决方案
    isv.invalid-parameter 参数错误 根据错误提示修改报文重新提交
    isv.payee-register-no-mismatch 政府补贴一品多地订单,上传的税号和订单上的税号不匹配 修改上传的税号

    API工具

    如何获得此API

    FAQ

    返回
    顶部