異なる得意先の受注を同一の「請求先」でまとめて請求データを作成する方法
1. 概要・実現できること
納品先や店舗(得意先)が異なる場合でも、親会社や特定の「請求先」ごとに受注データを1つの請求データ(請求書)にまとめて作成・集約することができます。
「顧客マスタ」と「請求先マスタ」を分けて管理し、自動処理の「レコード検索パーツ」「条件分岐パーツ」「レコード登録/更新パーツ」を組み合わせることで、集計・転記の手間やミスを防止できます。
2. 必要なデータベース(DB)構成
本運用を実現するために、以下のDB構造およびリレーション(DBリンク)を用意します。
| DB名 | 役割・概要 | 主な保持項目 | DBリンク設定 |
|---|---|---|---|
| 請求先マスタ | 請求書の発行先・入金元となる会社情報を管理 | 請求先コード、請求先名、締め日 など | ― |
| 顧客マスタ(得意先) | 実際の受注先・納品先(店舗や事業所など)を管理 | 顧客コード、顧客名、住所 など | 請求先マスタ へのDBリンクを設定 |
| 受注DB | 日々の受注伝票・明細データを登録 | 受注No、受注日、金額、顧客ID、請求先ID など | 顧客マスタ へのDBリンクを設定 (従属項目で「請求先ID」を自動セット) |
| 請求DB | まとめられた請求データを管理(集約先) | 請求No、請求先ID、請求月、合計金額、ステータス など | 請求先マスタ へのDBリンクを設定 |
【データ引き当ての流れ】
- 「受注DB」で「顧客(得意先)」を選択すると、顧客マスタに紐づく「請求先ID」が従属項目として自動的に引き当てられます。
- これにより、異なる得意先の受注であっても、共通の「請求先ID」を保持した状態になります。
3. 設定手順:自動処理の構築
受注DBから実行し、「同じ請求先・同じ請求月」の請求が既に存在すれば合算(更新)し、存在しなければ新規作成する自動処理を作成します。
【自動処理の基本情報】
- 作成対象DB:受注DB
- 実行単位:レコード単位
ステップ1:【レコード検索】パーツの設定(既存請求データの確認)
集約先である「請求DB」に、処理対象と同じ請求先・請求月のデータが既に存在するか検索します。
- パーツ種別:レコード検索
- 検索対象DB:請求DB
- 検索条件(AND条件):
請求DB:請求先ID=【選択レコード】[受注DB]:請求先ID(と等しい)請求DB:請求月=【選択レコード】[受注DB]:請求月(と等しい)請求DB:ステータス=請求前(と等しい)
- 取得条件:1件まで絞り込む(ON)
ステップ2-A:【YESルート】既存の請求データがある場合(合算処理)
既に同月・同請求先の請求レコードが存在するため、そのレコードの金額を更新(加算)します。
- パーツ種別:レコード更新
- 更新対象レコード:
【検索レコード(ステップ1)】[請求DB] - 更新内容 :請求金額=(「計算」にチェック)
【元の値】+【選択レコード】[受注DB]:受注金額
ステップ2-B:【NOルート】既存の請求データがない場合(新規作成処理)
該当する請求データがまだ存在しないため、新しく請求を作成します。
- パーツ種別:レコード登録
- 登録先DB:請求DB
- 登録内容:
- 請求先ID=
【選択レコード】[受注DB]:請求先ID - 請求月=
【選択レコード】[受注DB]:請求月 - 請求金額=
【選択レコード】[受注DB]:受注金額 - ステータス=
請求前
- 請求先ID=
ステップ3:【レコード更新】パーツの設定(処理済みフラグの更新)
二重処理を防止するため、処理が完了した受注レコードのステータスを更新します。
- パーツ種別:レコード更新
- 更新対象レコード:
【選択レコード】[受注DB] - 更新内容: 請求処理ステータス=
処理済
4. 運用のポイント・注意点
- 顧客マスタでの請求先必須化
顧客マスタ登録時に「請求先」の指定を必須項目にしておくことで、受注登録時に請求先が未設定になるトラブルを防げます。 - 一覧メニューからの画面一括実行
締め日(例:毎月20日や月末)に、受注DBの未処理一覧メニュー(絞り込み:請求処理ステータス=未処理)から対象レコードを一括選択し、サブメニューから自動処理を一括実行することで手間を削減できます。
(記事ID:2975)
「自動処理設定」の関連記事一覧
こちらの記事もあわせてご確認ください。
- 自動処理を活用して承認機能を独自に構築する方法・設定手順
- 自動処理のメール送信でプロジェクトや取引内容に応じてCC宛先のみを動的に切り替える方法・マスタ構築手順
- CSVインポートや一括登録時に通知メールが大量送信されるのを防ぎ、完了時にまとめて通知する方法
- データベースをコピー(複製)した際に登録済みのレコードデータも引き継がれるか
- 異なるデータベース間でデータを自動で転記・登録する方法・設定手順
- 親DBの明細行の合計値と自レコード(子DB)の値を比較して自動処理を分岐させる方法・設定手順
- レコードをコピーして新規登録する際、コピー元の値ではなく「項目の初期値」を優先して登録したい
- 「明細ID」を指定して特定の明細レコードのみをピンポイントで修正(更新)する方法・設定手順
- 住所変更に伴い請求書に印字される住所情報を変更する方法・設定手順