如何在双重记录数据库设计中反转事务!

时间:2011-02-12 10:40:19

标签: sql-server database oracle database-design accounting

对我的事务reserval数据库设计不满意

场景,用户从系统(应用程序/游戏,平台等)中提取资金到他的银行帐户。

银行拒绝银行转账,因此撤回交易失败。现在,系统需要将资金返还给用户,减去已拒绝/失败交易的费用。

要执行提款,有4个交易条目(创建4个记录),然后执行交易的反转,还有另外6个交易条目。共有10个交易条目! (创建了10条记录!)

我觉得可能有更好的方法来做到这一点!也许只能将记录标记为保留,并为保留的事务添加逻辑到软件???

我做得对吗?

如何在双重记账数据库设计中保留交易?

  

编辑:保留交易,不是   指的是数据库的重新分配   交易,而是保留   资金。

1 个答案:

答案 0 :(得分:1)

我不确定这是一个编程问题。这里的问题是会计要求。在我们的系统中,我们会将借方发布到AR子公司分类账,然后借记到总分类账。如果我们接受拒绝,退回支票或其他任何事情,我们会发布扭转它的新交易。没有它,就没有实际发生的事情的记录。

我们确实使用信用卡取消了部分内容,因为我们可以在发布时解决这些问题。如果交易未能解决,AR批次不会发布,而职员必须修改或删除交易。 AR子分类帐交易上有一个已过帐的标记,必须在它影响余额之前翻转,并且在成功发布之前不会调整GL。如果它确实发布成功但我们收到退款,我们仍然使用上述方法。

真的,这取决于你的审计员想要保留什么样的记录。他们可能希望跟踪报告失败的交易以及可能的欺诈检测。一般规则是,一旦发布了某些内容,它就永远不会改变。