注目キーワード
  1. 予実管理

予実対比損益計算書を作成する

710-30 | 会計


入力アプリのフィールド構成

収支データアプリ
  • 収支データの明細が登録されている
  • 各レコードに集計用の科目が設定済
f:id:krew_grapecity:20200908132455p:plain
損益計算書マスタアプリ
  • 出力する損益計算書のレイアウト情報が登録されている
  • 収支データ上に存在しないkrewDataで集計する科目も登録(売上総利益、販売費計、営業利益、経常利益)
  • インデント(段落表示)したい科目名はスペースを入れて最終的に表示させたい形式で登録
f:id:krew_grapecity:20200909112439p:plain

予算アプリ
  • 科目ごとに予算を登録するアプリ
  • 1レコードで1年分の予算が登録できるレイアウト
  • ここでは小計項目(売上総利益、販売管理費、営業利益、経常利益)の予算はもたず、フロー上で集計するしくみ

出力アプリのフィールド構成

予実対比損益計算書アプリ
  • 月ごとの予実状況を管理するアプリ
  • 1レコードで1年分の予算、実績、差異を管理するレイアウト
  • 科目と金額に加えてソート順やカラー等のレイアウト情報も設定
予実対比損益計算書アプリ(応用パターン)
  • 月ごとの予実状況を管理するアプリ
  • 科目と金額に加えてソート順やカラー等のレイアウト情報も設定

1.入力アプリを設定

  1. 入力アプリコマンドを追加し、アプリの選択で「収支データ」アプリを選択する
  2. フィールドの選択で「勘定科目」「大項目」「中項目」「金額」「発生日」を選択する(「大項目」「中項目」は途中集計の確認用で処理には利用しません)

2.収支の実績を年月単位に集計する

収支の実績を集計します。

この後、別途作成した予算データと結合するステップがあります。結合の為に必要なフィールドの作成や集計を先に行っておき、データ同士の粒度を揃えておきます。

年度を抽出する

  1. データ編集コマンドを追加して次のように設定する
    ・結果を保存するフィールド:「年度」という新しいフィールドを作成
    ・編集方法:数式
    ・編集内容:IF(日付<>””,IF(MONTH(日付)>=4, YEAR(日付), YEAR(日付)-1),””)

月を抽出する

  1. データ編集コマンドを追加して次のように設定する
    ・結果を保存するフィールド:「月」という新しいフィールドを作成
    ・編集方法:日付編集
    ・編集内容:月を抽出、フィールド、発生日

勘定科目、年度、月をキーに金額を集計する

  1. グループ化コマンドを追加して、グループ化する項目フィールドを選択で「勘定科目」「年度」「月」を選択する
  2. 集計する値が保存されているフィールドで各々「大項目」「中項目」「金額」を追加
  3. 集計した値を保存するフィールド名は変更しない
  4. 集計方法を選択で、「大項目」:「最大値」、「中項目」:「最大値」、「金額」:「合計」を選択する

区分を追加する

この後別途加工した予算データとレコード結合します。どのデータが収支アプリのデータなのか区別がつくように「実績」という区分を追加します。

  1. 定数の追加コマンドを追加する
  2. 定数を保存する新しいフィールド名は「区分」と設定
  3. 新しいフィールドのフィールド対応は「文字列(1行)」に設定
  4. 新しいフィールドに保存する定数は「実績」と入力

3.予算データを整形する

実績データとレコード結合して集計するため、予算データを必要な形に整形します。

入力アプリを設定する

  1. 入力アプリコマンドを追加する
  2. 次のフィールドを使用するフィールドに追加する
    ・年度 ・科目コード ・科目 ・小科目 ・4月 ・5月 ・6月 ・7月 ・8月 ・9月 ・10月 ・11月 ・12月 ・1月 ・2月 ・3月

列ー行変換してフィールドをレコードに変換する

  1. 列ー行変換コマンドを追加する
  2. 変換する列名を保存する新しいフィールド名:月
  3. 変換する列の値を保存する新しいフィールド名:予算
  4. 行に変換する列:4月~3月までの項目を設定
  5. 変換した行に保存する元の列を識別する値:月に対応する4~3までの数字を設定

フィールドタイプを変更する

収支(実績)データとレコード結合するために、収支アプリのフィールドに合わせてフィールドタイプを変更しておきます。

  1. フィールドタイプ変更コマンドを追加する
  2. 月のフィールドタイプを変更
    変更するフィールド:月
    新しいフィールド名:月
    新しいフィールドタイプ:数値
  3. 科目コードのフィールドタイプを変更
    変更するフィールド:科目コード
    新しいフィールド名:勘定科目
    新しいフィールドタイプ:変更なし

区分を追加する

収支データとレコード結合する前に、どのデータが予算アプリのデータなのか区別がつくよう「予算」という区分を追加します。

  1. 定数の追加コマンドを追加する
  2. 定数を保存する新しいフィールド名は「区分」と設定
  3. 新しいフィールドのフィールド対応は「文字列(1行)」に設定
  4. 新しいフィールドに保存する定数は「予算」と入力

4.2つのアプリのデータをレコード結合する

  1. レコード結合コマンドを追加する
  2. 結合方法に「共通するフィールドのみ含める」を選択する

5.「売上総利益」を算出してレコード追加する

集計した勘定科目ごとのレコードから「売上高」と「売上原価」を抽出して、これらを集計して「売上総利益」を算出します。

「売上総利益」=「売上高」ー「売上原価」

売上高と売上原価の抽出

  1. フィルタコマンドを追加して標準フィルタを選択
  2. フィルタの項目に「勘定科目」を選択して、条件を=(等しい)5100(売上原価の科目コード)、同様の条件で1100(売上高の科目コード)を設定する
    (※実際に運用で利用する際は該当の勘定科目コードを指定してください)
  3. フィルタ条件はいずれかの条件を満たすを選択する

集計用に売上原価の金額をマイナスに変更する

「売上総利益」=「売上高」ー「売上原価」の演算をこの後の処理でグループ化で合計して算出するため、「売上原価」の符号を変更します。なお、この設定は実績データにのみ適用します。

  1. データ編集コマンドを追加して、結果を保存するフィールドに「既存フィールドのデータを置換」を選択して、フィールドを選択に「金額」を選択する
  2. 編集方法で「数式」を選択
  3. 編集内容の数式に「金額*-1」を設定
  4. 検索条件に次を設定
    ・「勘定科目」を選択して、条件を=(等しい)5100(売上原価の科目コード)に設定する
    ・「区分」を選択して、条件を=(等しい)実績に設定する

「売上総利益」の勘定科目を設定する

予め「損益計算書マスタ」に登録しておいた「売上総利益」の勘定科目を設定します。

  1. データ編集コマンドを追加して、結果を保存するフィールドに「既存フィールドのデータを置換」を選択して、フィールドを選択に「勘定科目」を選択する
  2. 編集方法で「値を設定」を選択
  3. 編集内容に「2000」を設定
  4. 検索条件に「すべてのレコード」のまま

「売上総利益」を算出する

  1. グループ化コマンドを追加して、グループ化する項目フィールドで「勘定科目」「年度」「月」「区分」を選択する
  2. 集計する値が保存されているフィールドで「金額」を選択
  3. 集計した値を保存するフィールド名も「金額」のまま
  4. 集計方法で「合計」を選択

ポイント

この後の販売管理費の合計/営業利益/経常利益のいずれも、対象となるデータの抽出方法は異なりますが、レコード間で加減の演算をする処理は同様になるので、いまいちど処理のポイントをおさらいしておきます。

1.演算対象データの取得

フィルタコマンド利用して対象レコードを取得します。

f:id:krew_grapecity:20200909230035p:plain
処理後のデータイメージ
2.減算するレコードの符号を変更する

データ編集コマンドで符号を変更します。

f:id:krew_grapecity:20200909230109p:plain
処理後のデータイメージ
3.集計キーを設定

データ編集コマンドを使用して、集計キーを一致させます。

f:id:krew_grapecity:20200909230213p:plain
処理後のデータイメージ(勘定科目が変更されている)
4.算出

グループ化コマンドを利用して、合算します。

f:id:krew_grapecity:20200909230325p:plain
処理後のデータイメージ(売上総利益レコードを作成)

4.販売管理費を集計する

予算・実績データそれぞれから「販売管理費」のみを抽出します。

事前に勘定科目マスタで販売管理費のみ抽出できるようなコードの振り方や名前を設定しておくことがポイントです。

今回使用する科目マスタでは、「科目コード」の上2桁が52または「大項目」に販売管理費と設定しておき、収支データ登録時にルックアップで科目マスタから科目コードと大項目等をコピーする運用を想定しています。

f:id:krew_grapecity:20200908145454p:plain
収支データ(「販売管理費」を抽出できるような科目コードおよび大項目の名前が設定されている)

販売管理費の抽出

  1. フィルタコマンドを追加して、数式を選択
  2. 数式にLEFT(勘定科目,2)=”52″を設定(勘定科目の上2桁が”52″)

「販売管理費」の勘定科目を設定する

予め「損益計算書マスタ」に登録しておいた「販売管理費」の勘定科目を設定します。

  1. データ編集コマンドを追加して、結果を保存するフィールドに「既存フィールドのデータを置換」を選択して、フィールドを選択に「勘定科目」を選択する
  2. 編集方法で「値を設定」を選択
  3. 編集内容に「5200」を設定
  4. 検索条件に「すべてのレコード」のまま

「販売管理費」を算出する

  1. グループ化コマンドを追加して、グループ化する項目フィールドで「勘定科目」「年度」「月」「区分」を選択する
  2. 集計する値が保存されているフィールドで「金額」を選択
  3. 集計した値を保存するフィールド名も「金額」のまま
  4. 集計方法で「合計」を選択

5.営業利益を集計する

これまでの処理で算出した「売上総利益」と「販売管理費」を使用して、「営業利益」を算出します。(「営業利益」=「売上総利益」ー「販売管理費」)

「売上総利益」レコードと「販売管理費」レコードを取得

レコード結合コマンドを利用して、各々のレコードを取得します。

  1. レコード結合コマンドを追加して、売上総利益の算出結果と販売管理費の集計結果のコマンドから線でつなぐ
  2. 結合方法では、共通するフィールドのみを含めるを選択

集計用に販売管理費の金額をマイナスに変更する

「営業利益」=「売上総利益」ー「販売管理費」の演算をこの後の処理でグループ化で合計して算出するため、「販売管理費」の符号を変更します。 なお、この設定は実績データにのみ適用します。

  1. データ編集コマンドを追加して、結果を保存するフィールドに「既存フィールドのデータを置換」を選択して、フィールドを選択に「金額」を選択する
  2. 編集方法で「数式」を選択
  3. 編集内容の数式に「金額*-1」を設定
  4. 検索条件に「勘定科目」を選択して、次のように設定する
    ・勘定科目=(等しい)5200(の科目コード)に設定する
    ・区分=(等しい)実績
    上記二つに対して、「すべての条件を満たす」を選択する

「営業利益」の勘定科目を設定する

予め「損益計算書マスタ」に登録しておいた「営業利益」の勘定科目を設定します。

  1. データ編集コマンドを追加して、結果を保存するフィールドに「既存フィールドのデータを置換」を選択して、フィールドを選択に「勘定科目」を選択する
  2. 編集方法で「値を設定」を選択
  3. 編集内容に「6000」を設定
  4. 検索条件に「すべてのレコード」のまま

「営業利益」を算出する

  1. グループ化コマンドを追加して、グループ化する項目フィールドで「勘定科目」「年度」「月」「区分」を選択する
  2. 集計する値が保存されているフィールドで「金額」を選択
  3. 集計した値を保存するフィールド名も「金額」のまま
  4. 集計方法で「合計」を選択

6.経常利益を算出する

これまでの処理で算出した「営業利益」と科目集計で算出した「営業外収益」、「営業外費用」を使用して、「営業利益」を算出します。(「経常利益」=「営業利益」+「営業外収益」ー「営業外費用」)

「営業外収益」、「営業外費用」レコードを取得

科目集計済のレコードから「営業外収益」、「営業外費用」を取得。

  1. フィルタコマンドを追加して、標準フィルタを選択
  2. フィルタの項目に「勘定科目」を選択して、条件を=(等しい)7000(営業外収益の科目コード)、同様の条件で8000(営業外費用の科目コード)を設定する(※実際に運用で利用する際は該当の勘定科目コードを指定してください)
  3. フィルタ条件はいずれかの条件を満たすを選択する

「営業利益」レコードと「営業外収益」、「営業外費用」レコードを結合

レコード結合コマンドを利用して、各々のレコードを取得します。

  1. レコード結合コマンドを追加して、営業利益の算出結果と「営業外収益」、「営業外費用」の抽出結果を線でつなぐ
  2. 結合方法では、「営業外収益/営業外費用抽出」を選択

集計用に営業外費用の金額をマイナスに変更する

「経常利益」=「営業利益」+「営業外収益」ー「営業外費用」の演算をこの後の処理でグループ化で合計して算出するため、「営業外費用」の符号を変更します。 なお、この設定は実績データにのみ適用します。

  1. データ編集コマンドを追加して、結果を保存するフィールドに「既存フィールドのデータを置換」を選択して、フィールドを選択に「金額」を選択する
  2. 編集方法で「数式」を選択
  3. 編集内容の数式に「金額*-1」を設定
  4. 検索条件に「勘定科目」を選択して、次のように条件を設定する
    ・勘定科目=(等しい)8000(の科目コード)に設定する
    ・区分=(等しい)実績
    上記二つに対して、「すべての条件を満たす」を選択する

「経常利益」の勘定科目を設定する

予め「損益計算書マスタ」に登録しておいた「経常利益」の勘定科目を設定します。

  1. データ編集コマンドを追加して、結果を保存するフィールドに「既存フィールドのデータを置換」を選択して、フィールドを選択に「勘定科目」を選択する
  2. 編集方法で「値を設定」を選択
  3. 編集内容に「9000」を設定
  4. 検索条件に「すべてのレコード」のまま

「経常利益」を算出する

  1. グループ化コマンドを追加して、グループ化する項目フィールドで「勘定科目」「年度」「月」「区分」を選択する
  2. 集計する値が保存されているフィールドで「金額」を選択
  3. 集計した値を保存するフィールド名も「金額」のまま
  4. 集計方法で「合計」を選択

7.すべての科目レコードを結合する

これまで算出してきたすべてレコードを結合させます。

すべてのレコードを結合

レコード結合コマンドを利用して、各々のレコードを取得します。

  1. レコード結合コマンドを追加して「科目集計」を集計したレコードと「売上総利益」、「販売管理費」、「営業利益」、「経常利益」の算出結果をコマンドから線でつなぐ
  2. 結合方法では、共通するフィールドのみを含めるを選択

8.予算と収支データを突き合わせて対比する

ここまで集計してきたデータを区分の項目ごとにそれぞれ抽出します。予算と実績に分けることで、予実の対比ができるようになります。

予算データを抽出

  1. フィルタコマンドを追加する
  2. 標準フィルタで次のように絞り込む
    ・区分 =(等しい) 予算

実績データを抽出

  1. フィルタコマンドを追加する
  2. 標準フィルタで次のように絞り込む
    ・区分 =(等しい) 実績

予算データの「金額」フィールドの名前を変更

  1. フィールドタイプ設定コマンドを追加する
  2. 変更するフィールド:金額
  3. 新しいフィールド名:予算
  4. 新しいフィールドタイプ:変更なし

実績データの「金額」フィールドの名前を変更

  1. フィールドタイプ設定コマンドを追加する
  2. 変更するフィールド:金額
  3. 新しいフィールド名:実績
  4. 新しいフィールドタイプ:変更なし

予算と実績を結合して突き合わせる

  1. アプリ結合コマンドを追加する
  2. 「金額フィールドを「予算」に変更」と「金額フィールドを「実績」に変更」を左外部結合で結合する
  3. 「金額フィールドを「予算」に変更」の条件フィールドに次を追加
    ・勘定科目 ・年度 ・月
  4. 「金額フィールドを「実績」に変更」の条件フィールドに次を追加
    ・勘定科目 ・年度 ・月

必要なフィールドに絞り込む

  1. フィールド選択コマンドを追加する
  2. 使用するフィールドに次の項目を追加
    ・勘定科目 ・年度 ・月 ・予算 ・実績

差異を計算する

  1. データ編集コマンドを追加する
  2. 結果を保存するフィールド:「差異」という新しいフィールドを作成
  3. 編集方法:数式
  4. 編集内容:IF(実績<>””,予算-実績)

フィールドタイプを変更する

  1. フィールドタイプ設定コマンドを追加する
  2. 変更するフィールド:差異
  3. 新しいフィールド名:差異
  4. 新しいフィールドタイプ:数値

9. 損益計算書マスタからレイアウト情報を補完する

損益計算書を表示する際、科目名やソート順は非常に重要な要素です。最終的に表示したいレイアウト情報を損益計算書マスタに定義しておき、情報を補完します。こうすることで、表示レイアウトや順序を変更したい場合に、フローを変更せずにアプリの情報を変更するだけでレイアウトを変更することができるようになります。

損益計算書マスタを入力アプリとして追加

  1. 入力アプリコマンドを追加し、アプリの選択で「損益計算書マスタ」アプリを選択する
  2. フィールドの選択で「科目コード」「科目」「ソート順」「行カラー」を選択する

集計したレコードに損益計算書マスタの情報を補完する

アプリ結合コマンドを利用して、損益計算書マスタの情報を補完します。

  1. アプリ結合コマンドを追加して「フィールドタイプ設定」と「710-30損益計算書マスタ」を左外部結合で結合し、「勘定科目」と「科目コード」を条件に設定

10. 損益計算書に出力するためのデータを作成する(基本のパターン)

この先は、以下のようなアプリに出力するためにデータを整えていきます。

行ー列変換してフィールドをレコードに変換する

  1. 行ー列変換コマンドを追加する
  2. 列に変換するフィールド名:月
  3. 行を識別するフィールド:年度、勘定科目
  4. 新しい列名:「4月予算」「4月実績」「4月差異」のように4月~翌年3月までの組合せを追加する
  5. 新しい列を識別する値:月に対応する数字を記載
  6. 列に保存されている値が保存されているフィールド:4で選択したフィールドに合わせて「予算」「実績」「差異」を記載

出力アプリを設定する

  1. 出力アプリを追加し、「710-30 予実対比損益計算書」を設定する
  2. 出力方式に「更新」を選択し、「更新または追加」にチェックする
  3. データ編集フローのフィールドで、アプリのフィールドと対になるデータ編集フローのフィールドを選択する
  4. 更新キーとして、「勘定科目」と「年度」にチェックする

出力結果を確認する

「損益計算書」アプリで意図した損益計算書のレイアウトになっているか確認します。

kintone側の[一覧の設定]で損益計算書マスタから補完したソート順を指定しています。

krewSheetによる表示

損益計算書の表示をExcelと同等にしたい場合は、krewSheetを適用するとより視認性の高い損益計算書を作成できます。条件付き書式で行全体の色を変更したり、Excelファイルへエクスポートも可能です。ぜひ、こちらもお試しください。

11. 損益計算書に出力するためのデータを作成する(応用パターン)

最初のパターンに加えて、少し応用のレイアウトの出力パターンもご紹介します。次のようなレイアウトで出力します。

列ー行変換してフィールドをレコードに変換する

  1. 列ー行変換コマンドを追加する
  2. 変換する列名を保存する新しいフィールド名:区分
  3. 変換する列の値を保存する新しいフィールド名:金額
  4. 行に変換する列:「予算」「実績」「差異」を入力
  5. 変換した行に保存する元の列を識別する値:「予算」「実績」「差異」と4で設定した内容と対応する項目を設定

行ー列変換してフィールドをレコードに変換する

  1. 行ー列変換コマンドを追加する
  2. 列に変換するフィールド名:月
  3. 行を識別するフィールド:勘定科目、区分
  4. 新しい列名:4月度~翌年3月度までのフィールドを追加する
  5. 新しい列を識別する値:月に対応する数字を記載
  6. 列に保存されている値が保存されているフィールド:全ての項目で「金額」を設定

出力アプリを設定する

  1. 出力アプリを追加し、「710-30 予実対比損益計算書(応用パターン)」を設定する
  2. 出力方式に「更新」を選択し、「更新または追加」にチェックする
  3. データ編集フローのフィールドで、アプリのフィールドと対になるデータ編集フローのフィールドを選択する
  4. 更新キーとして、「勘定科目」と「年度」にチェックする

出力結果を確認する

「損益計算書」アプリで意図した損益計算書のレイアウトになっているか確認します。

kintone側の[一覧の設定]で損益計算書マスタから補完したソート順を指定しています。

krewSheetによる表示

基本パターンと同様に、損益計算書の表示をExcelと同等にしたい場合は、krewSheetを適用するとより視認性の高い損益計算書を作成できます。

演習をお客様のkintone環境で試す

krewDataのはじめ方
実際の動作を確認できるテンプレートを公開しています。
こちらの記事でご紹介した内容をご自身の環境で試したい方はダウンロードしてご利用ください。