「java对账处理」java实现对账功能
本篇文章给大家谈谈java对账处理,以及java实现对账功能对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java怎么从对账单csv.zip中拿出数据并转成listmap形式呢
- 2、java web 开发 购物网站 怎么做订单结算部分????
- 3、支付渠道对账及账务处理
- 4、两家公司之间是怎样对账的?具体流程是什么?
java怎么从对账单csv.zip中拿出数据并转成listmap形式呢
其实csv文件格式和txt文件一样,你用ue或者editplus打开它看看,就是一些字符串,中间用逗号隔开了。 所以你从java中导出数据到csv文件中是和导出到txt文件中一样的,导出的文件后缀名改成csv就ok了。
java web 开发 购物网站 怎么做订单结算部分????
我写过两次订单结算,不过都是asp.net下的,但是应该差不多吧.订单结算是最后的步骤,提交订单之后需要做结算,实际上就是收钱嘛.
传统来讲此时需要一个支付接口,比如说支付宝财付通快钱 网银在线之类的,他们提供接口,我们按照他们说明文档来实现就好.重要的是交易记录哦!!提交订单后需要交易日志(不能从字面意义上来理解"交易",实际上跟别人讨价还价也是交易的一种不是嘛.)转到接口前需要日志,接口返回信息需要日志(表结构差不多啦)这些日志,方便以后退款或者查看状态使用;
不传统来讲除支付接口外,要考虑购物网站个人钱包支付或者线下汇款之类的 建议使用策略模式
额 不知道说啥了.缕一缕在纸上构思下就差不多 但一定要考虑好安全性
支付渠道对账及账务处理
在支付系统中,有内部子系统间单据对账,账务系统对账,会计系统对账,支付渠道对账等。
这篇主要介绍的是以复式记账法记账为背景,电商平台支付系统与支付渠道对账的对账,内容主要是近期学习整理汇总得来,如有错误欢迎评论区讨论。
交易系统向支付系统发起一笔支付请求后:
交易系统向支付系统发起一笔退款请求后:
如果得到退款失败或异常结果,通常支付机构或银行会转线下人工处理退款,或支付机构提供平台,由支付机构的商户去处理失败退款。
渠道退款失败后账务处理方式,需要按照不同渠道对于退款失败的处理办法来设置。通常是会继续冻结这笔资金,转人工处理,继续尝试其他方式退款。
日终时,支付系统的对账模块,将前一日支付成功的支付流水,以及退款发起成功的退款流水,取交易时间,支付金额,平台单号,平台支付流水号,平台支付金额,按照支付渠道区分,保存为当日平台侧交易对账文件。
如果需要核对手续费,则需要按照不同支付渠道的协议费率和取整方式,以及退款返还手续费规则,计算出手续费金额,用于和支付渠道结算实收手续费进行比较。
待支付机构日切或清分后,支付机构会提供对账文件,包含交易文件或资金文件,也可能是2份文件中的字段信息合在一个对账文件中。如果是分成2份文件提供,通常需要先进行交易文件对账,之后再以交易对账结果,作为资金对账的依据。因为交易文件实际上是支付机构待清算账户的入账凭证,资金文件则是结算账户的入账凭证。
在收单支付渠道的交易文件中,会有交易(支付),交易退款/交易撤销两种交易类型。在对账的时候,拿到支付渠道交易文件后,解析出一下字段,生成当日该渠道侧交易对账文件:
交易文件:交易金额,交易时间,机构单号,商户单号,手续费;
资金文件:结算时间,结算金额,入账金额,手续费,机构单号,商户单号。
将渠道侧对账文件,与当日平台侧对账文件,按照商户支付单号进行left join 和 right join,产生的并集,即为当日批次该渠道的支付对账表。
系统自动进行金额、条数的核对,将此次自动对账结果汇总(总条数,成功x条,长款x条,短款x条,自动缓存x条,需人工处理x条),通知相关人员处理。
对账结果以及差异处理:
对账差异处理时的补单、更新状态、退款、挂账等操作,都需触发相应账务系统流水和记账凭证记录。
充值交易,在交易对账成功后,以渠道文件中的交易金额和手续费,通知账务系统,生成分录流水:
退款交易,在交易对账成功后,以渠道文件中的退款金额、退款返还手续费,提交给账务系统生成机构账户流水。
交易对账完成后,以对账结果生成平台侧资金对账文件,与支付渠道侧提供的资金文件,进行明细轧帐。
对账成功的充值交易,通知账务系统,生成待清算账款转入基本户账户,以及手续费账户扣款的分录流水:
代付类交易,比如银企直连,或者第三方代付功能,一般用于账户提现,工资佣金发放,采购单结算等,也有一些退款的场景是用代付来实现。
代付和退款同为出金类操作,渠道侧会在提交成功时扣款,但代付除了本金扣款,还有手续费扣款;
代付转账失败会自动退回本金,银行渠道是1~3天退回,第三方余额转账通常实时退回。手续费可能根据不同失败原因,退回或者不退回。
因此代付账户的对账,也就是四种交易类型的对账:转账转出,转账失败转入,转账手续费转出,转账失败手续费退回。
同样可参考退款的对账和账务处理方式,设计信息流和资金流对账流程。
内部账户转账,一般是实时清分,不存在资金流和信息流的区别,通常是内部实时或者准实时对账。
在电商平台中,对于订单交易场景,商户在平台的账户,一般有:待清算货款,货款余额账户。
提供给商户的对账单,需要体现这两个账户,入金和出金的单据凭证。
订单支付,待清算货款账户入金;
订单结算,待清算货款账户出金(分账明细),货款余额账户入金;
货款结算前退款,待清算货款账户出金,
货款结算后退款,货款余额账户出金。
余额提现:货款余额账户出金。
因此,通常需要提供给客户三份账单文件,以方便商户对账。订单交易记录(区分支付和退款)、订单结算单(包含实付金额,退款金额,平台手续费,货款金额等)、货款余额账户流水明细。
其实银行与支付机构,支付机构与电商平台,电商平台和入驻的商户,都属于上下游的关系;之间的信息流和资金流,以及对账的方式,基本逻辑都是一致的,理解这一点后,就更好理解对账的目的和方法了。
两家公司之间是怎样对账的?具体流程是什么?
订单就是与客户之间的生意交易合同一样,代表着要订多少货,那我们所送的货是以送货单上的数据为主,不一定与订单数据一样,有时会多一点或者少一点也属正常情况。那我们跟客户对账是以实际的送货数据为准,你要跟客户对账,首先打一份往来对账单(本期就按你们销售的日期,数量,金额排列下来),有上期余额就是:本期余额(也是客户目前为止所欠的贷款)=上期余额+本期送货金额-收回款项金额(如果更明细有收现金或银行存款,应收票据之类的)。更简单的做法就是,单对单,再统计金额。
大致流程为:对账单获取→数据规范→对账核心→结果输出→(差错处理)。
1.对账单获取对账前首先要获取到对账单,对方一般在第二天提供,提供的方式有接口、邮件、ftp等。
2. 数据规范一般电商平台不会仅接一家支付公司,不同支付渠道提供的对账单格式、规范不尽相同,因此需要进行转换, 最终进行核心对账。
1)文件命名上传对账单文件命名规则为:业务类型_资金渠道_清算日期_序列号 . 文件格式(I_WEIXIN10401_20160915_02.CSV )业务类型:常见业务类型有入款I、出款O、退款R(撤销、退货)资金渠道:同一合作方有多种产品,需区别清算日期:YYYYMMDD序列号:同一业务类型同一资金渠道可能有多份对账单文件格式:优选CSV格式。
2)文件解析每个渠道对应一个解析脚本取订单号、交易本金。
3.对账核心对账单数据整理规范后,进行对账时,需将对账单中订单、金额与电商平台系统订单、金额进行比对。
1) 根据渠道日期状态获取系统订单
2) 系统订单与对账单匹配u 按照系统订单中顺序一条条与对账单记录进行匹配。
u 匹配时先按照订单号进行匹配,再对金额进行比对。
u 系统订单匹配完成以后,检查对账单是否存在剩余记录。
3) 对账处理:
u 对于订单号、金额一致的,记为已对账。
u 对于订单号匹配,但金额不匹配的,记为金额不一致。
u 对于订单号无法匹配的,记为短款。
u 对于对账单中剩余记录,全部记为长款。
4.结果输出对账无差异的,显示对账成功,可进行汇总确认。对账存在差异的进行展示,并提供差错处理方式。
5.差错处理差错处理需达到2个效果,一个是完成对账,另外一个是将账务对平,常见的账务处理方式有补单、挂账、登账、调账。
1) 补单:通过人为干预方式,将原有业务进行下去,如通过接口人工干预订单状态
2) 挂账:对于不平账单,先挂起,等查明后再进行相应处理3) 登账:会计记账,伴随虚拟资金从一个账户向另一个账户转移的过程(原始凭证)。
java对账处理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现对账功能、java对账处理的信息别忘了在本站进行查找喔。