是否应在数据库中的每个后续发票记录中引用原始订单

问题描述

考虑以下数据库设计(删除不相关的列和表):

Database Design Illustration

每次订阅的定期付款到期时,我打算添加发票记录和后续付款记录。

然而,给定的订单可以同时包含一次性购买和订阅购买,在生成新的每月时参考原始order_id是否正常发票?

我的犹豫(如果不清楚)是原始 order 记录可能包括不是订阅的项目,因此与经常性发票无关。

解决方法

我的想法:

  • 任何订单商品都可以是 0 成本。
  • 订阅项目是 0 成本订单。项目应在表中生成一个条目,该条目将购买的客户和服务(以 0 成本)关联起来,从中可以生成合同规定的任何周期和金额的发票。
  • 发票和付款之间的唯一区别是方向。有一张表格,其中包含足够的信息来识别发票(应付订单项目和订单 ID 的总和)或订阅项目(客户 ID 和服务 ID)。
  • 除非您通过直接借记管理收款,否则客户不会识别付款,因此您必须对收到的资金分配(退款、拒绝等)进行编码。
  • 您真的需要发票吗(如果每个订单都可计费,这与订单不一样吗?)。