不動産所得又は事業所得を生ずべき事業を営んでいる青色申告者で、これらの所得に係る取引を正規の簿記の原則、一般的には複式簿記により記帳し、その記帳に基づいて作成した貸借対照表を損益計算書とともに確定申告書に添付して確定申告期限内に提出している場合には、原則としてこれらの所得を通じて最高65万円を控除することとされています。通じて最高10万円を控除することとされています。65万円貰えるわけではありません。課税所得が330万円の人が65万円の所得控除を受けた場合、還付される(※1)税金はざっくり(※2)以下となります。日本の所得税は累進課税ですので、例えば課税所得が695万円のバリバリのフリーランスの方であれば、20%分の¥130,000が還付されます。65万円の所得控除を受けるために必要な事を説明します。以下の記述がありました。いう書類になるのですが、その大部分は損益計算書と貸借対照表が占めると言ってしまって良いと思います。損益計算書と貸借対照表は以下の様な感じです。)経理の知識が無いとぱっと見よく解らないと思います。どちらの用紙にも出てくる科目という言葉に着目して下さい。後で説明する複式簿記では所得に係る取引を科目に分けて記録します。これらの科目ごとの記入欄には、その年の取引について科目ごとに集計した金額を記入することになります。提出する書類は貸借対照表と損益計算書があればよいのですが、実は提出書類以外にも記帳義務というものが存在します。)青色申告者に対しては種々の特典がありますが、その一つに所得金額から最高65万円又は10万円を控除するという青色申告特別控除があります。65万円の青色申告特別控除この65万円の控除が受けられるための要件は、次の様になっています。不動産所得又は事業所得を生ずべき事業を営んでいること。これらの所得に係る取引を正規の簿記の原則(一般的には複式簿記)により記帳していること。(2)の記帳に基づいて作成した貸借対照表及び損益計算書を確定申告書に添付し、この控除の適用を受ける金額を記載して、法定申告期限内に提出すること。現金主義によることを選択している人は、65万円の青色申告特別控除を受けることはできません。不動産所得の金額又は事業所得の金額の合計額が65万円より少ない場合には、その合計額が限度になります。この合計額とは損益通算前の黒字の所得金額の合計額をいいますので、いずれかの所得に損失が生じている場合には、その損失をないものとして合計額を計算します。不動産所得の金額、事業所得の金額から順次控除します。10万円の青色申告特別控除この控除は、上記1の要件に該当しない青色申告者が受けられます。「正規の簿記の原則(一般的には複式簿記)により記帳していること」これが、65万円の青色申告特別控除を受けるための記帳義務になります。資料によると、記帳義務を怠っていたとしても法律的な罰則は無いとのことです。以下の一文があります。)記帳義務違反がある場合には、青色申告の特典を不適用とするペナルティーがある。¥65,000持ってかれる青色申告特別控除が受けられなくなるかもしれないということです。これらの所得に係る取引を正規の簿記の原則(一般的には複式簿記)により記帳していること。満たされなくなるので¥55,000は持ってかれます65万円の控除額が10万円になってしまうことは十分に考えられます。記帳義務を果たしましょう。個人で事業を行っている方の記帳・帳簿等の保存についてを参照下さい。次はいよいよ複式簿記について説明します。作成しなければならない帳簿があります。仕訳帳と総勘定元帳です。勘定科目とはお金の出入りの種別を表します。借方/貸方については慣れないとややこしいのですが、ポイントがあります。基本的に、入ってくるものは左側(借方)、出て行くものは右側(貸方)と覚えましょう。総勘定元帳は以下の様な感じになります。総勘定元帳は勘定科目ごとに作成します。別の言い方をすると、仕訳帳に記載されている内容を勘定科目ごとに整理し、転記したものと言えます。今現金がいくらあるのか?未収の売上はいくらあるのか?などがすぐに解るように残高も記入します。手書きの帳簿であれば、仕訳帳に記入して総勘定元帳に都度転記していかなければいけません。基のデータは仕訳帳です。そのため、仕訳帳さえあれば計算で出せるのです。最終的には年末に総勘定元帳に記入されている残高を基に、試算表を作成します。決算処理を行った後、試算表と決算整理仕訳から精算表を作成します。貸借対照表と損益計算書には精算表にまとめられた勘定科目ごとの金額を記入します。この精算表まで出来てしまえば、あとは損益計算書と貸借対照表に写していくだけです。その他の帳簿について青色申告の解説サイトなどを見ると、各種補助簿について説明があります。どこのサイトも必要に応じて作成すると但し書きがあります。こちらはケースバイケースなのでしょうが、参考までに私のケースを基に必要性をまとめてみました。経費に計上する出費は全て仕訳帳の摘要に内容を記入している。レシートと突き合せられる状態にしたいのでまとめて記入することは無い。全てを仕訳帳に記入している。物を売る仕事じゃないので仕入れない。物を売る仕事じゃないので買掛けない。請求書を出したら仕訳帳に売掛金として記入する。請求書の控えは別途保管。経費に計上する出費は全て仕訳帳の摘要に内容を記入している。レシートと突き合せられる状態にしたいのでまとめて記入することは無い。開業費償却で10万円ほどまとめて計上したのでそれだけ記録している。ソフトウェア開発のフリーランスにとって、必要な補助簿はごく僅かと思います。固定資産台帳しか記帳していません。スコープを定める本節の最初でMySQLでどこまでやるかのスコープを定めると書きました。本稿ではMySQLで以下を実現しようと思います。今度こそやってみよう!通常の業務では考えられませんが、解りやすさのためにMySQLの各テーブル、およびカラム名には日本語を使用します。以降のSQLではMySQLのcharsetがutf8に設定されている前提です。それではガンガン行きましょう。前節で複式簿記の帳簿は仕訳帳と総勘定元帳で、総勘定元帳の基データは仕訳帳ということを書きました。仕訳帳については日々の記録が必要です。〜とか書きたくありません。そのため、日々の仕訳はCSVに記録してMySQLにはCSVからテーブルにインポートします。備考は後ほど精算表の整理記入で使用します。気にしないでください。〜複合仕訳の記入について上記、カード引き落としの例など、一度の入金・支出に対して相手方の勘定科目が複数となるケースがあります。いった場合、通常は以下の様に仕訳を書きます。MySQLで簡易に処理しようとした場合、これだとややこしくなってしまいます。総勘定元帳に転記した際も、相手方の勘定科目が”諸口”となってしまうため、仕訳帳を見ないと取引の内容が把握できません。一般の経理ソフトなどでは、この辺りは自動的によろしくやってくれると思いますが、今回は以下の様に1回の引き落としを3つに分割して記録します。使って以下の様に処理します。テーブルに入れるのは簡単に出来ました。続いて複式簿記に必須のもう一つの帳簿である総勘定元帳を作成します。総勘定元帳は各勘定科目ごとに全ての取引が記入された帳簿です。勘定科目ごとに貸借の区別があり、貸借によって残高の計算方法が逆になります。貸方金額の合計、といった具合です。勘定科目のマスタテーブルを作ります。精算表の作成で使用します。上記は私が使っている勘定科目を基に作成しています。精算表カラムについては、各科目ごとの合計が貸借対照表と損益計算書のどちらに記入されるかの定義です。特殊なので別で処理します。計算で出せるものについて途中結果をワークテーブルに保存するのもナンセンスです。いって、副問い合わせで全部書こうとすると破綻するので、Viewを使います。それぞれの帳簿に記入するためレコード数は2倍になります。それぞれ取得してUNIONで結合しています。残高はいわゆる累計です。商用DBのOracleでは分析関数のoverで累計値を求められるそうです。MySQLにそんなものはありません!そのため、少し工夫が必要です。仕訳帳_id;累計は同じViewをJOINし、Aのレコードの仕訳帳_id以下の仕訳帳_idを持ったBのレコードの金額を集計して算出します。仕訳帳.csvの行)は時系列に並んでいなければいけません。少々無理はありますが、気にしません!税金が還ってくれば青色申告できれば良いのですから。CASE文は前述した様に、勘定科目の貸借により残高の計算方法が異なるためです。総勘定元帳を勘定科目ごとに出力出来るように上記、総勘定元帳_残高付きのViewのレコードイメージは以下の様な形です。〜ひとつのViewに全ての勘定科目のデータが含まれていて、勘定科目はカラムとして存在しています。いざ税務調査の際にこれを見せても「見にくいよ〜」なんて言われかねませんね。各勘定科目ごとに見れるようにそれぞれのViewを作成します。Viewは勘定科目マスタのレコード分だけ必要で、Viewの名前は科目名に応じて変わります。ここではMySQLのストアドプロシージャを使います。科目ごと総勘定元帳作成;出来上がった、勘定科目ごとのViewは以下の様になります。|+------------+------------+--------------+--------------------------+-----------+-----------+---------+--------+はい。損益計算書を記入する前に、仕訳帳の決算処理を行います。基に各勘定科目ごとの合計値と残高を出して試算表を作成します。勘定科目マスタ.id;再びCASE文が出てきましたが、総勘定元帳と同様で勘定科目の貸借により残高の計算方法が異なるためです。ついては、この後、仕訳帳に決算整理仕訳を追記したいためです。追記後も集計対象から外せるように条件を加えています。印刷用View総勘定元帳と同様に印刷用のViewを作成します。試算表計;まず、合計値用のViewを作り、試算表と合計値ViewをUNIONで結合しています。ならない場合は仕分帳の記入、もしくは勘定科目マスタの貸借に誤りがあります。精算表さあ、残す帳簿は精算表のみとなりました!ですが、ここが最終関門です。一般に試算表を作成した後は、試算表を基に決算整理を行い決算整理仕訳を出した後、精算表を作成します。一気に作りたいところですが、まだ情報が足りていません。決算整理仕訳を表します。決算整理仕訳の具体例としては家賃や光熱費の経費計上の按分や、入金前の売上に対する未納付の源泉徴収税を未払金として計上したり、減価償却費の経費計上などです。仕訳帳.csvに決算整理仕訳を追記します。仕訳帳の最後のカラム(見た目上は備考としていますが)を決算整理のフラグとして使っています。続いて、精算表に出力する整理記入欄のViewを作成します。Viewを作成します。追加した決算整理仕訳も含み、この内容が青色申告で提出する損益計算書の記入欄の数字になります。Viewを作成します。追加した決算整理仕訳も含み、この内容が青色申告で提出する貸借対照表の記入欄の数字になります。精算表のViewを作成します。損益計算書を基に算出します。損益計算書;この後作成する合計値Viewと印刷用Viewのため、固定値の科目名を入れ、カラム位置の調整をしています。合計値View精算表がややこしいのは、合計値に当期純利益が含まれることです。精算表+当期純利益;一度、当期純利益を結合したViewを作り、そこから合計値を求めています。それぞれで借方合計と貸方合計が一致しない場合は仕分帳の記入、もしくは勘定科目マスタの貸借に誤りがあります。印刷用Viewお疲れ様でした!ついに最後です。精算表を印刷できる形にします。精算表計;UNIONで結合しているだけですね。出来上がりの精算表は以下の様になります。|+---------------+-------------+-------------+---------------+---------------+-----------------+-----------------+-----------------+-----------------+おまけ出力用シェル印刷用に出力する際、MySQLのデフォルトのテーブル表示でも良いのですが、CSVとして出したかったり、Excelで見たい場合もあるかもしれません。本稿のタイトルからすると反則な気もしますが、シェルを使って各フォーマットで書き出せるようにします。仕訳帳テーブルだけ印刷用Viewを作っていないのでSQLに追加します。仕訳帳;出力用シェルです。際に提出が必要な損益計算書と貸借対照表については本稿でカバーできたのでは無いでしょうか?ですが、実を言うと確定申告にはもう一つ「確定申告書B」という強敵がいるのです。こちらについては、昨年、私が参考にした書籍をお勧めさせていただきます。正人そして、もう1冊。こちらは説明不要と思います。りゅうじ最後にいかがでしたでしょう?今回はMySQLを使った複式簿記に挑戦してみました。作成したSQLとシェルは以下のリポジトリに置いています。https://github.com/noriyoshiabe/double-entry-bookkeepingMITライセンスですので、ご使用にあたっては自己責任でお願いしますm(__)mそれでは、今年もどうぞよろしくお願い致します。「いいね!」で応援よろしくお願いします!このエントリーに対するコメントコメントはまだありません。date*日本語が含まれない投稿は無視されますのでご注意ください。fax.0422-26-9781お問い合わせはこちらからどうぞ。