« 「無限に広がる大宇宙」のコード進行 | トップページ | 敵は「スクラッチ開発」にあり »

2011.02.05

取引実績テーブルの設計と仕訳

 売掛や買掛や在庫に関する取引が起こると残高が更新される。同時に残高の変動に応じた取引実績が記録され、会計上の基礎情報となる。すなわち、取引実績が「仕訳」の元ネタとなる。ここらへんの事情が完全に理解されていないと、業務システムの設計は務まらない。ましてや「アジャイル開発」など無謀だ。

 簡単な例で取引実績データと仕訳の関係を眺めながら、取引実績テーブルをどのように設計したらよいかを考えてみよう。

 仕入先から商品が100個入荷した。商品単価が100円で、関税やら諸掛やらで合わせて1,000円かかったとしよう。仕入にかかった費用を商品の原価に参入するとすれば、仕訳は次のようになる。

 商品 11,000/買掛金  10,000
             仕入諸掛  1,000

 入荷情報が何らかのトランザクションテーブル(入荷明細テーブルとしよう)に記録され、同時に仕入実績と受払実績データが生成される。それらを保持するためのテーブルはどのように設計されるだろう。たとえばこんな形ではどうか。

【設計案A】
 仕入実績 {仕入№} 仕入先C,仕入日,仕入区分,仕入額
      120001  T123  ... 入荷仕入 10,000
 受払実績 {受払№} 商品C,受払日,受払区分,受払数,受払額
      340001  S256 ... 入荷仕入  100 11,000

 設計案Aはわかりやすいが、ちょっとした問題がある。仕訳を生成する際には仕入諸掛相当の1000円を算出する必要がある。そのために、どうしてもこれら2件の実績情報を突き合せなければいけない。

 もちろんこれらの実績データは、特定の入荷明細レコードを起点として生み出されているので、それを手がかりにして突合せ処理することは可能だ。しかし、だからといって会計システムに対してそういった処理手順を強制できるとは限らない。取引実績から個別に仕訳を構成でき、しかも仕訳を合算しても正しい結果が得られたほうがいい。そこで次の設計案が提案される。

【設計案B】
 仕入実績 {仕入№} 仕入先C,仕入日,仕入区分,仕入額
            120001    T123   ... 入荷仕入 10,000
 受払実績 {受払№} 商品C,受払日,受払区分,受払数,受払額,取引差額
            340001   S256  ...  入荷仕入  100 11,000  1,000

 受払実績に「取引差額」を追加しただけの違いだが、これが山椒のように効いている。「取引差額」では何のことかよくわからないが、これは「受払区分」毎に扱い方針(意味あい)が決まる項目だ。"入荷仕入"の場合ならば"仕入諸掛"だし、"出荷売上"の場合ならば"粗利"といった調子だ。

 設計案Bのインスタンスにもとづいて仕訳すると次のようになる。別々に仕訳しても、それらを合算すれば対照勘定の「入荷仕入仮勘定」が相殺され、意図した仕訳として整理される。受払区分毎に対照勘定を用いた形で仕訳様式を定めておけばよい。仕訳生成の問題を取引実績データの取引区分毎に完結してしまえる。

<仕入実績120001にもとづく仕訳>
 入荷仕入仮勘定 10,000 / 買掛金 10,000
<受払実績340001にもとづく仕訳>
 商品 11,000 / 入荷仕入仮勘定  10,000
             仕入諸掛     1,000
======================
 商品 11,000 / 買掛金    10,000
              仕入諸掛    1,000

 参考までに、設計案Bにもとづく「仕入返品」の実績と仕訳を示す。この場合でも「取引差額」が重要な役割を果たす。返品にともなう買掛控除額は仕入先との調整で決まるが、返品の際の出庫額は規定の払出基準で自動的に決まる。ゆえにそれらに差額が生じることが避けられない(通常は払出金額のほうが大きい)。ここでは差額が"雑損"として処理されている。

 仕入実績 {仕入№} 仕入先C,仕入日,仕入区分,仕入額
            120002    T123   ... 仕入返品 10,000-
 受払実績 {受払№} 商品C,受払日,受払区分,受払数,受払額,取引差額
            340002   S256  ...  仕入返品  100- 11,000-  1,000
<仕入実績120002にもとづく仕訳>
 買掛金 10,000 / 仕入返品仮勘定 10,000
<受払実績340002にもとづく仕訳>
  仕入返品仮勘定  10,000 / 商品 11,000
  雑損        1,000
======================
  買掛金  10,000 / 商品  11,000
  雑損    1,000

 以上、初歩的な例ではあるが、簿記の知識とDB設計スキルとが揃っていないと業務システムを扱えないことが理解できたと思う。アジャイルかウォーターフォールかに関係なく「業務システムの設計に関わりたいならば簿記とDB設計を学ぼう」と私がやかましく言うのはこういう理由からだ。

|

« 「無限に広がる大宇宙」のコード進行 | トップページ | 敵は「スクラッチ開発」にあり »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 取引実績テーブルの設計と仕訳:

« 「無限に広がる大宇宙」のコード進行 | トップページ | 敵は「スクラッチ開発」にあり »