異なる得意先の受注を同一の「請求先」でまとめて請求データを作成する方法

1. 概要・実現できること

納品先や店舗(得意先)が異なる場合でも、親会社や特定の「請求先」ごとに受注データを1つの請求データ(請求書)にまとめて作成・集約することができます。

「顧客マスタ」と「請求先マスタ」を分けて管理し、自動処理の「レコード検索パーツ」「条件分岐パーツ」「レコード登録/更新パーツ」を組み合わせることで、集計・転記の手間やミスを防止できます。

2. 必要なデータベース(DB)構成

本運用を実現するために、以下のDB構造およびリレーション(DBリンク)を用意します。

DB名 役割・概要 主な保持項目 DBリンク設定
請求先マスタ 請求書の発行先・入金元となる会社情報を管理 請求先コード、請求先名、締め日 など
顧客マスタ(得意先) 実際の受注先・納品先(店舗や事業所など)を管理 顧客コード、顧客名、住所 など 請求先マスタ へのDBリンクを設定
受注DB 日々の受注伝票・明細データを登録 受注No、受注日、金額、顧客ID、請求先ID など 顧客マスタ へのDBリンクを設定
(従属項目で「請求先ID」を自動セット)
請求DB まとめられた請求データを管理(集約先) 請求No、請求先ID、請求月、合計金額、ステータス など 請求先マスタ へのDBリンクを設定

【データ引き当ての流れ】

  1. 「受注DB」で「顧客(得意先)」を選択すると、顧客マスタに紐づく「請求先ID」が従属項目として自動的に引き当てられます。
  2. これにより、異なる得意先の受注であっても、共通の「請求先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]:受注金額
    • ステータス= 請求前

ステップ3:【レコード更新】パーツの設定(処理済みフラグの更新)

二重処理を防止するため、処理が完了した受注レコードのステータスを更新します。

  • パーツ種別:レコード更新
  • 更新対象レコード:【選択レコード】[受注DB]
  • 更新内容: 請求処理ステータス= 処理済

4. 運用のポイント・注意点

  1. 顧客マスタでの請求先必須化
    顧客マスタ登録時に「請求先」の指定を必須項目にしておくことで、受注登録時に請求先が未設定になるトラブルを防げます。
  2. 一覧メニューからの画面一括実行
    締め日(例:毎月20日や月末)に、受注DBの未処理一覧メニュー(絞り込み:請求処理ステータス=未処理)から対象レコードを一括選択し、サブメニューから自動処理を一括実行することで手間を削減できます。

 (記事ID:2975) 

ご利用にはサービスごとのアカウント登録申込が必要です