前回の記事では、対象期間中の契約から、その月の売上計上明細を重複なく生成するフローを作成しました。売上明細を作成したら、次は、月ごとの売上合計や明細件数を更新していきます。この記事では、kinkoziデータフロープラグインを使い、売上計上明細を対象月ごとに集計して、月次売上レコードへ反映する方法を紹介します。
今回のサンプルは以下のテンプレートでご確認いただけます。
サブスク売上管理アプリ
目次
今回実現する処理
前回作成したフローを実行すると、指定した月の売上計上明細が登録されます。集計前の月次売上レコードで、登録された売上計上明細を集計して売上・税込合計・明細件数を更新します。
今回作成するフローでは、次の順番で処理します。
月次売上レコードを取得 → 対象月の売上明細を取得 → グループ集計 → 月次売上レコードと結合 → 月次売上レコードを更新
このフローを実行すると、例えばサンプルの2026年9月を選んだ場合、月次売上レコードへ、次の集計結果が反映されます。
| 項目 | 集計結果 |
|---|---|
| 売上 | 70,000円 |
| 税込合計 | 77,000円 |
| 明細件数 | 6件 |
使用するアプリと集計項目
売上計上明細アプリ
契約ごとの売上情報を管理するアプリです。今回は、次のフィールドを集計に使用します。
| フィールド名 | 用途 |
|---|---|
| レコード番号 | 明細件数を数える |
| 対象月 | 集計する月を判定する |
| 税抜金額 | 売上を合計する |
| 税込金額 | 税込合計を計算する |
月次売上アプリ
月ごとの集計結果を管理するアプリです。対象月を更新キーとして、集計結果を次のフィールドへ反映します。
| フィールド名 | 反映する値 |
|---|---|
| 対象月 | 売上計上明細の対象月 |
| 売上 | 税抜金額の合計 |
| 税込合計 | 税込金額の合計 |
| 明細件数 | 売上計上明細の件数 |
対象月は更新する月次売上レコードを特定するために使用します。同じ対象月のレコードを複数作らない運用にしておくと、更新対象を明確にできます。
売上明細を月次集計するフロー
月次売上レコードを処理の起点にする
このフローも、月次売上レコードの詳細画面に配置したボタンから実行します。「当月の月次売上」入力では、ボタンを押した月次売上レコードを入力データとして使用します。これにより、対象月や更新先のレコードをフローへ引き渡せます。
対象月の売上明細を取得する
次に、売上計上明細アプリから、実行元レコードの対象月と一致する明細を取得します。
| 設定項目 | 設定値 |
|---|---|
| アプリ | 売上計上明細 |
| 条件 | 対象月 = 実行元レコードの対象月 |
| 取得するフィールド | レコード番号、対象月、税抜金額、税込金額 |
後続のアプリ結合で月次売上側の対象月と区別できるよう、売上計上明細側の対象月は「明細対象月」へ名前を変更します。
対象月ごとに売上を集計する
取得した売上計上明細を「明細対象月」でグループ化し、金額の合計と明細件数を計算します。
| 対象フィールド | 集計結果のフィールド名 | 集計方法 |
|---|---|---|
| 税抜金額 | 売上 | 合計 |
| 税込金額 | 税込合計 | 合計 |
| レコード番号 | 明細件数 | 個数 |
レコード番号は売上計上明細ごとに必ず値が入るため、その個数を数えることで明細件数を求められます。カウント方法は「標準(NULL除く)」を選択します。グループ集計を実行すると、同じ明細対象月を持つ複数の明細が1件の集計結果にまとめられます。
月次売上レコードと集計結果を結合する
グループ集計で作成した結果を、実行元の月次売上レコードへ結び付けます。
| 設定項目 | 設定値 |
|---|---|
| 元となる入力 | 当月の月次売上 |
| 結合する入力 | 当月の売上を集計 |
| 結合方法 | 左外部結合 |
| 結合キー | 対象月 = 明細対象月 |
左側には、ボタンを押した月次売上レコードを指定します。右側には、売上計上明細を対象月ごとにまとめた集計結果を指定します。左外部結合を使うことで、集計結果を実行元の月次売上レコードと同じ1件のデータとして扱えるようになります。月次売上レコードが持つ対象開始日や対象終了日も維持できます。
月次売上レコードを更新する
最後に、結合したデータを月次売上アプリへ出力します。
今回は新しい月次売上レコードを追加するのではなく、ボタンを押した対象月のレコードへ集計結果を反映したいため、出力方法は「更新」を選択します。
| 出力フィールド | 入力フィールド | 更新キー |
|---|---|---|
| 対象月 | 対象月 | 設定する |
| 売上 | 売上 | 設定しない |
| 税込合計 | 税込合計 | 設定しない |
| 明細件数 | 明細件数 | 設定しない |
更新キーに指定した対象月が一致する月次売上レコードへ、売上、税込合計、明細件数が上書きされます。
実行結果を確認する
売上・税込合計・明細件数が反映される
月次売上レコードの詳細画面から処理を実行します。前回作成した売上明細生成フローに続けて月次集計フローを実行することで、明細の作成から月次集計までを一度の操作で完了できます。
処理後に月次売上レコードを開き直すと、2026年9月分の6件の売上計上明細から計算した結果が反映されています。
| 項目 | 更新後の値 |
|---|---|
| 売上 | 70,000円 |
| 税込合計 | 77,000円 |
| 明細件数 | 6件 |
再実行すると最新の集計結果に更新される
売上計上明細を追加または修正したあとに同じ処理を再実行すると、対象月の明細をもう一度集計します。出力方法には「更新」を指定しているため、月次売上レコードが追加されることはありません。対象月が一致する既存レコードの売上、税込合計、明細件数が最新の集計結果で更新されます。
このため、明細の内容が変わっても、手作業で合計を計算し直す必要がありません。
まとめ
今回は、売上計上明細を対象月ごとに集計し、その結果を月次売上レコードへ反映するフローを作成しました。
- 実行元の月次売上レコードから対象月を受け取る
- 対象月と一致する売上計上明細だけを取得する
- 税抜金額、税込金額、明細件数をグループ集計する
- 対象月を結合キーとして月次売上レコードと集計結果を結合する
- 対象月を更新キーとして既存の月次売上レコードを更新する
前回の売上明細生成フローと今回の月次集計フローを続けて実行することで、契約情報から売上明細を作成し、月次の合計を更新するところまでを一度の操作で処理できます。