これは、会計/数学の質問と同じくらいデータベース/プログラミングの質問なので、実際にすべての関連するボードに投稿しています。何卒ご理解とご協力を賜りますようお願い申し上げます。
基本的に、私は支払い台帳に頭を包むのに苦労しています。私のシステムには、CHARGES、PAYMENTS、PAYMENTS_TO_CHARGESの3つのテーブルがあります。問題は、システム要件の一部で、支払いをCHARGEに直接関連付ける機能と、メンバーが自分のアカウントに過払い(またはクレジット)を投稿できるようにする機能の両方が必要なことです。したがって、クレジットを追跡し、必要に応じて将来の料金に適用する必要があります。
おそらく私は間違った観点から物事を考えていますが、私はチャージをデビットとして、ペイメントをクレジットとして描いています。ただし、会計アプローチによっては、両方に借方/貸方があるように見えます。
ですから、私の質問は、公式には、過払いなどを考慮しながら、支払いと請求を追跡/調整するための最良の方法は何ですか?DBテーブルとビジネスロジックを理解しようとしていますが、毎回私は1つの問題を解決します。逆(または逆)のアイテムが現れます。多対多の関係でトランザクションごとに正と負の数を追跡することを許可しますか?すべてのクレジットが適用される偽のユニバーサルチャージを作成しますか?完全に別個のCREDITSテーブルを作成しますか?お分かりのように、私はこれを考えすぎている可能性がありますが、確かに混乱しています。
すべてのトランザクションが1対1で保証されていれば、明らかにはるかに簡単になります。残念ながら、そうではありません
ベスト。
本 Martin Fowlerによる分析パターン には、私が非常に役立つと思った会計パターンに関する包括的なセクションがあります。彼は、多くの人が必要とするよりもはるかに長い道のりで設計の柔軟性を取りますが、あなたはあなたに合ったレベルで止めることができます。
彼はまた、同様の内容の記事を公開しています。これは彼のサイトの articles ページにあります。 [分析パターン]見出しの下にあるアカウンティングパターンを探します。直接リンクが http://martinfowler.com/apsupp/accounting.pdf のPDFです。
とても良いもの。
会計士に聞いてください。それを信じてください。彼はそれを行う方法を正確に教えてくれます。
会計の専門家は何世紀にもわたってこの種のことを扱ってきており、彼らはそれを本当に理解していることを付け加えたいと思います。