kintoneを活用されている弊社のお客様から、
「エクセルで管理している現金出納帳をkintoneに持って行きたいのだが、アプリとしてはどういう形がいいか?」
という相談をされました。
現金出納帳というのは、次のように日々の入金・出金の管理をする台帳です。
この相談を受けた直後にパッと思いついたのは、
- 日々の入金と出金の情報を1レコードずつ登録する案
- 月別にレコードを作り、日々の入金と出金の情報はテーブルに登録する案
の2つのアイディアです。
この2つアイディアをお伝えしたうえで色々と検討をした結果、案2のほうで実現するという結論に今回はなりましたが、どちらの案でも一長一短という感触を持ちました。
そこで今回は、kintoneアプリで現金出納帳を実現した例を、経緯と共にご紹介します。
入金と出金の情報を1レコードずつ登録していく案
このアイディアで現金出納帳を作った場合、画面のイメージは次のようになります。
日々の入金や出金の情報は+ボタンで新規レコードを作って登録していくような使い方をします。
このアイディアの場合、運用開始前に起点となる金額(前月末残金)をまず登録します。例えば残金が100万円あるような場合、「2000/12/31の日付で残金1,000,000円」のような形で起点となるデータを作り、以降は日々の入金・出金のデータを登録していきます。
アプリ自体は単純なので登録自体は特に問題なく使えると思いますが、現金出納帳としてみる場合、次のような点で工夫が必要になります。
現在の金額がどれぐらいあるかの確認方法
現時点の残金がどれぐらいあるかについては、一覧表示では分からないためグラフを用いて集計をする必要があります。例えば次のように、日付が本日までのデータに対して金額フィールドを合計表示する、という事を行うことで、現在の金額を把握する事ができます。
大項目に「現在の金額」というフィールドを指定していますが、これは「現在の金額」という固定文字を設定させています。集計用のフィールド(ユーザは変更しない)として定義したフィールドです。集計には「入出金」フィールドを表示させていますが、このフィールドは入金-出金の計算式となっているフィールドです。
グラフで集計して表示する事ができますが、入金・出金をレコード登録する際に前日までの残金が一緒に見れないため、少し使いにくく感じる可能性もあります。
月初金額の確認方法
先ほどと同様に、グラフを用いて集計表示をする必要があります。
例えば次のように、「日付が前月末日以前」といった条件で金額フィールドを合計表示する事で、前月末まで(前月繰越)の金額を確認する事ができます。
特定月の入金・出金履歴の確認方法
これを行うには、一覧表示で日付を特定の月で条件を絞れば確認できます。一覧表示で条件指定をすればよいです。
もしくは、月ごとに1レコードとなるアプリを作って、関連レコードで上記データを1月分表示させる方法が考えられます。
前月繰越金額、今月の入出金明細、今月末金額を一緒に確認する方法
上記の内容について、この案でkintoneアプリを作成した場合は1画面で表示する事はできません。対応するには、明細用の一覧と月末金額用のグラフ表示の2種類を開く必要があります。
そのため、
- タブでそれぞれを別表示し、一緒に見る事は諦める
- スペースやスレッドに両方の内容を一緒に表示させて
- カスタマイズ一覧を作って、グラフの埋め込みタグを表示させる
といった工夫をする必要があります。
例えばスペースやスレッドでまとめて見せるような場合、一覧表示で「今月の明細」、グラフで「前月繰越金額」「今月末金額」を作成し、貼り付けると次のようになります。
入金と出金の情報を1レコードずつ登録していく案の場合、上記のように見せる意味はそれほどありませんが、やろうと思えば可能です。
月別にレコードを作り、日々の入金と出金の情報はテーブルに登録する案
この案でアプリを作った場合、おそらく現行使用している現金出納帳と同じような感覚で使えると思います。
実際のアプリのイメージは次のようなものです。
月ごとに1レコード作成し、詳細はテーブルに入れていきます。前月末残高には前月のレコードの情報を元に金額を入れるイメージですが、直接入力させる代わりにルックアップにして前月日付けを指定すると金額を引っ張ってくる形にしても良いかと思います(この例ではレコードを新規登録するのは月1回であるため、ルックアップではなく関連レコードで別年月の月末残高を表示させ、これを元に前月末残高を直接入力する形としています。)
当月末残高を表示するフィールドには、テーブルに入力した内容から自動的に金額を算出して表示させるために、「前月末残高-SUM(入出金)」と計算フィールドを用いて実現しています。また、テーブル内に「累計」フィールドを用意していますが、kintone標準ではテーブル内のデータを累計した結果を表示することができないため、当月末残高に表示されている金額を各レコードに入力する際に合わせて入れる形としています。
月別の残高が確認できる
1レコード1年月の形でアプリを作ると、一覧表示では月別に確認することができるようになります。
一覧上で明細も確認できますので、ふとした時に詳細画面に遷移せずに確認ができます。
また、月別で残高を持っているため、折れ線グラフで月別の動きを視覚的に確認する事もできるようになります。
現時点の累計を確認できる
テーブルに日々入力をしていくため、その時時点の残高を確認する事ができます。
この例ではテーブル内の各行の累計フィールドには金額を手入力する形としていますが、ちょっとしたカスタマイズを入れることで、自動計算させることも可能です。(前月末残高+テーブル内の入金-出金を1行目から順に計算)
弊社お客様では、累計フィールドに対してカスタマイズを入れて自動計算して とすることで、手入力させない形にしています。
また、日別の累計金額を入れることで、グラフ表示をした際に日別の推移を表示させる事も可能になります。
月別に印刷ができる
この形では月別にレコードを作って明細はテーブルに登録しますので、kintone標準の印刷機能を用いて現金出納帳を印刷可能です。
帳票系のプラグインを使わなくてもそのまま使えそうな形で印刷できますね。印刷時にフィールドの枠線を消したり、色を付けたり、文字の大きさを変えたり、非表示にしたり、という事を行いたいような場合、印刷設定プラグインを用いてkintone標準機能で印刷した場合の見た目の微調整をすることが可能です。
簡易印刷設定プラグイン(ノベルワークス様)
※2019年7月時点、ベータ版のため無料で利用可能とのこと
まとめ
案1のように、入金と出金を日付別に1レコードずつ登録していく形だと、カスタマイズを行わずにkintoneの標準機能で現金の管理をするアプリを実現する事ができます。ただしその反面、月末残高と明細を一緒に見るためにはスペースを活用したりするなどの工夫が必要になってきます。
案2のように、入金と出金はテーブルに記録してレコードを月別に作るような形だと、見た目や入力の感覚はExcel等で作った現金出納帳と同じように使えます。しかし、日々の入金・出金額を元にその時点の残金を一緒に表示しようとするとkintoneではその機能が無いため、頭で計算して残金を入力させるか、カスタマイズで自動計算させるかの対応が必要になってきます。また、1月内の明細の数が多くなるとテーブルだと表示が遅い、入力がカクつくといった現象が出てくるといった懸念があります。
どちらの案も一長一短がありますが、エクセルで現金出納帳を作っているような場合、kintoneで実現するというのは可能ですので、参考にしてみてください。