对我的事务reserval数据库设计不满意
场景,用户从系统(应用程序/游戏,平台等)中提取资金到他的银行帐户。
银行拒绝银行转账,因此撤回交易失败。现在,系统需要将资金返还给用户,减去已拒绝/失败交易的费用。
要执行提款,有4个交易条目(创建4个记录),然后执行交易的反转,还有另外6个交易条目。共有10个交易条目! (创建了10条记录!)
我觉得可能有更好的方法来做到这一点!也许只能将记录标记为保留,并为保留的事务添加逻辑到软件???
我做得对吗?
如何在双重记账数据库设计中保留交易?
编辑:保留交易,不是 指的是数据库的重新分配 交易,而是保留 资金。
答案 0 :(得分:1)
我不确定这是一个编程问题。这里的问题是会计要求。在我们的系统中,我们会将借方发布到AR子公司分类账,然后借记到总分类账。如果我们接受拒绝,退回支票或其他任何事情,我们会发布扭转它的新交易。没有它,就没有实际发生的事情的记录。
我们确实使用信用卡取消了部分内容,因为我们可以在发布时解决这些问题。如果交易未能解决,AR批次不会发布,而职员必须修改或删除交易。 AR子分类帐交易上有一个已过帐的标记,必须在它影响余额之前翻转,并且在成功发布之前不会调整GL。如果它确实发布成功但我们收到退款,我们仍然使用上述方法。
真的,这取决于你的审计员想要保留什么样的记录。他们可能希望跟踪报告失败的交易以及可能的欺诈检测。一般规则是,一旦发布了某些内容,它就永远不会改变。