银行对账单怎么对账自动生成

关键字:微信支付 微信支付v3 &prepay_id 对账单作者:方倍工作室原文:&&
本文介绍微信支付下的对账单的开发实现流程。
微信支付现在分为v2版和v3版,号之前申请的为v2版,之后申请的为v3版。V3版的微信支付没有paySignKey参数。v2的相关介绍请参考方倍工作室的其他文章。本文介绍的为微信支付v3。
一、对账单数据接口
微信支付v3提供了对账单的数据接口,其使用的接口为&
https://api.mch.weixin.qq.com/pay/downloadbill
请求的参数如下
公众账号ID
String(32)
微信分配的公众账号ID
String(32)
微信支付分配的商户号
device_info
String(32)
微信支付分配的终端设备号,填写此字段,只下载该设备号的对账单
随机字符串
String(32)
5K8264ILTKCH16CQ2502SI8ZNMTM67VS
随机字符串,不长于32位。推荐
String(32)
C380BEC2BFD727A4BF3AD6
签名,详见
对账单日期
下载对账单的日期,格式:
ALL,返回当日所有订单信息,默认值
SUCCESS,返回当日成功支付的订单
REFUND,返回当日退款订单
REVOKED,已撤销的订单
Demo中的实现代码如下
include_once("../WxPayPubHelper/WxPayPubHelper.php");
//对账单日期
if (!isset($_POST["bill_date"])){
$bill_date = "";
$bill_date = $_POST["bill_date"];
//使用对账单接口
$downloadBill = new DownloadBill_pub();
//设置对账单接口参数
//设置必填参数
//appid已填,商户无需重复填写
//mch_id已填,商户无需重复填写
//noncestr已填,商户无需重复填写
//sign已填,商户无需重复填写
$downloadBill-&setParameter("bill_date","$bill_date");//对账单日期
$downloadBill-&setParameter("bill_type","ALL");//账单类型
//非必填参数,商户可根据实际情况选填
//$downloadBill-&setParameter("device_info","XXXX");//设备号
//$downloadBill-&setParameter("device_info","方倍工作室1");//设备号
//对账单接口结果
$downloadBillResult = $downloadBill-&getResult();
echo $downloadBillResult['return_code'];
if ($downloadBillResult['return_code'] == "FAIL") {
echo "通信出错:".$downloadBillResult['return_msg'];
print_r('&pre&');
echo "【对账单详情】"."&/br&";
print_r($downloadBill-&response);
print_r('&/pre&');
上述对账单一次只能查询一天的数据。
其返回的账单结果如下
交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,企业红包金额,微信退款单号,商户退款单号,退款金额,企业红包退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率 `2015-04-12 20:27:22,`wx554f0b3e56067c9d,`,`0,`WJ4,`1630,`wx554f0b3e8841627,`oMfX0jgJjSPVvYOz3p_BP8LclWO0,`NATIVE,`SUCCESS,`CMB_CREDIT,`CNY,`71.00,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.42600,`0.60% `2015-04-12 18:08:38,`wx554f0b3e56067c9d,`,`0,`WJ1,`9734,`wx554f0b3e8833308,`oMfX0jhbQ1xd0B6Vm-kuizH9e9rs,`NATIVE,`SUCCESS,`COMM_DEBIT,`CNY,`92.00,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.55200,`0.60% `2015-04-12 19:12:06,`wx554f0b3e56067c9d,`,`0,`WJ1,`6120,`wx554f0b3e8837103,`oMfX0jj6h2ls1TsZEORs8WXRtSrE,`NATIVE,`SUCCESS,`CEB_CREDIT,`CNY,`69.60,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.41760,`0.60% `2015-04-12 13:03:25,`wx554f0b3e56067c9d,`,`0,`WJ1,`9224,`wx554f0b3e8814993,`oMfX0jtHOXPrCCWebdJEYl1eIzVg,`NATIVE,`SUCCESS,`CFT,`CNY,`16.80,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.10080,`0.60% `2015-04-12 12:20:39,`wx554f0b3e56067c9d,`,`0,`WJ2,`5541,`wx554f0b3e8812423,`oMfX0jhBckNfxRDHp2lUiFxXlCYE,`NATIVE,`SUCCESS,`CCB_DEBIT,`CNY,`126.60,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.75960,`0.60% `2015-04-12 09:35:03,`wx554f0b3e56067c9d,`,`0,`WJ6,`8869,`wx554f0b3e8802486,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CMBC_DEBIT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 09:23:20,`wx554f0b3e56067c9d,`,`0,`WJ6,`9203,`wx554f0b3e8801789,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CMBC_DEBIT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 10:15:27,`wx554f0b3e56067c9d,`,`0,`WJ5,`6779,`wx554f0b3e8804915,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 10:10:09,`wx554f0b3e56067c9d,`,`0,`WJ5,`0924,`wx554f0b3e8804597,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 10:06:19,`wx554f0b3e56067c9d,`,`0,`WJ6,`7007,`wx554f0b3e8804368,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 11:07:04,`wx554f0b3e56067c9d,`,`0,`WJ1,`2567,`wx554f0b3e8808013,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 11:27:07,`wx554f0b3e56067c9d,`,`0,`WJ6,`5881,`wx554f0b3e8809215,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 16:24:48,`wx554f0b3e56067c9d,`,`0,`WJ1,`1508,`wx554f0b3e8827074,`oMfX0jk-zqqeyv7yZYEc4W1lWPVg,`NATIVE,`SUCCESS,`CFT,`CNY,`15.80,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.09480,`0.60% `2015-04-12 14:56:41,`wx554f0b3e56067c9d,`,`0,`WJ1,`9894,`wx554f0b3e8821791,`oMfX0jnw_NpAlwgSuJsyR8ocGSjI,`NATIVE,`SUCCESS,`CCB_DEBIT,`CNY,`42.00,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.25200,`0.60% `2015-04-12 13:00:00,`wx554f0b3e56067c9d,`,`0,`WJ1,`6372,`wx554f0b3e8814787,`oMfX0jnVvUaoR84XV8cP4ugcd9dk,`NATIVE,`SUCCESS,`PAB_CREDIT,`CNY,`16.80,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.10080,`0.60% `2015-04-12 16:13:48,`wx554f0b3e56067c9d,`,`0,`WJ4,`9673,`wx554f0b3e8826408,`oMfX0jlf4aVHBY1nel1XuNvb2m1A,`NATIVE,`SUCCESS,`ABC_DEBIT,`CNY,`120.00,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.72000,`0.60% `2015-04-12 09:49:04,`wx554f0b3e56067c9d,`,`0,`WJ1,`7546,`wx554f0b3e8803335,`oMfX0juZ58OdofLgirvkqK0FPq-w,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% 总交易单数,总交易额,总退款金额,总企业红包退款金额,手续费总金额 `17,`571.40,`0.00,`0.00,`3.42840
如果当天没有账单,则返回XML如下
&return_code&&![CDATA[FAIL]]&&/return_code&
&return_msg&&![CDATA[No Bill Exist]]&&/return_msg&
二、账单入库
上述的账单数据是个字符串,且只是一天的数据,不利于统计及查询。还需要下载到数据库中来。
账单的字段有这些
交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,微信退款单号,商户退款单号,退款金额, 代金券或立减优惠退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率
根据上述字段,建表如下
CREATE TABLE IF NOT EXISTS `wx_bill` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`tradetime` varchar(20) NOT NULL,
`ghid` varchar(20) NOT NULL,
`mchid` varchar(20) NOT NULL,
`submch` varchar(10) NOT NULL,
`deviceid` varchar(16) NOT NULL,
`wxorder` varchar(30) NOT NULL,
`bzorder` varchar(30) NOT NULL,
`openid` varchar(30) NOT NULL,
`tradetype` varchar(10) NOT NULL,
`tradestatus` varchar(10) NOT NULL,
`bank` varchar(16) NOT NULL,
`currency` varchar(20) NOT NULL,
`totalmoney` varchar(20) NOT NULL,
`redpacketmoney` varchar(20) NOT NULL,
`wxrefund` varchar(10) NOT NULL,
`bzrefund` varchar(10) NOT NULL,
`refundmoney` varchar(20) NOT NULL,
`redpacketrefund` varchar(20) NOT NULL,
`refundtype` varchar(10) NOT NULL,
`refundstatus` varchar(10) NOT NULL,
`productname` varchar(30) NOT NULL,
`bzdatapacket` varchar(10) NOT NULL,
`fee` varchar(10) NOT NULL,
`rate` varchar(10) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `wxorder` (`wxorder`),
UNIQUE KEY `bzorder` (`bzorder`)
) ENGINE=MyISAM
DEFAULT CHARSET=utf8 AUTO_INCREMENT=272 ;
将微信账单的数据插入到数据库中,实现如下
INSERT INTO `wx_bill` (`id`, `tradetime`, `ghid`, `mchid`, `submch`, `deviceid`, `wxorder`, `bzorder`, `openid`, `tradetype`, `tradestatus`, `bank`, `currency`, `totalmoney`, `redpacketmoney`, `wxrefund`, `bzrefund`, `refundmoney`, `redpacketrefund`, `refundtype`, `refundstatus`, `productname`, `bzdatapacket`, `fee`, `rate`) VALUES
(32, '', 'wx554f0b3e56067c9d', '', '0', 'WJ1', '6372', 'wx554f0b3e8814787', 'oMfX0jnVvUaoR84XV8cP4ugcd9dk', 'NATIVE', 'SUCCESS', 'PAB_CREDIT', 'CNY', '16.80', '0.00', '0', '0', '0', '0', '', '', '微信公众平台开发最佳实践', '', '0.10080', '0.60%'),
(31, '', 'wx554f0b3e56067c9d', '', '0', 'WJ1', '9894', 'wx554f0b3e8821791', 'oMfX0jnw_NpAlwgSuJsyR8ocGSjI', 'NATIVE', 'SUCCESS', 'CCB_DEBIT', 'CNY', '42.00', '0.00', '0', '0', '0', '0', '', '', '微信公众平台开发最佳实践', '', '0.25200', '0.60%'),
(30, '', 'wx554f0b3e56067c9d', '', '0', 'WJ1', '1508', 'wx554f0b3e8827074', 'oMfX0jk-zqqeyv7yZYEc4W1lWPVg', 'NATIVE', 'SUCCESS', 'CFT', 'CNY', '15.80', '0.00', '0', '0', '0', '0', '', '', '微信公众平台开发最佳实践', '', '0.09480', '0.60%');
二、统计分析
有了本地数据,就可以进行各种统计分析了。
1. 条件组合
下面是一种进行组合查询账单的界面实现。需要查询使用的设备,使用的支付类型,及指定的时间范围。
其查询的结果如下所示
阅读(...) 评论()10:37 提问
您好,易代账银行对账单自动生成凭证中,修改凭证后无法保存是什么原因啊,保存键是灰色的,之前是可以保存的,今天使用不可以
{{it.author.name}}
      
1621次观看
2109次观看对账单的生成和打印
[问题点数:40分,结帖人LWMWORK]
本版专家分:892
结帖率 99.06%
CSDN今日推荐
本版专家分:12576
本版专家分:144
本版专家分:892
匿名用户不能发表回复!|
其他相关推荐日志转载:随手记团队发布新产品“卡牛”,实现刷卡消费自动记账
| Apps尽享小组 | 果壳网 科技有意思
81149人加入此小组
此帖子内容转载自我的日志。原文链接:虽然银行在每笔信用卡消费发生时都会发一条提示短信,还会每个月发一个账单到你的邮箱里,你也可以随时通过网络或电话查询到自己的账单详情,但是在结账日看到信用卡账单被吓一跳的感觉对大多数持有信用卡的人来说一定不会陌生。这次随手记团队推出的新产品“卡牛”希望解决的就是这种“突然被信用卡账单吓一跳”的情况。“卡牛”不需要注册,也不需要输入任何账号密码信息,你下载到“卡牛”之后,打开app,就会看到根据自己手机里接收到的信用卡消费短信整理出来的记账信息,帮你随时随地掌握自己的信用卡消费状况。“卡牛”的工作原理就是对你手机里来自银行的刷卡短信进行解读,再以对账单的形式重现。可以将它看做一个对本地消费短信以账单形式再次呈现的小工具,实现转换的过程不需要你提供任何额外的信息(卡牛甚至不知道你的手机号),再解读的过程在本地就能完成,也不需要通过网络,更大限度保护个人隐私。跟之前我们报道过的“卡小二”、“51信用卡帐单”相比,不需要输入任何个人信息,并且所有的操作都在手机本地完成,可以看做卡牛的特殊之处。随手记团队CEO谷风说,目前卡牛已经能够对138家银行发出的350多个短信模版进行识别,自动生成记账单。除了信用卡对账单,“卡牛”也能根据ATM取款短信生成支出记录,当银行发来短信入账提醒时,也可以在卡牛上给自己设置特殊的提示音。“卡牛”是随手记团队推出的第二款手机理财应用,他们的第一款应用随手记已经有超过2500万的下载量。谷风在刚刚结束的36氪深圳开放日后向我们介绍说:“随手记最主要的用户其实是公司老板,或者以提成形式结算薪水的公司人,这些人有随时记账的需求,还有就是财务状况发生变动期的个人,比如刚毕业的大学生,或者要结婚的小青年。而这次推出的卡牛更明确的瞄准白领用户,卡牛根据短信就自动生成对账单的功能,可以帮他们省掉记账的麻烦,又能随时了解消费状况。”目前卡牛只有安卓版。对理财感兴趣的懒人可以点击下载。除非注明,本站文章均为原创或编译,转载请注明:
(C)果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号&&&&
违法和不良信息举报邮箱:&&&&举报电话:&&&&&&&&您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
运用EXCEL实现银行对账自动化.doc 5页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
运用EXCEL实现银行对账自动化
你可能关注的文档:
··········
··········
运用EXCEL实现银行对账自动化许国 吴光校银行对账是指每月单位的银行存款日记账和银行对账单核对,勾销已达账,生成银行存款余额调节表的过程,这是保证资金安全的最重要手段。一般财务系统也带有银行对账模块,但在实际操作中存在这样那样的问题,要么银行对账单的数据文件格式与财务系统不符,?要么财务系统的对账模块不能正常使用,这样只能用手工核对,但这要花较长时间,而且容易出错,一旦出错,核查起来更麻烦。本人充分运用Excel的VBA功能实现了银行对账自动化。
一、收集对账数据
1、从账务系统中导出银行存款明细账的数据,并保存为EXCEL文档,然后把相应的内容复制到图1中对应的栏目内。
2、银行对账单数据文件一般为DBF格式,也有的为EXCEL文档,如果为DBF文件,就需要转化为EXCEL文档,然后把对应的内容复制到图1中对应的栏目内。处理完后的EXCEL文档如图1,并把“sheet1”工作表重命名为“对账数据”。
二、自动核对对账数据
1、在“对账数据”工作表中选择[工具]?→[宏]→[Visual?Basic编辑器]菜单,进入VBA编辑窗口,执行[插入]→[模块]命令,插入模块1,然后在编辑窗口中输入如下代码。
Sub?zdhd()
Dim?Irow?As?Integer,?i?As?Integer,?j?As?Integer?
Irow?=?[a1].CurrentRegion.Rows.Count??’取得行数
For?i?=?3?To?Irow??’数据从第3行开始
For?j?=?3?To?Irow
If?Cells(i,?"C")?=?Cells(j,?"K")?Then???’如果C列i行等于K列j行
If?Cells(i,?"D")?=?Cells(j,?"L")?Then???’并且D列i行等于L列j行
If?Cells(i,?"C")??""?Then??’并且C列i行不等于空
Cells(j,?"L")?=?"√"???’则L列j行的值为√
Cells(i,?"D")?=?"√"???’则D列i行的值为√
Exit?For??’如果找到该单元格,则退出查找
End?If:End?If:End?If:Next?j:Next?i
For?i?=?3?To?Irow?’注释与上相似
For?j?=?3?To?Irow??
If?Cells(i,?"E")?=?Cells(j,?"I")?Then
If?Cells(i,?"F")?=?Cells(j,?"J")?Then
If?Cells(i,?"E")""?Then
Cells(j,?"J")?=?"√":Cells(i,?"F")?=?"√"
Exit?For:End?If:End?If:End?If:Next?j:Next?i
注:单引号后的文字为代码注释,可以不输入,另外为节省篇幅,在一行中使用了冒号隔开多条指令(下同)。
2、源代码编辑无误后保存并退出,然后选择[视图]?→[工具栏]?→[窗体]命令,出现[窗体]控件,单击[按钮],光标变成小十字形,然后将小十字形移到适当位置,按下左键拖动鼠标,直到出现的方框大小合适后,释放鼠标左键,形成一个按钮,点击按钮输入“自动核对”文字,然后在此按钮上单击右键,选择[指定宏]命令,弹出“宏”对话框,选定宏“zdhd”,单击对话框右上方的[确定]按钮,完成后按“自动核对”按钮即可勾对已达账,如图2。
三、生成银行存款调节表
1、把“sheet2”工作表重命名为“银行调节表”,设置好1至9行的内容,然后按前面的方法插入一个模块2,并在编辑窗口中输入如下代码。
Sub?lhtjb()
Dim?Irow?As?Integer,?i?As?Integer
Irow?=?Sheet1.[a1].CurrentRegion.Rows.Count?
Sheets("对账数据").Activate?’激活对账数据工作表
For?i?=?3?To?Irow?’数据从第3行开始
If?Cells(i,?"D")?=?""?Then??’如果D列i行等于空
If?Cells(i,?"C")??""?Then??’并且C列i行不等于空
Range(Cells(i,?"A"),?Cells(i,?"C")).Select?’则选中A列i行至C列i行单元格
Selection.Copy?_’然后复制到银行调节表中相应的单元格中
Sheets("银行调节表").Cells(i?+?7,?"A")?
End?If:End?If:Next?i
For?i?=?3?To?Irow?’’注释与上相似
If?Cells(i,?"F
正在加载中,请稍后...}

我要回帖

更多关于 对账单格式表格范本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信