ブログ

kintoneで予実集計を自動化 第3部 後編:売上・売上原価・販管費を月次集計する

第3部前編で科目別にそろえたデータを、売上、売上原価、販管費の3区分に分けて集計し、月次損益の上段へ反映します。後編では、集計の設定と、見込を確定へ変更したときの動きを確認します。

「月次損益アプリ」のスペーステンプレートをダウンロード

目次

フィールド定義(使用項目)

分類 月次損益のフィールド
更新キー 対象月
売上 売上計画、売上実績
売上原価 売上原価計画、売上原価実績
販管費 販管費計画、販管費実績
集計情報 最終集計日時
kintoneの計算項目 売上総利益、営業利益、各差額

処理の全体像

③と④の番号と説明を入れた「月次損益を計算」フロー後半
③と④の番号と説明を入れた「月次損益を計算」フロー後半
  1. 3区分ごとに集計:科目別データから売上、売上原価、販管費をそれぞれ抽出し、対象月ごとに計画額と確定実績額を合計します。
  2. 月次損益を更新:3つの集計結果を対象月で結合し、最終集計日時を加えて月次損益へ出力します。

前編の科目別進捗では科目ごとの内訳を確認し、後編の集計欄では損益区分ごとの合計を確認できる構成です。

売上・売上原価・販管費を集計する

最初に「売上科目抽出」「売上原価科目抽出」「販管費科目抽出」の3つへ分岐します。各ノードでは、損益区分がそれぞれ「売上」「売上原価」「販管費」のレコードだけを残します。

売上集計

続く集計ノードでは対象月でグループ化し、科目別計画額を「売上計画」、確定実績額を「売り上げ実績」として合計します。次の画像は「売上集計」の設定です。売上原価と販管費も、入力する損益区分と出力するフィールド名が異なるだけで、同じ考え方で設定します。

「売上集計」の設定(対象月でグループ化し、計画額と確定実績額を合計)
「売上集計」の設定(対象月でグループ化し、計画額と確定実績額を合計)

売上原価集計

「売上原価集計」も対象月でグループ化し、科目別計画額を「売上原価計画」、確定実績額を「売上原価実績」として合計します。

「売上原価集計」の設定(対象月でグループ化し、売上原価計画と売上原価実績を集計)
「売上原価集計」の設定(対象月ごとに売上原価の計画額と確定実績額を合計)

販管費集計

「販管費集計」では、同じ設定方法で科目別計画額を「販管費計画」、確定実績額を「販管費実績」として合計します。3つの集計結果で出力名を分けておくことで、後続の結合後も各金額の用途を識別できます。

「販管費集計」の設定(対象月でグループ化し、販管費計画と販管費実績を集計)
「販管費集計」の設定(対象月ごとに販管費の計画額と確定実績額を合計)

月次損益を更新する

集計結合

「売上・売上原価結合」で売上と売上原価を左外部結合し、続く「月次損益集計結合」で販管費を左外部結合します。3つの集計結果はいずれも対象月ごとに1行なので、結合キーには「対象月」を指定します。次の画像では、2回目の「月次損益集計結合」を代表例として示します。

「月次損益集計結合」の設定(売上・売上原価の集計結果と販管費集計を、対象月で左外部結合)
売上・売上原価の集計結果と販管費集計を、対象月で左外部結合

最終集計日時設定

結合後、「最終集計日時設定」で ISODATESTRING(NOW()) を使い、データフローを実行した時刻を追加します。通常のレコード更新日時とは別に持たせることで、月次損益を最後に集計した時刻を確認できます。

「最終集計日時設定」の設定(ISODATESTRING(NOW())で実行時刻を追加)
「最終集計日時設定」でデータフローの実行時刻を追加

月次損益集計更新

「月次損益集計更新」では、出力先に月次損益アプリを選び、出力方法を「更新」にします。「対象月」を更新キーに指定し、最終集計日時を対応付けます。

「月次損益集計更新」の出力先と更新方法(出力先を月次損益、出力方法を更新、対象月を更新キーに指定)
月次損益アプリを、対象月を更新キーとして更新

続いて、売上、売上原価、販管費の計画額と実績額を、それぞれ月次損益の同名フィールドへ対応付けます。科目別進捗サブテーブルは前編の「科目別進捗更新」で更新しているため、このノードでは指定しません。

「月次損益集計更新」のフィールド対応(売上・売上原価・販管費の計画額と実績額を対応付け)
売上・売上原価・販管費の計画額と実績額を月次損益へ対応付け

売上総利益、営業利益、計画との差額はデータフローから直接書き込まず、更新された金額をもとにkintoneの計算フィールドで求めます。計算項目をkintone側に残すことで、レコードを開いたときにも計算根拠を追いやすくなります。

実行結果

2026年10月のサンプルでは、売上計画2,800,000円、売上原価計画350,000円、販管費計画1,716,000円が月次損益へ反映されます。

見込実績を確定する前の2026年10月の月次損益(計画額が反映され、実績額はいずれも0円)
見込実績を確定する前の月次損益(計画額を反映、実績額は0円)

見込を確定へ変更して再集計する

収支実績明細で9件の見込実績すべての金額状態を「見込」から「確定」へ変更し、もう一度「月次損益を更新」を実行します。次の表では、SaaS売上1,000,000円を代表例として変更前後を示します。

科目別進捗の項目 変更前 変更後
確定実績額 0円 1,000,000円
未確定見込額 1,000,000円 0円
着地見込額 1,000,000円 1,000,000円
9件の見込実績をすべて確定し、再集計した後の2026年10月の月次損益(計画額と実績額が一致し、営業利益差額は0円)
9件の見込実績をすべて確定した結果(計画額と実績額が一致)

各金額は未確定見込額から確定実績額へ移るため、二重計上はされません。SaaS売上の着地見込額は1,000,000円のまま維持されます。9件をすべて確定したことで、月次損益では売上、売上原価、販管費の計画額と実績額が一致し、営業利益差額は0円になります。

まとめ

この連載では、計画明細の生成、見込実績の重複防止、科目別進捗サブテーブルの作成、月次損益の更新までをJavaScriptなしで構成しました。

配布サンプルではフローの設定を確認できるため、収支計画マスターの科目や損益区分を、自社の予実管理に合わせて変更して利用できます。

ブログ一覧に戻る