普通のエンタープライズ系プログラマーであれば、会計用語はちゃんと英語で覚えているものですよね(白目
僕は前にも言ったとおりに、
出来損ないのエンタープライズ系プログラマーなので、
アメリカの中学生向けの会計の簡単な本で勉強しています。
この本の第二章に書かれていることをまとめてみます。
会計の基本用語
- 勘定 : Account
- 勘定科目 : Account Titile
- 借方 : Debit
- 貸方 : Credit
- 総勘定元帳 : Ledger
- 勘定科目一覧 : The Chart of Accounts
- 仕訳 : Journal
- 複式簿記 : Double-Entry Bookkeeping
- 試算表 : Trial balance
前回の復習
- 資産 : Assets
- 負債 : Liabilities
- 資本 : Capital
借方と貸方の決まり事 (Convention)
エンタープライズ系プログラマーなら当然わかっていると思いますが…
勘定科目(Account Title)は借方科目なのか貸方科目なのか決まっていますね。
借方系の勘定 (The Account to be debited)
- 資産(Asset)の増加
- 費用(Expense)の増加
- 負債(Liabilities)の減少
- 資本(Capital)の減少
- 収入(Income)の減少
借方系の勘定 (The Account to be credited)
- 負債(Liabilities)の増加
- 資本(Capital)の増加
- 収入(Income)の増加
- 資産(Asset)の減少
- 費用(Expense)の減少
会計のドメインモデルを作ってみる
ここまで来たら、もう会計のドメインモデル作れますね。
勘定
1 2 3 4 5 |
|
取引
1 2 3 4 5 6 7 8 |
|
借方
1 2 3 4 5 6 |
|
貸方
1 2 3 4 5 6 |
|
借方と貸方でクラスの構造が全く同じなので、
訓練されたSIer諸氏に於いては同じクラスを使おうと言い出すとおもいます。
しかし、java-ja.dddで増田さんがおっしゃっていたとおり、
借方と貸方は別物なので、別のクラスにします。
勘定科目
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
勘定の決まりごと
1 2 3 |
|
この二つのクラスを書いていて、Debit
とかCredit
のクラスを生成するメソッドはこのあたりにあるといいなと思ってきた。
例えば、費用が増加した場合
1 2 3 4 |
|
という感じで書きたいですね。
そうすると、AccountChart.groovy
を少し直さないといけないですね…
以下、宿題
Rearrange the following list of accounts and produce a trial balance.
- Accounts Payable(900)
- Accounts Receivable(1,400)
- Capital(3,200)
- Cash(2,000)
- Drawing(400)
- Equipment(1,800)
- Fees income(2,600)
- General expense(100)
- Notes Payable(1,100)
- Rent expense(500)
- Salaries expense(800)
- Supplies(600)
- Supplies expense(200)