kintoneで「脱Excel」するのが難しい業務のひとつに損益計算書(PL)等の財務諸表の作成があります。任意の行を挿入して集計表示したり、インデントによって特定の科目を段落表示させたり、行列を固有の要件でレイアウトするものをよく見かけます。こういった柔軟なレイアウトはExcelの得意分野ですが、kintoneで同等のことを実現しようとすると一筋縄ではいきません。
今回はkintoneで損益計算書(PL)の作成をkrewDataによって実現する方法を紹介します。紹介した方法はアプリテンプレートして公開致します!ご自身のkintone環境でも再利用することができると思うので、ぜひ試してみてください。
対象者
- kintoneで損益計算書を作成に興味のある方
- krewDataの基本を理解している方
kintoneで損益計算書(PL)を作成する場合の課題
kintoneでExcelと同等の損益計算書を作成するには、主に2つの理由により実現が困難です。
1. レコードの集計
kintoneでレコードの集計をするには、「グラフ」を利用することになりますが、損益計算書(PL)は単純な勘定科目の集計ではなく、勘定科目ごとの集計結果をさらに演算して「売上総利益」、「営業利益」や「経常利益」等を算出する必要があり、「グラフ」で実現することは不可能に近いです。
2. 見た目(レイアウト)
「販売管理費」のように特定の科目だけ明細を表示させたい。特定の小計レコード(販売管理費だけの小計、売上総利益)を任意の位置に挟み込む、集計対象行をインデントで表示させるという固有のレイアウト要件をkintoneの一覧で表現することが困難です。
kintoneで損益計算書を作成する事前準備
kintoneに関わらず、システムで意図したようにデータを集計するには、最終的にアウトプットしたいイメージ(今回でいうと損益計算書)から逆算して、必要な情報(集計するキーとなる項目等)を登録しておく必要があります。
今回は、以下の3つのアプリに必要な情報が登録されていることが大事なポイントになります。各々を集計前にアプリに登録しておきましょう。
1. 科目マスタアプリ
集計するキーとなる勘定科目を科目マスタのような形でアプリに定義します。科目コードをキーに集計できるよう、集計したい単位に科目情報を登録しておきます。
2. 収支データ(または実績データ)アプリ
集計対象の収支データ(または実績データ)です。集計時にキーとなるフィールドが必要なので、ルックアップを活用して、科目マスタを参照しながら収支データを登録しておきましょう。
3. 損益計算書マスタアプリ
最終的にどのような損益計算書を表示したいかを明確にして、レイアウトの情報をマスタに定義しておきます。
この例では、ソート順や損益計算書に表示する科目名、科目名にインデント(段落)をつけたい場合は、科目名の先頭にスペースを入れておく等の工夫をします。
収支データ(実績データ)を集計して損益計算書を作成する
事前準備で定義したデータをもとに損益計算書を作成していきます。kintoneの標準機能では集計することができないため、krewDataを使って集計する概要とポイントを説明します。
設定の詳細はkrewDataの利用方法を学習できる「krewDataドリル」で公開しています。以下の概要とポイントを把握した上で確認して頂けると、より理解が深まると思います。
krewDataでフローを作成する
最終的には以下のようなフロー図をkrewDataで作成することになります。難しく見えますが、処理は大きく分けて3つに分かれており、そのポイントをおさえることができれば、難しくありません。
1.勘定科目をキーに収支データを集計する
収支データの明細データを勘定科目をキーに集計します。この処理では、損益計算書にそのまま出力するレコードを作成します。
※損益計算書アプリは視認性に優れているkrewSheetを使って表示しています
2.集計した勘定科目ごとの金額をもとに演算する
ここでは、勘定科目を単純に集計するだけでは計算できない演算レコード(売上総利益/販売管理費計/営業利益/経常利益)を作成します。この部分が損益計算書をkrewDataで作成する上でキモになります。
各々のレコードは演算するデータの対象が異なるだけで、krewDataにおける集計方法は基本的には同じ方法で集計します。
売上総利益の算出
1.演算対象データの取得
フィルタコマンド利用して集計済の売上高と売上原価を勘定科目を指定して取得します。
2.集計用に売上原価の金額をマイナスに変更する
「売上総利益」=「売上高」ー「売上原価」の演算をこの後の処理でグループ化で合計して算出するため、データ編集コマンドで「売上原価」の符号を変更します。
3.「売上総利益」の勘定科目を設定する
「売上高」と「売上原価」を合算するために、データ編集コマンドを使用して、勘定科目を「売上総利益」のもの(「2000」)に変更します。
4.「売上総利益」を算出する
グループ化コマンドを利用して、勘定項目をキーに集計して、「売上総利益」を算出します。
販売管理費の合計/営業利益/経常利益の算出
いずれも同様の処理で算出が可能なので、ここでは割愛します。前述のkrewDataドリルで詳細を公開しています。
3.損益計算書マスタからレイアウト情報を補完する
#1で勘定科目単位に集計したレコードと#2で演算した各レコードをレコード結合コマンドで結合した上で、損益計算書マスタからレイアウト情報を補完します。
赤枠部分がマスタから補完する項目です。「科目」はインデント(段落)表示した科目名になっています。また損益計算書で重要なソート順もここで補完します。
損益計算書アプリに出力する
ここまで集計できると、あとは出力コマンドで損益計算書アプリに出力するだけです。
Excelと同等の視認性を再現
kintone標準の一覧画面でも損益計算書を確認できますが、Excelと同等の視認性をもとめる場合はkrewSheetで一覧を表示する方法があります。
条件付き書式を活用することで、特定のレコードに色付けすることも可能です。また、このままExcelファイルにエクスポートすることもできます。
アプリテンプレートの入手方法
今回紹介した、損益計算書の作成方法はkrewDataの利用方法を学習できるkrewDataドリルに公開しています。こちらでアプリテンプレートをダウンロードすることができます。テンプレートをご自身の環境に読み込んで、実際の動作を確認したり、アレンジして、ぜひ業務に適用してみてください。
krewDataのお試し版の申し込み方法もこちらをご確認ください。