2017-03-24 8 views
0

:今ダブルエントリーアカウンティングシステム、レポート生成の問題。私たちは常にすべての雑誌の集計を集計する必要がありますか?私はDBはこれらの関連する列がある会計ソリューション、に取り組んでいます

1. Account (The chart-of-account column) 
2. Journal (This is one row for each journal entry) 
3. Journal Line Item (Now, one journal entry can have more than 2 
entries, hence this 3rd table, with a FK to 2nd table). This table has 
an FK to Table 1 as well 

を、我々は1月にトレイルバランスを生成する必要があるとしましょう(会計年4月1日からにされると仮定すると3月31日)。現時点では、すべてのジャーナルエントリの完全な集計を行う必要があります。アカウントを賢明に報告する必要があります。 これは他のすべてのレポートに当てはまります。より良いDB設計/それを行う方法はありますか?

P .: 1つの方法は、アカウントの残高を表1の日付に維持することです。ただし、前月/四半期の試用残高が必要な場合は、この結果、ソリューションは再びスープになります。

注:Django、Postgresqlを使用しています。

+0

この質問はアカウンティングサイト(現在はエリア51の提案:https://area51.stackexchange.com/proposals/113560/accounting?referrer=FNOG9_mXNYnhlAdnl9FE8w2)に最適です。 – Jacob

答えて

0

正解です。ジャーナルエントリには2つ以上のトランザクションが関係する可能性があります。私はアプローチを変更するだろう。このように考えると、プライムエントリ(取引ログ)の書籍があり、次に< <ジャーナル(日合計)< <勘定コード表(会計年度残高)があります。ビジネスロジックをデータベースに入れないようにしてください。あなたがしようとしているもののように聞こえる。 2つ以上のエントリは、私の意見ではデータモデルの一部ではない会計ルールです。

+0

返信いただきありがとうございます。さて、あなたが言っているアプローチでは、問題があります。誰かが15日前にコミットしたトランザクションを更新/削除したいとしましょう。あるいは100日前に言いましょう。 (これは理想的には起こらないはずですが、会計ソフトウェアのすべてではないにしても、ほとんどの場合、これは許可されています。あなたのDB設計では、エントリー 'n'日前の編集/削除のために、エントリーの「n」は最高で変わらなければなりません(最悪ではn + 1)。 – Sayantan