カテゴリー
売上帳

入金予定の登録ができるようにしました

今の段階で売上帳としてほしい機能はほぼできた感じです。

僕としてはいよいよ第2段階へ突入です。

この売上帳に紐づく入金予定、支払予定を管理できるようにして、将来の資金繰りが見えるようにしていきたいと思います。

現在のテーブル構成は

  • 売上帳テーブル
  • 顧客テーブル
  • スタッフテーブル

の3つですが

  • 入金予定テーブル
  • 原価テーブル
  • 支払予定テーブル

の3つを新たに追加しました。

そして今回入金予定を登録できるようにフォームを作成しました。

今回もいろいろなところで苦戦したのですが、まず最初に新たにテーブルを作る際にどのようなテーブル構成にするかということでした。

本来ならアプリ設計の段階で考えることなのでしょうが、とりあえす手書きノートで作っている売上帳を代替できればいいと軽い気持ちで始めたのであまり深いことは考えていませんでした。

テーブル構成を考えるうえでER図というものを作るのが一般的だということで、ER図を作ってみることにしました。

最初はエクセルで作ってみようとしたのですがなかなかうまくできませんでした。

なにかER図を作るのに使いやすいものはないかと探してみると有料無料のものがいくつかあるようなのですが僕は無料で使えるMySQL Workbenchというものを使ってみることにしました。

今回作ったものがこれです。

こうしてER図を作成してみて、頭の中がスッキリしました。

どういうテーブルを作って、そのテーブルをどういう風につなげるのかが視覚的に確認できるようになったのでプログラミングしていて迷ったときはER図を見直すことで解決できるようになりました。

まず最初に入金予定から作っていくことにしました。

売上帳テーブル、顧客テーブル、スタッフテーブルの関連付けは特に考えることなくうまくできたのですが、売上帳テーブルと入金予定テーブルの関連付けはどのようにしたらいいのかわかりませんでした。

住宅建築の入金は、着手金、中間金、完工金と3回に分けて入金されることが一般的です。

一度に3回の入金予定を登録できるようにしたいです。

売上帳テーブルが親、入金予定テーブルが子となる関連付けをうまく作る方法としてcocoonというgemがあることを知りました。

cocoonを使って入金予定を登録できるようになりました。

こんな風に入金予定を登録します。

登録した入金予定が一覧で確認できます。

 

 

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

 

カテゴリー
売上帳

顧客を新規登録する前に重複を確認する検索ボックスを追加しました

この売上帳システムは僕以外のスタッフも登録することがあります。

システムにありがちなのが同じ情報をいくつも登録してしまうことです。

自分一人で扱っていてもうっかりして重複データを入力してしまうことがあります。

たとえば顧客情報を二つ作ってしまい、それぞれにデータの入力が進んでしまうと後から統一させることが厄介になってきます。

そのほか、姓と名の間にスペースを入れるか否か。姓と名のカラムを一つにしているためにこのような問題がでてくるのですが、姓と名をそれぞれ別のカラムにすれば解決できるのですが、顧客の中には法人も入ってくるため一つにしといた方が扱いやすいかなと思いました。

こういうところは最初の設計のところでしっかり検討するべきなのでしょうが、今回ほとんど思い付きでスタートしたため後から気づくことがいろいろと出てきます。

今回は顧客を新規登録する前に重複をチェックするための検索機能を追加しました。

理想としてはページをリロードしなくても、リアルタイムで重複をチェックできるようにしたいと思いました。

普通の検索ではキーワードを入れて検索ボタンを押しページをリロードして検索結果を表示するという流れになると思います。

それではちょっともたついて使い勝手が悪いなと思いました。

いつものごとく何かよい方法はないものかと調べているとjavascriptで検索機能を作ればリアルタイムに検索結果を表示できそうなのでjavascriptを調べてみることにしました。

javascriptは動的にコンテンツを更新できるということで、javascriptが使えるようになると使っていても楽しいWEBアプリが作れるなと思います。

 

 

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

カテゴリー
売上帳

状況区分を複数選択して検索できるようにしました

前回、状況区分で検索できる機能を付けたのですが、場合によっては複数選択したいときがあります。

例えば、請求済みと契約済みを合わせて見たいとか。

前回は状況区分をリストにしてその中からひとつを選ぶようにしていました。

今回、状況区分を横並びにしてそれぞれにチェックボックスを付けて複数選択ができるようにしました。

そして、「失注」という状況区分を新しく追加しました。

当然ながら「見込み」から「失注」してしまう案件も出てきます。

 

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

カテゴリー
売上帳

状況区分で検索できる機能を追加しました

状況区分(見込み・契約済み・請求済み)を登録できるようにしましたので登録リストには状況区分がごちゃ混ぜで表示されるようになります。

このままだと見にくいので状況区分で絞り込み表示ができるようにしました。

登録案件が増えるほどこういった機能が生きてくるので、案件を登録するのが楽しくなります。

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

カテゴリー
売上帳

状況に応じて入力フォームの表示を変更できるようにしました。

建設業では住宅の新築工事の場合、お客様からの問い合わせから完工引き渡しまで1年ほどかかります。

お問い合わせから完工引渡までの間で状況に応じてお客様を区分したいと思います。

会社さんによって区分のしかたはそれぞれだと思いますが僕の場合は

  • 見込み
  • 契約済み
  • 請求済み

の3つの区分でやってみたいと思います。

このシステム(今は売上帳と言ってますけど)は1年先の資金繰りを見える化することを目標としていますので見込みの段階から管理することが重要になります。

今までは請求済み案件を登録するようにしていたので、今後は見込み案件から登録し将来の入金、外注費その他の出金まで管理できるようにしていきたいと思います。

そこで手始めに状況区分を登録できることと、状況に応じて入力フォームを表示したり、非表示にしたりできるようにしました。

  • 見込み

の段階では日付、契約NO.を非表示にしています。

 

  • 契約済み

の段階では日付は非表示、契約NO.は表示にしています。

 

  • 請求済み

の段階ではすべて表示するようにしています。

 

ここまでくると登録する情報が一気に増えてきます。

もはや、売上帳ではなくなるのですが当面は売上帳のままで進めていきたいと思います。

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

カテゴリー
売上帳

顧客一覧に案件数を表示できるようにしました

僕の会社では事業者さんからの仕事の依頼も結構あり、事業者さんの場合ちょっとした工事も多いのです。

年間を通すとひとつの事業者さんから10件以上の工事を請けていることもあります。

そこで、顧客ごとに工事件数がわかったら便利だろうと考えました。

顧客登録ページに顧客一覧を表示するようにしていますので、この中で件数を表示するようにしたいと思います。

売上登録ページではページネーションを入れたことによって総登録件数を表示することができましたが、顧客ごとに件数を表示するにはどうしたらいいものか。

ruby on rails にはcounter_cultureというgemがカウントするのにいいらしく、counter_cultureを導入することにしました。

僕はプログラミングのことはまだまだ分からないことばかりなのですが、こういう機能がほしいなと思ったらgemを導入することで簡単に機能を追加できてしまうことに、本当にすごいなと感心してしまいます。

ここまで作成してきて感じることは、こんなことはエクセルではできないな。ということです。

ひょっとしたら、マクロやVBAを使うことでできるのかもしれませんが、WEBアプリケーションはバックにデータベースがあるので、このようなことができるのだろうと思います。

データベースすごい!

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

 

 

カテゴリー
売上帳

売上帳にページネーションを導入しました

今現在の売上帳は、売上を登録していくとひたすら下に下に伸びていきます。

これは、使い続けていくとかなり使いにくくなっていくなと想像がつきます。

そこで、ブログのようにある一定数登録したらページが増えていくようにしたいと考えました。

ruby on rails にはkaminariというgemが簡単にページネーションを導入できるらしく、kaminariを使って作っていくことにします。

ページネーションを入れることで登録件数も表示できるようになりこれは本当に良かったなと思っています。

僕の会社では大なり小なりひと月に30件ほどの売上の登録があって月内でページが変わるのは嫌なので、とりあえず100件ごとにページが増えていく設定にしています。

ちなみに、何件ごとにページを増やしていくかも自由に設定できるので便利だなと思います。

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

カテゴリー
売上帳

売上帳の入力フォームのレイアウトを編集しました

売上帳の入力項目を増やしたので、入力フォームだけで画面いっぱいになり見にくくなってしまいましたのでどうにかしたいなと思っていました。

ひとつひとつの入力フォームが横幅いっぱいに広がっていたので、それを2列になるように編集しました。

このアプリはruby on railsで作っているのですが、Bootstrapというものを使っています。

テーブルの書き方はhtmlとは違うように感じました。いつものようにほとんどコピペで作っているので詳しいことはよくわかっていません。

その他にも、金額に区切りのカンマを表示したり、重複するコードがあったので整理したり

顧客詳細画面に、その顧客に紐づく売上を表示するようにしました。

少しずつですが、改良を重ねています。

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

カテゴリー
売上帳

売上帳で日付範囲検索して合計金額をだせるようにしました

今の売上帳だと売上を登録していくたびにデータが積みあがっていくだけで集計ができないので不便です。

できれば月ごとの売上金額を集計したいと思い調べました。

ransackというgemを使えば簡単に検索機能が導入できるということで、ransackを使った検索機能の導入に挑戦します。

ねらいとしては、日付で範囲検索して抽出されたデータを集計するというものです。

ransackの使い方を検索してみると、これまた色々な方法が出てきます。

手当たりしだいにやってみるのですがなかなか思うようにいきません。

最終的には求めている処理ができるようになったのでこのようにアップしているのですが。理屈がわかりません。

合計金額もコントローラーでsum関数で集計したものをviewで表示したのですが、これもよくわかっていません。

理屈はわからないけど結果的にうまくいっているからOKなのか?

OKなわけないですね。

プログラミングについてはまだまだ勉強がたりませんが、自分で考えて自分が望むものが出来上がっていくのを見るのは本当にうれしいです。

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。

カテゴリー
売上帳

売上帳に工事経歴書を作成するときに必要な項目を追加しました

建設業許可を受けていると、年に一度、決算のあと監督官庁へ営業年度終了届を提出する必要があります。

営業年度終了届の中のひとつに工事経歴書があるのですが、これを作成するのが結構手間です。

なんせ、売上を手書きのノートで管理してたもんですから。。。。。。

今回、工事経歴書の作成をもっと簡単に効率よくするために売上帳に工事経歴書を作成するときに必要な項目を追加しました。

内容は

工事経歴書の項目 売上帳の項目
   
工事の種類 工事の種類
注文者 顧客
元請又は下請の別 請負区分
JVの別  
工事名 現場名
工事現場の場所  
配置技術者 現場担当
請負代金の額 売上金額
着工年月 着工年月
完成年月 完工年月

というふうに対応するようにしました。

うちの場合JVはないので省きました。

工事現場の場所はほぼ頭に入っているので省きました。

工事の種類についてはviewコードの中にリストとして書き込んだので、別にテーブルを作った方がいいかなと思っています。

☑帳簿入力というのは、この売上帳をもとに会計ソフトへ入力しているので、会計ソフトへの入力ができたら済みということでチェックを入れます。

☑資金繰り入力というのは、別に作っている資金繰り管理表へ入力ができたらチェックを入れます。

工事経歴書を作るときに、元請か下請かは顧客を見ればわかるのですが、厄介なのが着工年月と完成年月です。

これを調べるためにいちいち契約書を探したり、担当者に確認しなければなりませんでした。

これからは売上帳を入力するときにその都度確認しておけばあとで楽になりそうです。

ちなみに、今回追加した項目は管理者権限のあるアカウント(スタッフ)でログインした場合のみ表示されるようにしています。

スタッフ登録は自由にできますので管理者権限を付けずにスタッフを作成してログインしてみてください。

管理者権限がなければ今回追加した項目は非表示になります。

こちらから、どんなものを作っているのか見ていただくことができます。

※読み込みにすごく時間がかかるときがあります。

http://sample-keiri.herokuapp.com/login

名前:samplekeiri

パスワード:password

でログインできます。

好きなように、登録、削除していただいて構いません。