経理業務の中でも、毎月必ず発生し、多くの企業が手作業で行っている業務があります。
それが「入金消込」です。
Access VBAで入金消込チェック機能を実装することで、請求データと入金データの照合作業を大幅に効率化できます。
当HPの記事ではメール送信、QRコード出力、Excel加工、オートコンプリートなどの機能を紹介していますが、今回は営業部門・経理部門のどちらにも関係する実務性の高いテーマです。 [latest-inf…system.com], [latest-inf…system.com]
入金消込とは
簡単に説明すると、
請求データ
↓
入金データ
↓
照合
↓
消込
を行う業務です。
例えば次のような状況です。
| 顧客 | 請求額 | 入金額 |
|---|---|---|
| A商事 | 100,000 | 100,000 |
| B産業 | 200,000 | 150,000 |
| C工業 | 300,000 | 0 |
この場合、
- A商事 → 消込完了
- B産業 → 一部入金
- C工業 → 未入金
となります。
なぜ自動化が必要なのか
多くの企業では次の流れで作業しています。
請求一覧出力
↓
銀行入金一覧取得
↓
Excelで照合
↓
手作業で確認
↓
消込登録
件数が少ないうちは問題ありません。
しかし、
- 顧客数増加
- 入金件数増加
- 複数担当者運用
になると次の問題が発生します。
- 見落とし
- 消込漏れ
- 消込ミス
- 回収遅延
そこでAccess VBAによる自動判定が有効になります。
テーブル例
T_SEIKYU
請求テーブル
| 項目 | 内容 |
|---|---|
| 請求ID | 請求番号 |
| 顧客コード | 顧客 |
| 請求額 | 請求金額 |
| 請求日 | 請求日 |
| 消込区分 | 状態 |
T_NYUKIN
入金テーブル
| 項目 | 内容 |
|---|---|
| 入金ID | 管理番号 |
| 顧客コード | 顧客 |
| 入金額 | 入金額 |
| 入金日 | 入金日 |
逆引き① 未入金データを取得したい
最もよく使う抽出です。
SELECT *
FROM T_SEIKYU
WHERE 消込区分='未'
未回収一覧を取得できます。
逆引き② 顧客別入金合計を取得したい
SELECT
顧客コード,
Sum(入金額) AS 入金合計
FROM T_NYUKIN
GROUP BY 顧客コード
顧客別の回収実績を集計できます。
逆引き③ 入金一致データを抽出したい
SELECT S.顧客コード, S.請求額, N.入金額
FROM T_SEIKYU AS S
INNER JOIN T_NYUKIN AS N ON S.顧客コード=N.顧客コード
WHERE S.請求額=N.入金額
消込候補を抽出できます。
逆引き④ 消込済みに更新したい
CurrentDb.Execute _
"UPDATE T_SEIKYU " & _
"SET 消込区分='済' " & _
"WHERE 請求ID=100"
照合後に更新できます。
逆引き⑤ 未入金件数を取得したい
管理職向けによく利用します。
Dim lngCount As Long
lngCount = DCount( _
"*", _
"T_SEIKYU", _
"消込区分='未'")
件数管理ができます。
逆引き⑥ 回収率を計算したい
Dim curRate As Double
curRate = _
DSum("入金額","T_NYUKIN") _
/
DSum("請求額","T_SEIKYU")
回収率分析に利用できます。
逆引き⑦ 一部入金を抽出したい
実務で非常に重要です。
SELECT 顧客コード, 請求額, 入金額
FROM Q_消込比較
WHERE 入金額 < 請求額
督促対象を確認できます。
実践例① 月次請求業務
請求書発行
↓
入金確認
↓
消込処理
↓
未回収確認
定番の活用方法です。
実践例② 営業会議資料
営業担当別に集計します。
担当者別
請求額
回収額
回収率
債権管理に活用できます。
実践例③ 経営指標管理
経営層向け資料です。
請求残高
未回収額
回収率
資金管理に役立ちます。
Excel出力で経理資料を作成する
入金管理一覧をExcel出力します。
DoCmd.TransferSpreadsheet _
acExport, _
acSpreadsheetTypeExcel12Xml, _
"Q_入金管理", _
"C:\Report\入金管理.xlsx", _
True
経理部門との連携が容易になります。 [latest-inf…system.com], [latest-inf…system.com]
Outlook通知と連携する
未入金がある場合は通知も可能です。
objMail.Subject = _
"未回収一覧のお知らせ"
objMail.Send
月末の確認漏れ防止につながります。 [latest-inf…system.com]
ログ管理も実装する
T_NYUKIN_LOG
| 項目 | 内容 |
|---|---|
| 実行日時 | 処理日時 |
| 件数 | 処理件数 |
| 結果 | 成功・失敗 |
| 担当者 | 実行者 |
履歴を残しておくと安心です。
Copilot活用術① 消込SQL作成
Copilotへ依頼します。
Access SQLです。
請求テーブルと
入金テーブルを比較し、
未入金のみ
抽出してください。
SQL作成時間を短縮できます。 [latest-inf…system.com], [latest-inf…system.com]
Copilot活用術② VBA自動更新作成
Access VBAです。
入金額と請求額が
一致した場合、
消込済へ更新する
コードを作成してください。
基本コードを生成できます。
Copilot活用術③ レビュー依頼
以下のVBAコードを
レビューしてください。
性能
保守性
エラー処理
を重視してください。
品質向上につながります。 [latest-inf…system.com]
導入時のポイント
顧客コードを統一する
一致判定精度が向上します。
部分入金を考慮する
現実運用では必須です。
ログを残す
監査対応にも活用できます。
Excel出力を残す
利用者に喜ばれます。
メール通知を検討する
確認漏れ防止につながります。
AI時代でも価値の高い経理業務改善
Copilotによってコード生成は容易になりました。
しかし本当に価値があるのは、
- 毎月発生する業務
- ミスが許されない業務
- 確認に時間がかかる業務
を自動化することです。
入金消込はまさにその代表例です。
請求データと入金データの照合作業を自動化することで、経理担当者は確認作業ではなく分析や改善活動へ時間を使えるようになります。
まとめ
Access VBAによる入金消込チェック機能を導入することで、
- 消込時間短縮
- 入金漏れ防止
- 未回収管理強化
- 回収率向上
- 経理業務効率化
を実現できます。
特に営業部門と経理部門の連携が必要な企業では導入効果が非常に高くなります。
さらにCopilotを活用することで、
- SQL作成
- VBA作成
- コードレビュー
- 運用改善
も効率化できます。
日々の地道な照合作業を自動化することが、最も費用対効果の高い業務改善の一つと言えるでしょう。


コメント