シミュレーションをバージョンアップしました。福岡県福岡市の計算にしか対応してませんでしたが、他の地域への対応をするため、手始めに福岡県春日市と東京都千代田区の住民税と国保の計算もできるようにしました。その際にやったことのまとめです。まとめ他地域に対応するためにやったこと大きく分けると以下4つです。各地域の税率をマスタ化Axiosを使ったAPIの呼び出しAtomicデザインの組み込みVue.jsを使った開発に慣れていなかったのもあり、コンポーネント分けが全然できておらず、1つの改修するにしても大変になってきており、このまま進めても破綻することが目に見えてました。Vue.jsでデザインパターンを調べると、Atomicデザインが良く使われてるみたいなのでこちらを採用することにし、各機能をコンポーネントに分けました。Atomicデザインは他のサイトに詳しく書かれてるので、良かった点・悪かった点を。Atomicデザイン導入でよかった点・感想ソースが構造化され、メンテナンス性が上がった入力コントロール(~万円入力するためのテキストボックスなど)も1コンポーネントにしたので処理やデザイン調整がらくになったロジックとレイアウト部が分離できたので、ロジックに集中できるようになった。きもとなるatoms,molecules,organisms,templatesの分け方がピンとこない構造化にデザインセンスが問われるので、自分のセンスのなさに愕然とした何回も作り直しました。言い分け方あるんじゃなかろうかと思います。Vuexのモジュール化モジュール化の目的Atomicデザイン組み込みで、各コンポーネント間の値のやり取りが増え煩雑になってきたlocalStorageに保存する入力値と計算結果などを明確に分けておきたいAPI経由で取得する各種税率の保持場所もともとVuexは入力内容を保持し、最終的にlocalStorageへ保存する為だけに使用してました。Atomicデザインを組み込んでいくうちに各コンポーネントが分離され、その共通となる値や計算結果などをPropsやemitを用いてやりとりしていくのに限界を感じたので。結果的にやって大正解。こちらはDBと同じように考えれたのでAtomicデザインより楽でしたね!1つ悪い点を挙げるなら、モジュール化するとgetterの呼び出しとかが文字列で階層をしていするので、入力補完が効かなくなることくらい。春日市は対応することが決まってたので、他のパターンとして東京都から千代田区をピックアップ。東京の23特別区以外は国保に資産割があるのでそちらの対応もできるような構造にしつつ、まずは福岡市と似たような計算式の地方自治体を選択しました。国税、事業税は地方税ですが地方自治体で税率は変わらないようなので、住民税と国民健康保険料が各地方自治体で計算が変わってきます。国民健康保険料は、ほぼすべての地域で違うので個々の持ち方をマスタ化できればOKでした。SpreadSheetをデータベース代わりに利用してます。一回選んでしまえばいいだけなので、まだ許容範囲かな。スプレッドシート側にデータがどんどん増えてくるなら、本格的にサーバサイド考えないといけないけど。SpreadSheet側に用意したので、そのAPIをコールするためにAxiosを導入しただけ。Promiseは完全に把握まではいかなかったけど、前よりは理解度深まったかなぁ。まとめAtomicデザインはいいけど、Vue.js(JSフレームワーク)初心者が最初から組み込もうとするとはまるので後からでもいい。逆にVuexは、使うなら最初からモジュール化しといた方が構造がきれいになる。自分用で作ったサービスなので、自由に構造考えなおせるので楽しいですね。18:37ざっと自営業の税額計算をしてみたかったので色々webでシミュレータを拝見していたのですが、kawadeblogさんのものが一番見やすくてよかったです。うちは事業税の税率が違うのですが、計算式が入っていて読み替えは簡単なので問題なしでした!ふるさと納税の限度額も気になる所だったのでついでにわかって嬉しかったです。利用させていただきありがとうございました。00:02kiwa様シミュレータを使ってのご感想ありがとうございます!一番見やすいと言っていただき、とてもうれしかったです。事業税の税率は、私が5%なのでそのまま固定にしてました。この機会に3~5%から選択できるようにバージョンアップしましたので、ぜひ今後も使用していただけると嬉しいです。追伸:このページの「東京の24特別区」というのは、東京23区のことでしょうかね??これはご指摘通り「東京23区」の事ですね。間違いのご指摘ありがとうございます。11:23税率を可変にしていただいたんですね!4、3%は超少数派なのにありがとうございます。http://www.soumu.go.jp/main_sosiki/jichi_zeisei/czaisei/czaisei_seido/090929.html所得税から引ききれなかった分を住民税がから引く(ただし限度額あり)、という制度になっているようです。(控除額より所得税額が低い場合のみ、住民税からの控除が発生)計算式を拝見したら、所得税からも住民税からも同額引かれているような?仮に住宅ローンでの控除が最高額の50万で、所得税を50万以上収めているとすると、シミュレーション上、住民税が総額50万円低く表示されてしまいます。...税制、ややこしいですよね。2重で控除されてしまいますね。総務省の説明ページのリンクまで貼っていただきありがとうございます。税額控除に関しては、再度見直しする必要がありそうです。税制はほんとーにややこしいですね。バグなので、今週中にでも改修いたします。コメントありがとうございました。住民税からも同額引かれてしまうバグを修正いたしました。限度額に関しては正確に対応しようとすると住宅を取得した時の消費税もかかわり入力項目が増えてきしまうので、簡易的ではありますが消費税8%固定で計算するようにしてます。(申し訳ございませんが、計算結果の計算式表示部に所得税から差し引けなかった額の表示を追加してますので、消費税5%の場合に取得した住宅はこちらを参考にしていただけると助かります。関しても所得税からのみ控除可能で住民税から控除するのは誤りとわかりました。控除できない分を住民税から控除することが可能)税額控除は直接税額から引かれる金額なので、ここにバグがあると誤差がすごいことに。この度はご指摘ありがとうございました。10:52どんどん改良されていって、こちらこそとても助かります。無料で使っているのに申し訳ないくらいです。笑)個人事業主の場合、税率や控除のパターンを全て詰め込むのは込み入り過ぎてしまうから細かくわかるようなシミュレータがあまりweb上で見当たらないのですね。そんな中、kawadevさんのシミュレータは貴重です。23:19システムを使っていただけるのがシステムエンジニアとしては一番うれしいので、これからもどんどん使ってください!当シミュレーションは、私が欲しかったのとスキルアップのために個人で作成しているので、バグのご報告やご意見は大変助かっています。自分が対象でないのもあり、調査が不完全でしたので。個人で公開しているのですべての機能やパターンを対応することは出来ないですが、それでもなるべく使いやすいシステムにしたいと考えています。これからもデザインの変更や実験的な機能もいれていく予定なので、使いづらくなったとかがあれば、ご意見をいただけると嬉しいです。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスウェブサイトプロフィール福岡でシステムエンジニアをやっています。フリーランスで活動中です。PHP・C#メインにWebシステムやサーバサイド、サーバ構築等が得意です。