一部入金データの残額を入金管理アプリへ登録する (一部入金)
570-140 | 請求管理
このフローでは、一部入金の残額の入金があった際に、インポートした入金データを請求管理アプリの未入金データと照合し、入金管理アプリへ転送します。
入金額と請求額の差額から、入金済、一部入金、過入金、振込手数料、要確認などのシステム判定を自動で設定できます。
関連するドリル
前後対応のフローとして下記の設定がおすすめです。
銀行取引明細(CSV)をkintoneに取り込み、本設定の入力アプリとなる入金データインポート用アプリを更新します。
本フローと併せて演習を行う設定する際は、文末のサンプルファイルは「一部入金用」をご利用ください。
本フローと同様に入金管理アプリを更新します。一部入金の初回入金時に実行するフローです。
本設定で作成した入金管理情報を使い、請求管理アプリへの消込作業を自動化します。
入力アプリ
入金データインポート用アプリ
・銀行などから取り込んだ入金データが登録されている
・サンプルデータでは、一部入金済みの請求の残額(追加入金)が入金管理アプリ未転送の状態で登録されている

請求管理アプリ
・請求先ごとの請求情報と入金ステータスが登録されている
・未入金または一部入金の請求データを対象に、請求額、請求残、請求番号などを取得する
・残額が入金された対象レコードは、入金ステータス「一部入金」で登録されている

出力アプリ
入金管理アプリ
・入金データと請求データを照合した結果が出力される
・入金額、対象請求番号、対象請求件数、対象請求額合計、差額、システム判定を確認できる
実行前:以前に処理した入金データのみ

実行後:今回登録した、一部入金の残額の入金データが反映されている

入金データインポート用アプリ
・「入金管理に転送」に「済」が入力されている

設定手順
1. 入金データを取得する
1. 入力アプリコマンドを追加し、アプリの選択で「入金データインポート用アプリ」を選択する
・検索条件に「入金管理に転送」が空のレコードを設定する

・フィールドの選択で「レコード番号」「入金管理に転送」「取引日」「取引先コード」「取引先名」「入金」を選択する

プレビュー

2. 請求データを取得する
1. 入力アプリコマンドを追加し、アプリの選択で「請求管理アプリ」を選択する
・検索条件に「入金ステータス」が未入金または一部入金のレコードを設定する

・フィールドの選択で「レコード番号」「請求日」「請求年月」「取引先コード」「取引先名」「請求番号」「今月請求額」「請求残」「入金日」「入金額」「入金ステータス」を選択する

プレビュー

3. 未入金の請求情報を取引先ごとにまとめる
1. グループ化コマンドを追加する
・グループ化する項目フィールドに「取引先コード」「取引先名」「入金ステータス」を選択する
・請求日・請求年月:最小値
・請求番号:文字列結合
・今月請求額:合計
・請求残:合計
・レコード番号:個数(保存先フィールド名:未入金件数)


ワンポイント
未入金の請求が複数ある場合は、取引先ごとに請求額を合計しておくことで、複数請求に対する一括入金も判定しやすくなります。
4. 入金データと請求データを結合する
1. アプリ結合コマンドを追加し、入金データとグループ化した請求データを線でつなぐ
・元になるアプリ:「入金データインポート用アプリ」
・結合するアプリ:「グループ化」
・結合方法:「左外部結合」
・条件フィールド:取引先コード = 取引先コード

5. 入金額と請求額の差額を計算する
1. データ編集コマンドを追加する
・結果を保存するフィールド:新しいフィールドを作成
・新しいフィールド名:差額
・編集方法:数式
・編集内容:IF(入金ステータス="一部入金",入金-請求残,入金-今月請求額)

プレビュー:入金額と請求残が同額のため、差額が0になっている

2. フィールドタイプ設定コマンドを追加する
・変更するフィールド:差額
・新しいフィールドタイプ:数値

ワンポイント
入金ステータスが「一部入金」の場合は、今月請求額ではなく請求残と入金額を比較します。これにより、一部入金後の残額に対して正しく差額を判定できます。
6. 入金区分を追加する
1. 定数の追加コマンドを追加する
・新しいフィールド名:入金区分
・フィールドタイプ:文字列(1行)
・設定値:口座振込

7. 未入金件数と差額から入金状態を判定する
1. フィルタコマンドを追加する
・対象フィールド:未入金件数
・条件:= (等しい)
・値:1

2. フィルタコマンドを追加する
・対象フィールド:差額
・条件:= (等しい)
・値:0

プレビュー:今回対象の入金1件が表示されている。入金は1件のみなのでこの後のフィルタに該当レコードはありません。

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

4. フィルタコマンドを追加する
・対象フィールド:差額
・条件:≦(以下)
・値:-1

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

6. フィルタコマンドを追加する
・対象フィールド:差額
・条件:≦(以下)
・値:-1

7. フィルタコマンドを追加する
・数式:OR(差額=-110,差額=-220,差額=-330,差額=-440,差額=-550,差額=-660,差額=-770,差額=-880)

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

9. フィルタコマンドを追加する
・数式:NOT(OR(差額=-110,差額=-220,差額=-330,差額=-440,差額=-550,差額=-660,差額=-770,差額=-880))

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

1. 「未入金件数が1件」のフィルターコマンドに新たにフィルターコマンドを追加する

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

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

ワンポイント
振込手数料として想定される差額をあらかじめ数式で指定しておくことで、少額の差額を手数料として自動判定できます。
8. 複数請求に対する入金を判定する
1. フィルタコマンドを追加する
・対象フィールド:未入金件数
・条件:≧
・値:2

2. フィルタコマンドを追加する
・差額 = 0

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

4. フィルタコマンドを追加する
・対象フィールド:差額
・条件:≠ (等しくない)
・値:0

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

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


10. 入金管理アプリへ出力する
1. 出力アプリコマンドを追加し、アプリの選択で「入金管理アプリ」を選択する
・出力方式に「更新」を選択する
・データ編集フローのフィールドで、アプリのフィールドと対になるデータ編集フローのフィールドを選択する
・入金日:取引日
・取引先コード:取引先コード
・取込元レコード番号:レコード番号
・入金区分:入金区分
・入金額:入金
・請求日:請求日
・対象請求番号:請求番号
・対象請求件数:未入金件数
・対象請求額合計:今月請求額
・差額(入金額-対象請求額):差額
・システム判定:システム判定
・更新キー:「入金日」「取引先コード」


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

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

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

ワンポイント
入金管理アプリへ転送した後に、取込元の入金データへ転送済みフラグを設定します。同じ入金データを重複して転送しないための重要な設定です。
12. 出力結果を確認する
「入金管理アプリ」に、入金データと請求データを照合した結果が出力されます。
システム判定を確認することで、入金済、一部入金、過入金、振込手数料、一括入金、要確認の入金状況を把握できます。
入力アプリ
入金データインポート用アプリ
・外部システムなどから取り込んだ入金データを登録するアプリ
・取引日、取引先コード、入金額などが登録されている

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

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

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

設定手順
入金データと請求データを取得する
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.フィルターコマンドに下記設定を行う
・対象フィールド:差額
・条件:≧
・値:0

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

プレビュー

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

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


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

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

プレビュー

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

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

プレビュー

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


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

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

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

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

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

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

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

ワンポイント
転送済みフラグを更新することで、同じデータの二重処理を防ぐことができます。
サンプルファイルのダウンロードはこちら
演習をお客様のkintone環境で試す

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