Skip to content

ktakahiro150397/AccountBook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AccountBook

機能概要

  1. 家庭として支出するべき項目とその額を入力・集計し、個人の負担額を算出する
  2. 月ごとに、個人負担額の過不足を調整する
  3. 負担割合は自由に設定できる

行うこと

  • 個人の負担額を算出・調整することを重点に置く
  • 個人口座から家庭支出を行った場合に、その算出を行う
  • 家庭口座から個人支出を行った場合に、その算出を行う
  • 支出の入力・参照・集計を行う
  • (やりたい)WEB明細の自動取得(定期的にうごかす)
  • (やりたい)レシートの画像認識・自動入力

現状でやらないこと

全ての支出は管理しない
家計簿ではないことに注意する
管理するのは家庭支出のみ
個人支出に関する管理を行わない

個人支出について記録するかどうかは別で検討する

用語

単語 意味
家庭支出 家庭維持に必要な支出。または、個人の負担とするのが不適当な支出。
家庭口座 家庭支出を行う口座。1つだけ存在し、共通で使用する。
個人支出 個人の趣味や嗜好品の支出。家庭支出に含まれない支出。
個人口座 個人支出を行う口座。個人が元々持っている口座。
家庭支出負担割合 家庭支出を個人それぞれがどう負担するか決定する割合。
月調整 家庭支出の負担額を家庭支出負担割合に応じた金額に調整する処理。
月調整負担額 月調整処理の結果算出された金額。
月調整の解決 月調整負担額を受け渡し、家庭支出の負担を負担割合通りとすること。

管理有無一覧表

支出元 支出先 管理 管理有無の理由
家庭口座 家庭支出 する 全ての家庭支出を参照する必要があるため
家庭口座 個人支出 する 全ての家庭支出を参照する必要があるため
個人口座 家庭支出 する 個人口座からの家庭支出の金額を含めて計算する必要があるため
個人口座 個人支出 しない 個人支出は家庭支出に影響を及ぼさないため

運用

個人が行うべきこと

個人が行うべきことは以下の通り。

  • すべての家庭支出の登録・分類
  • 家庭口座から行った個人支出についての詳細の公開・入力
    (家庭口座からの個人支出は、自分の財布から補填する必要がある)
  • 個人口座から行った家庭支出についての詳細の入力
    (個人口座からの家庭支出は、2人で負担する必要がある / 差額が月調整で個人へ返還される)
  • 家庭支出・個人支出の分類の決定
    (事前に決定したルールに当てはまらない場合)

運用流れ

  1. 月のいずれかの日に、個人全員が家庭口座へ入金を行う。
  2. 月の間、生活費を家庭口座から支出する。
  3. 家庭口座から支出した項目を全て記録する。
  4. 支出項目について、家庭支出・個人支出の分類を行う。
  5. 翌月に月調整を行い、月調整負担額を算出する。
  6. 月調整負担額を解決する。

月調整

負担割合に応じて家庭支出の負担額を決定する。
月に1度行い、前月分の月調整負担額を計算する。
月調整負担額の計算後、その月の明細は変更不可となる。

変更された場合、その月の月調整負担額に不整合が発生するため。
集計する月と、実際に支払った月を別入力できるようにすることで対応する。

負担額計算式

調整時に計算する個人Nの月調整負担額は以下のように計算する。
正の値の場合、その値の額を追加で納める必要がある。
負の値の場合、その値の額の絶対値が返還される。

変数名 意味 単位
個人Nの月初め入金額
調整月の家庭口座の合計支出
調整月の個人Nの負担割合 %
個人Nが調整月の家庭口座から支出した個人支出
個人Nが調整月の個人口座から支出した家庭支出

※個人の月調整負担額の合計は0となる。

共通で使用する口座を1つ作成し、そこから出費を行う場合

共通口座を1つ作成し、そこから家庭支出の支出を行う
個人支出をしてもよいが、個人支出として記録し、月調整で返還する
月初めに一定の金額を入金するルールを別途整備する

メリット

  • お互いが同一の履歴をすぐに参照できる
  • 仕組みとして分かりやすい
  • 共通口座からの出費は原則として家庭支出となるため、記録が楽

デメリット

  • 三井住友銀行の場合、デビットカードは同一口座に1枚しか作成できない
    (デビットカードによる電子決済以外は全てレシートからの手入力になる)
    (デビットカードによる電子決済はCSV出力できるが、品目の手修正などは必要な可能性あり)

家庭支出負担割合の決定

50% / 50% で固定する場合

  • 固定比率のため、月事に負担額の大きな変動がない
  • 収入の多い方が相対的に有利になる(収入の少ない方が相対的に不利になる)
  • 休職・退職時に改めて負担割合の見直しが必要

手取り金額の比率で決定する場合

  • 収入が多いほど負担額が増加する
  • 休職・退職時には手取り0として計算できる

あらかじめ決める必要のある項目

以下の項目について、事前に話し合って決める必要がある。

  • 家庭支出・個人支出の分類ルール
  • 家庭支出負担割合の決定ルール
  • 月調整負担額の受け渡し方法
  • 各種イベントの期日
    (月初め入金日 / 月調整日 / 月調整の解決日)

構成要素

このシステムの構成要素。

  • 明細(1回の買い物に対して複数の品目を登録可能にする)
    • 明細名称
    • 支出種別(個人支出または家庭支出)
    • 品目(複数登録可)
    • 品目個数 単価
    • 金額
    • 支払月(月調整時の集計に使用)
    • 実際の支払月(イレギュラーな過去分入力対応のため / 原則支払月と同じ)
    • 入力日時
    • メモ
      • テキスト(補足事項など)
      • 画像(レシート画像など)
  • 支払履歴(取込後、明細へ自動登録する)
    • 決裁履歴の取得結果(任意のWEB明細を取得できるかどうか検討中)
    • CSV取込結果(手作業で作成して一気に取り込めるように)
  • 月別の負担割合
    • 負担割合(%)
  • 月調整履歴
    • 調整負担額(円)
  • 消費税情報
  • リマインド先設定
    • 通知先個人
    • リマインド項目
    • メールアドレス
    • LINE(可能かどうか検討中)
    • カレンダー連携(Apple公式でAPIがあるかどうか要調査)
    • リマインダー(Apple公式でAPIがあるかどうか要調査)

画面UI

必要な項目

  • 明細
  • 一覧
    • 検索
    • 詳細画面
      • 登録
      • 編集
      • 参照
  • 明細連携
  • CSV取込
  • WEB明細取込
  • 設定
  • 負担割合決定設定
  • リマインド設定
  • 各種イベントの期日範囲

UX

  • ナビゲーションバー
    • 位置(画面上部または左部)
  • 通知
    • 残タスクの通知

運用環境

サーバー

維持コストが許容できる場合、自宅サーバー

  • 外部に公開する場合の検討事項が多すぎ
    • ドメインの取得が必要
    • 証明書の調達が必要
    • 外部IP固定の契約が必要
    • セキュリティの考慮が必要
  • 余りのPCパーツを流用できる
  • このシステム以外もまとめて個人的に動かせる(メールサーバーやIoT関連)
  • 電気代やばそう
  • 騒音やばそう
  • いい経験になりそう
  • おもしろそう

Azure App Serviceにホストしてもらう

  • 費用は会社持ち(会社アカウントに依存する)
  • 別途アカウントを用意する場合はコストがかかる(かもしれない。ワークロードによる)
  • ハードウェアが不要(騒音がやばくない)
  • セキュリティの心配なし(Microsoftにお任せ)
  • 自宅サーバーの検討事項をだいたいなかったことにできる
  • 先端感がすごい
  • おもしろそう

フレームワークなど

  • ASP.NET CORE MVC 5
  • Dockerで動かしたい 便利そうなので
  • SQLServer の検討が必要

About

費用負担管理のWebApp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published