入金データと請求データを突合し入金管理アプリへ登録する (一部入金)

570-120 | 請求管理

入金データと請求データを突合し、差額を算出して入金管理アプリへ登録する方法を解説します。
未入金の請求と紐づけることで、入金状況の把握を効率化できます。
本設定では、一部入金が発生する想定で入金額の差額の判定を行います。
関連するドリル
前後対応のフローとして下記の設定がおすすめです。
銀行取引明細(CSV)をkintoneに取り込み、本設定の入力アプリとなる入金データインポート用アプリを更新します。
本フローと併せて演習を行う設定する際は、文末のサンプルファイルは「一部入金用」をご利用ください。
本設定で一部入金として処理した入金の残額を入金管理アプリに反映します。
本設定で作成した入金管理情報を使い、請求管理アプリへの消込作業を自動化します。

類似のドリル
一部入金の処理を想定しないよりシンプルな設定フローは下記でご確認いただけます。

入力アプリ

入金データインポート用アプリ
・外部システムなどから取り込んだ入金データを登録するアプリ
・取引日、取引先コード、入金額などが登録されている

請求管理アプリ
・請求情報(請求日、請求番号、請求額など)が登録されている
・未入金データのみを対象として抽出する
出力アプリ

入金管理アプリ
・入金日、請求情報、差額などをまとめて管理するアプリ
・請求と入金を紐づけ、差異の確認が可能になる

入金データインポート用アプリ
・入金管理アプリへの転送が完了しているレコードには「済」のフラグを付与する

設定手順

入金データと請求データを取得する
1. 「アプリから読み込む」コマンドを追加し、入金データインポート用アプリを設定
・標準フィルタ:「入金管理に転送」が未チェック

・取得フィールド:レコード番号、入金管理に転送、取引日、取引先コード、取引先名、入金

プレビュー


2. 入力アプリコマンドを追加し、請求管理アプリを設定
・抽出条件:「入金ステータス = 未入金・一部入金 」


・取得フィールド:
レコード番号、請求日、請求年月、取引先コード、取引先名、請求番号、今月請求額、入金日、入金額、入金ステータス

プレビュー


未入金請求データを整理する
未入金請求が複数ある場合はグループ化で請求日を最小値にし、請求番号を結合、請求額を合計しておく
レコード件数をカウントし、各取引先のレコードの件数を入れる

1.グループ化コマンドを追加し、請求情報を取引先単位で集約する
グループ化する項目フィールド:取引先コード、取引先名、入金ステータス

グループ化集計の設定
・請求日・請求年月 : 最小値
・請求番号 : 文字列に結合
・今月請求額 : 合計
・レコード番号:フィールド名を「未入金件数」にし、集計方法を個数

プレビュー

ワンポイント
複数請求がある場合、先にグループ化しておくことで入金との突合がシンプルになります。

入金データと請求データを結合する
1. アプリ結合コマンドを追加し2つのアプリを結合する
・結合キー:取引先コード
・結合タイプ:左外部結合


プレビュー


差額を計算する
1. データ編集コマンドを追加
・結果を保存するフィールド:新しいフィールドを作成
・新規フィールド名:差額
・編集方法:数式
・計算式:入金 - 今月請求額

2. フィールドタイプ変更コマンドを追加
・差額を数値型に設定


入金区分を設定する
1. 定数の追加コマンドを追加
・定数を保存する新しいフィールド名:入金区分
・フィールドタイプ:文字列(1行)
・フィールドに保存する定数:「口座振込」

条件分岐でシステム判定を行う
入金データと請求データの突合結果をもとに、条件ごとに入金状況を自動判定します。
未入金件数と差額の組み合わせで分岐するのがポイントです。

未入金1件かつ差額が0のデータを判定する(入金済)
1. フィルタコマンドを追加し、下記設定を行う
・対象フィールド:未入金件数
・条件:= (等しい)
・値:1


2. フィルタコマンドを追加し、下記設定を行う
・対象フィールド:差額
・条件:= (等しい)
・値:0

3. データ編集コマンドを追加し、下記設定を行う
・結果を保存するフィールド:新しいフィールド
・フィールド名:システム判定
・編集方法:値を設定
・値:入金済

プレビュー

未入金1件かつ差額が0未満の場合を手数料と一部入金に分岐
1. 未入金件数1を抽出したフィルタコマンドに新たにフィルタコマンドを追加し、下記設定を行う
・対象フィールド:差額
・条件:≦(以下)
・値:-1

ワンポイント
以下の設定では、手数料として考えられるパターンの金額を数式に設定し、手数料判定を行います。
今回は(110円・220円・330円…)と設定しましたが、手数料マスタアプリで管理し判定することも可能です。
コマンド名では、この手数料額の候補を「差額リスト」という名称で記載しています。

2. フィルタコマンドを追加し、下記設定を行う
数式:
OR(差額=-110,差額=-220,差額=-330,差額=-440,差額=-550,差額=-660,差額=-770,差額=-880)


3. データ編集コマンドを追加し、下記設定を行う
・結果を保存するフィールド:新しいフィールド
・フィールド名:システム判定
・編集方法:値を設定
・値:振込手数料

プレビュー

4. 「未入金が1件で請求額より少ない」のフィルタコマンドに、新たにフィルタコマンドを追加し、下記設定を行う
数式:
NOT(OR(差額=-110,差額=-220,差額=-330,差額=-440,差額=-550,差額=-660,差額=-770,差額=-880))

5. データ編集コマンドを追加し、下記設定を行う
・結果を保存するフィールド:新しいフィールド
・フィールド名:システム判定
・編集方法:固定値
・値:一部入金

プレビュー


未入金1件かつ差額が0より大きい場合(過入金)
1. 「未入金件数が1件」のフィルタコマンドに新たにフィルタコマンドを追加する

2.フィルタコマンドに下記設定を行う
・対象フィールド:差額
・条件:≧
・値:1

3. データ編集コマンドを追加し、下記設定を行う
・結果を保存するフィールド:新しいフィールド
・フィールド名:システム判定
・編集方法:固定値
・値:過入金

プレビュー


判定結果をまとめる
1. レコード結合コマンドを追加する
・各条件で作成した判定結果を1つに統合

未入金件数が2件以上のデータを抽出する
1. フィルタコマンドを追加し、下記設定を行う
・対象フィールド:未入金件数
・条件:≧
・値:2

2. 差額が0の分岐を行うため、フィルタコマンドを追加し、下記設定を行う
・対象フィールド:差額
・条件:= (等しい)
・値:0


3. データ編集コマンドを追加し、下記設定を行う
・結果を保存するフィールド:新しいフィールド
・フィールド名:システム判定
・編集方法:値を設定
・値:一括入金

プレビュー

4. 差額が0以外を抽出するためフィルタコマンドを追加し、下記設定を行う
・対象フィールド:差額
・条件:≠ (等しくない)
・値:0

5. データ編集コマンドを追加し、下記設定を行う
・結果を保存するフィールド:新しいフィールド
・フィールド名:システム判定
・編集方法:値を設定
・値:要確認

プレビュー

判定結果をまとめる
1. レコード結合コマンドを追加し、各条件で作成した判定結果を1つに統合
2. 結合方法を選択:すべてのフィールドを含める

プレビュー:右端の「システム判定」に判定結果が入力されている

入金管理アプリへ登録する
1. 出力アプリコマンドを追加し、「入金管理アプリ」を選択する
更新キーに「入金日=取引日」「取引先コード」を指定する


2. アプリのフィールドとフローのフィールドを対応させる
・入金日 : 取引日
・取引先コード :取引先コード_1
・取込元レコード番号:レコード番号
・入金区分:入金区分
・入金額 : 入金
・請求日:請求日
・請求番号 : 請求番号
・請求額 : 今月請求額
・差額(入金額ー対象請求額) : 差額

入金データインポート用アプリに転送済みフラグを更新する
1. 最初に追加した「入金データインポート用アプリ」にフィールド選択コマンドを追加
・対象:レコード番号、入金管理に転送

2. 「データ編集」コマンドを追加
・結果を保存するフィールド:既存フィールドのデータを置換
・フィールドを選択:入金管理に転送
・編集方法:値を設定
・編集内容:済にチェック

3. 出力アプリコマンドを追加し、入金データインポート用アプリ(元アプリ)を選択
・データ編集フローのフィールドでレコード番号を選択し、更新キーとする

実行後の入金データインポート用アプリ

ワンポイント
転送済みフラグを更新することで、同じデータの二重処理を防ぐことができます。

サンプルファイルのダウンロードはこちら
演習をお客様のkintone環境で試す
実際の動作を確認できるテンプレートを公開しています。
こちらの記事でご紹介した内容をご自身の環境で試したい方はダウンロードしてご利用ください。