目前支付宝对外的常用对账方式有两种:一种是通过在支付宝后台下载账单的方式来对账;一种是通过调用接口的方式来实现对账。服务商的对账管理请进入 [商家平台](https://b.alipay.com/page/mbillexprod/trade/order/sold)。
# 新企业版账单下载
商家财务人员登录新企业版 [商家平台 > 对账中心](https://b.alipay.com/page/mbillexprod/main/index),可通过账单下载页面,下载登录账号的已完成结算的对账单,并使用该数据完成财务核算。
支持下载以下两种类型账单:
- **资金账单** 用于表达支付宝账号的收支变化,对应 alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址接口)下载的 `trabill_type = signcustomer`账单。
- **交易账单** 用于表达支付宝收单业务中发生的交易订单,对应 alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址接口)下载的 `trabill_type = trade`账单。

## 日账单下载
进入日账单下载页面,默认显示最近日账单的所在月份,默认选中最近日账单所在日期。鼠标移动到已完成结算的日期,显示可下载链接。点击所在日期可进行下载。

### 特殊说明
1. 账单未生成:前一日的日账单在第二天生成,在第二天生成之前在下载区域提示 **账单未生成**,不可点击下载。

2. 本日无收支:若已完成结算的某日无任何收支,则在下载区域提示 **本日无收支**,不可点击下载。

3. 日账单下载,支持范围从 2013 年 1 月 1 日开始。
## 月账单下载
月账单下载功能同日账单下载。进入月账单下载页面,默认显示最近月账单的所在年份,默认选中最近月账单所在月份。鼠标移动到已完成结算的日期,显示可下载链接。点击所在月份可进行下载。

### 特殊说明
1. 账单未生成

2. 月账单下载,支持范围从 2013 年 1 月开始。
3. 每月账单一般会在次月 4 日或之前生成。
# 接口对账方式
## 场景介绍
商家/服务商可通过接口下载指定日期(当天除外)的业务明细账单文件,并结合自身业务系统实现自动对账。
获取账单技术实现大致分两种模式:收款账号接入模式(开通产品的账号即为收款账号)、主账号开通接入模式(此种模式包括服务商接入模式、一个主账号开通+N 个收款账号接入模式)。
### 收款账号接入模式
下载接口中指定 APPID 所对应 PID 下所有交易记录的对账单。
### 主账号开通接入模式
包括服务商接入模式、一个主账号开通+N 个收款账号接入模式。
第一步:该应用在开放平台上添加 [第三方应用授权](https://opendocs.alipay.com/isv/repo-01ohua) 功能。让收款账号给开通主账号授权。收款账号无需开通账单下载接口权限。
第二步:请 [获取服务端SDK](https://opendocs.alipay.com/open/54/103419) 进行接口开发,请在请求参数中传入授权 token。开通产品的账号即可查询收款账号的账单。包括账务账单和业务账单。
## 调用流程

1. 商家系统调用 [@alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址接口)(API#alipay.data.dataservice.bill.downloadurl.query#api_url)](/API#alipay.data.dataservice.bill.downloadurl.query#api_url),传入指定日期,获得该日期账单文件的下载地址。
2. 商家系统通过 HTTP 方式后台访问账单下载链接,将账单 csv 文件下载到本地后自行处理。注意该下载链接仅 30 秒,在得到链接后系统需要立刻请求下载账单文件。
## 使用SDK快速接入
[@alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址接口)(API#alipay.data.dataservice.bill.downloadurl.query#api_url)](/API#alipay.data.dataservice.bill.downloadurl.query#api_url)
```java
{{std::example#alipay.data.dataservice.bill.downloadurl.query||request|java}}
```
### 关键入参
| **参数名称** | **参数说明** |
| --- | --- |
| bill_type | 账单类型,枚举支持:
- trade:商家基于支付宝交易收单的业务账单,对应 [对账中心 > 账单下载](https://b.alipay.com/page/mbillexprod/bill/download/fundBill) 的 **交易账单**。
- signcustomer:基于商家支付宝余额收入及支出等资金变动的账务账单,对应 [对账中心 > 账单下载](https://b.alipay.com/page/mbillexprod/bill/download/fundBill) 的 **资金账单**。
|
| bill_date | 需要下载的账单日期,最晚是当期日期的前一天。 |
### 关键出参
| **参数名称** | **参数说明** |
| --- | --- |
| bill_download_url | 账单文件下载地址,30 秒有效 |
#### 下载账单文件
```java
//将接口返回的对账单下载地址传入urlStr
String urlStr = "下载地址";
//指定希望保存的文件路径
String filePath = "/Users/fund_bill_20160405.zip";
URL url = null;
HttpURLConnection httpUrlConnection = null;
InputStream fis = null;
FileOutputStream fos = null;
try {
url = new URL(urlStr);
httpUrlConnection = (HttpURLConnection) url.openConnection();
httpUrlConnection.setConnectTimeout(5 * 1000);
httpUrlConnection.setDoInput(true);
httpUrlConnection.setDoOutput(true);
httpUrlConnection.setUseCaches(false);
httpUrlConnection.setRequestMethod("GET");
httpUrlConnection.setRequestProperty("Charsert", "UTF-8");
httpUrlConnection.connect();
fis = httpUrlConnection.getInputStream();
byte[] temp = new byte[1024];
int b;
fos = new FileOutputStream(new File(filePath));
while ((b = fis.read(temp)) != -1) {
fos.write(temp, 0, b);
fos.flush();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(fis!=null) fis.close();
if(fos!=null) fos.close();
if(httpUrlConnection!=null) httpUrlConnection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
```
# 附录
商家下载账单后,会得到 **业务账单** 或 **财务账单** 文件夹,各包含了** 明细 **和 **汇总 **两张表。
## 业务账单
### 汇总

### 业务账单明细

### 账单与支付接口字段对应关系
部分业务账单字段与支付相关接口字段对应关系如下:
| **支付宝交易号** | **商户订单号** | **商品名称** | **门店编号** | **门店名称** | **终端号** | **订单金额(元)** | **商家实收(元)** | **集分宝(元)** | **商家优惠(元)** | **券核销金额(元)** | **券名称** | **退款批次号** | **服务费(元)** |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| trade_no | out_trade_no | goods_detail#goods_name | store_id | store_name | terminal_id | total_amount | receipt_amount | point_amount | mdiscount_amount | voucher_detail_list#amount | voucher_detail_list#name | batch_no | charge_amount |
| 支付宝系统中全局唯一标识用户一笔交易的流水号。 | 商户系统中唯一标识一笔用户交易的流水号。 | 商品名称。 | 商户门店编号。 | 请求交易支付中的商户店铺的名称。 | 商户机具终端编号。 | 订单总金额,
单位为 元。 | 商家实收=订单金额 total_amount - 商户出资的优惠金额。 | 该笔交易过程中使用集分宝的付款金额。 | 该笔交易过程中使用的商家优惠金额。 | 该笔交易过程中使用优惠券核销的付款金额。 | 本笔交易使用的券名称。 | 该笔交易产生退款后退款批次识别号,对应退款 out_request_no 字段。 | 该笔交易收取商家服务费(手续费)金额。 |
## 账务账单
### 汇总

### 账务账单明细

## 下载设置
商家可在 [商家平台 > 对账中心 > 账单下载](https://b.alipay.com/page/mbillexprod/bill/download/fundBill) 页面点击 **下载设置**,设置下载的业务及账务账单语言、包含字段等明细信息。
