/pl-planner

PL表を作成するためのツール

Primary LanguagePythonMIT LicenseMIT

P/L Planner

会社経営をするときに、事業計画をエクセルで作っていました。P/Lを年度ごとにいちいち作り直すのがとても面倒で、また項目を増やしたりすると計算式を変更しなければならなくなり、これも面倒なので、Pythonで表を作成できるようにします。

コンセプトは、数字の入力と、数字の確認(P/L表)はエクセルで、データ処理はPythonで、です。Webアプリにしても良かったのですが、なんだかんだでエクセルの方が馴染みがあるので、このようなコンセプトでツール化します。

なお、このツールで扱うP/Lは小規模な会社を想定しています。あまり複雑なことはできません。最低限の数字をちゃんと追えるようにするのが目的です。

利用方法

指定したディレクトリの下にあるいくつかのエクセルファイルを読み込むと、P/L表を出力します。 入力するエクセルファイルは、以下の通りです。

  • 設定.xlsx
  • 全社共通.xlsx
  • 事業別ファイル(事業ごとに別々のエクセルファイル)

全社共通ファイルと事業別ファイルには、それぞれ計画と実績のシートがあります。

ツールを使うと、事業別ファイルには、全社共通経費を按分したものを追記されたり、変動費・固定費の推移などが追記されたりします。また、同時に全事業統合版のP/L表(事業計画.xlsx)も出力されます。

なお、全ての情報は、store.jsonというファイルにも保存されるので、エクセルファイルを消してしまってもいつでも復旧できます(DBの代わりに簡易的にJSONファイルを使っています)。store.jsonとエクセルファイル群を全て削除すると、全ての情報をリセットしたことになります。

準備とエクセル入出力

  1. 準備(venv環境等の準備)

    python3 -m venv venv
    . venv/bin/activate
    pip install -r requirements.txt
  2. ディレクトリの準備

    エクセルファイルを格納するディレクトリを作成してください。デフォルトでは、"data/"というディレクトリを使うことになります。

    もし、今までのデータを全部破棄してやり直したい時は、ディレクトリの中身を全部削除してやり直してください。 ディレクトリ内にあるstore.jsonファイルは過去のデータを全て保管しているので、全部やり直したい時はこれも消さなければなりません。

  3. 設定ファイルの編集

    sample/ディレクトリにある"設定.xlsx"ファイルをdata/の下にコピーして編集してください。data/以外のディレクトリでも構いませんが、その場合は以降の手順で-dオプションを指定してください。

    複数の事業がある場合は、それぞれ別のシートに、売上項目と経費項目を記述してください。シートをコピーして使ってください。

    なお、「全社共通」というシートは必ず残してください。もし一つしか事業がない場合は、この全社共通シートだけに項目を記述してください。

  4. 事業別ファイルおよび全社共通ファイルの生成

    cd scripts
    python pl_planner_cmd.py

    実行した日が属する期と次の期の事業別ファイルが生成されます。もし変えたいなら、-sおよび-eオプションを指定してください(-s 202304 のように)。

    なお、すでに過去のデータがsore.jsonに入っている場合は、その情報が記入されます。

  5. 事業別ファイル、全社共通ファイルの編集

    それぞれのファイルには、計画と実績のシートがあるので、必要なところに入力してください。

  6. 事業別ファイル、全社共通ファイルの更新と全社統合版の事業計画(P/L表)の作成

    python pl_planner_cmd.py

    事業所別ファイルには、共通経費から按分された値や、変動費・固定費ごとに集計された情報などが追記されます。

今後の予定

  • 実績のところに、計画との差分を出す
  • Webアプリ化 (streamlitとか使ってみるか)