570-80 | 請求管理
このフローでは、適格請求書を作成するためのデータを作成します。
なお、この演習は下記の請求シチュエーションを前提に構成されています。
- スケジュール実行で末日に自動で請求データを作成
- 請求方式は都度請求ではなく締め請求方式で、顧客ごとに請求情報を合算する
- 末締め1日請求の固定サイクル
- 当月の請求対象は、当月の締め期間に注文があった顧客
入力アプリのフィールド構成
受注管理
- 各顧客の注文情報が日ごとに登録されている
- 複数の注文がある場合には注文商品ごとにレコードを作成する
- 商品情報はマスタアプリから参照して入力している
商品マスタ
- 商品情報を管理するアプリで、受注アプリの商品情報はここで管理されている
- 商品ごとに税率を管理するためのフィールドを持つ(後で帳票に印刷するフィールドなので※をつけておく)
- 後々税率が変わる可能性もあるので、運用の開始・終了を管理する項目をつけて管理するのがベター。新たに増える場合には、変更分を別レコードとして管理するのがおすすめです。
出力アプリのフィールド構成
請求管理アプリ
- 各顧客の請求情報が月ごとに出力される
- 請求明細テーブルに当月の注文詳細が出力される。注文管理アプリで管理していた複数のレコードがテーブル(明細)に集約される
- 適格請求書に記載が必要な税率ごとの金額や発行日、事業者番号といった項目を記載している
1.入力アプリを設定
- 入力アプリコマンドを追加し、アプリの選択で「570-80 受注アプリ」を選択する
- フィールドの選択で「受注日」「顧客番号」「顧客名」「顧客担当者」「商品ID」「商品名」「単価」「税率」「受注個数」「小計」を選択する
2.発行日(請求日)、事業者番号、請求日を設定する
事業者番号を追加する
- 定数の追加コマンドを追加する
- 次のように設定する
・定数を保存する新しいフィールド:「事業者番号」という新しいフィールドを作成
・新しいフィールドのフィールドタイプ:文字列(1行)
・新しいフィールドの追加する定数:T00000GC
※付与された事業者番号を設定する
発行日(請求日)を設定する
ここでは、受注月の翌月1日を発行日とします。
- データ編集コマンドを追加する
- 次のように設定する
・結果を保存するフィールド:「発行日」という新しいフィールドを追加する
・編集方法:数式
・編集内容:DATE(YEAR(受注日),MONTH(受注日)+1,1)
3.当月請求するレコードに絞り込む
ステップ3では、当月の請求対象のレコードに絞り込みます。
請求日を基準として年月を抽出する
まずは、絞り込み条件に使用する年月を抽出します。
- データ編集コマンドを追加する
- 結果を保存するフィールド:「請求年月」という新しいフィールドを作成
- 編集方法:数式
- 編集内容:=YEAR(請求日)&MONTH(請求日)
当月請求予定のレコードに絞り込む
フィルタコマンドを追加し、下記の数式を設定する
請求年月=YEAR(TODAY())&MONTH(TODAY())+1
4.税率ごとに金額を計算する
税率ごとの合計額を計算する
- グループ化コマンドを追加する
- グループ化する項目フィールド:顧客番号、顧客名、税率、発行日
- 次のように設定する
・集計する値が保存されているフィールド:小計
・集計した値を保存するフィールド名:区分小計
・集計方法:合計
税率ごとの消費税額を計算する
- データ編集コマンドを追加する
- 結果を保存するフィールド:「消費税額」という新しいフィールドを作成
- 編集方法:数式
- 編集内容:=区分小計(税率0.01)
フィールドタイプを調整する
- フィールドタイプ設定コマンドを追加する
- 次のように設定する
・変更するフィールド:消費税額
・新しいフィールド名:消費税額
・新しいフィールドタイプ:数値
5.顧客ごとにレコードをマージする
税率ごとにレコードを分ける
- フィルタコマンドを2つ追加する
- それぞれ下記のように設定する
・8%の場合
・10%の場合
顧客ごとにレコードを結合する
- アプリ結合コマンドを追加する
- [8%]と[10%]を内部結合で結合する
- [8%]の元になるアプリの条件フィールドには次のように設定する
・顧客番号 - [10%]の元になるアプリの条件フィールドには次のように設定する
・顧客番号
フィールド名を調整する
- フィールド選択コマンドを追加する
- 使用するフィールドに次のフィールドを選択する
発行日、顧客番号、顧客名、税率、区分小計、消費税額、税率_1、区分小計_1、消費税額_1 - 次のようにフィールド名を変更する
・区分小計:8%対象
・消費税額:8%消費税
・区分小計_1:10%対象
・消費税額_1:10%消費税
6.請求額を計算する
- データ編集コマンドを追加する
- 結果を保存するフィールド:「ご請求額」という新しいフィールドを作成
- 編集方法:数式
- 編集内容:=_10パーセント消費税+_10パーセント対象+_8パーセント消費税+_8パーセント対象
フィールドタイプを調整する
- フィールドタイプ設定コマンドを追加する
- 次のように設定する
・変更するフィールド:ご請求額
・新しいフィールド名:ご請求額
・新しいフィールドタイプ:数値
7.ヘッダとなるデータと別途計算した税率ごとのデータを結合する
- アプリ結合コマンドを追加する
- [当月請求予定のレコードに絞り込む]と[請求額のフィールドタイプ変更]を内部結合で結合する
- [当月請求予定のレコードに絞り込む]の元になるアプリの条件フィールドには次のように設定する
・顧客番号 ・顧客名 ・発行日 - [請求額のフィールドタイプ変更]の元になるアプリの条件フィールドには次のように設定する
・顧客番号 ・顧客名 ・発行日
8.請求明細用のテーブルを作成する
受注情報の明細はテーブルに格納したいため、テーブル作成コマンドを使用します。
- テーブル作成コマンドを追加する
- レコードに保持するフィールド:顧客番号、顧客名、発行日、8%対象、8%消費税、10%対象、10%消費税、ご請求額、事業者番号
- テーブルの設定
・新しいテーブル名:請求明細
・テーブルに保持するフィールド:受注日、商品ID、商品名、単価、税率、受注個数、小計
9.出力アプリに設定する
出力するフィールドと出力方法の設定をする
- 出力アプリコマンドを追加し、「570-80 請求管理」アプリを出力アプリとして設定する
- 出力方式に「更新」を選択し、「更新または追加」オプションを有効にする
- データ編集フローのフィールドで、アプリのフィールドと対になる編集フローのフィールドを選択する
- 更新キーで次を有効にする
・顧客番号 ・発行日
krewDataを実行し、請求管理アプリに当月の請求データを自動で出力できるようになりました。
サンプルファイルのダウンロードはこちら
https://download.krew.mescius.jp/study/krewdata-drill/pratical/dt570-80tax-invoice.zip