NetSuiteを導入してしばらくすると、どこかのタイミングで必ず出てくる話題があります。
「入金消込、この運用で本当に大丈夫?」
実際に運用してみると、だいたい次のような問題にぶつかります。
-
全銀データと顧客名が一致しない
-
一括入金の配分ミス
-
誤消込しても気づきにくい
-
差額理由が後から分からない
-
そもそも入金と消込を同時にやるのがつらい
そしてもう一つ、実務ではかなり大きい問題があります。
「この入金、そもそも売掛金の回収なの?」
という問題です。
ですよね?
この記事では、実際の運用でぶつかった問題と、それに対してどう設計を変えたかを書いてみます。
NetSuiteの入金消込の基本構造
まず前提として、NetSuiteの入金処理は基本こういう流れです。
入金登録
↓
請求書選択
↓
消込
つまり、
入金と消込がほぼ同時処理
になる設計です。
ここで一つ気づくことがあります。
入金登録のとき、請求書を選ばないこともできます。
ただしこの場合でも、相手勘定は基本的に
売掛金
になります。
つまり何が起きるかというと、
入金した瞬間に売掛金が減ります。
ここ、少し違和感ありませんか?
その入金、本当に売掛金ですか?
実務では、銀行入金があった時点では
まだその性質が確定していないことが普通にあります。
例えばこんなケースです。
-
前受金
-
まだ請求書を発行していない入金
-
請求書と金額が一致しない入金
-
複数請求のまとめ入金
つまり、
「売掛金の回収」ではない可能性
があります。
しかしNetSuite標準の処理では、
入金した瞬間に売掛金が減る
ので、会計的に違和感が出ることがあります。
このため、
-
入金と消込を分離したい
-
入金の性質を後から判断したい
という要望はかなり多いです。
実際に起きた消込事故
実際に運用してみると、だいたい次のような事故が起きます。
① 誤消込しても気づかない
例えばこんなケースです。
A社の入金
↓
B社の請求書に消込
担当者が請求書を選択すると、そのまま確定します。
レビューなしだと普通に起きます。
ですよね?
やってみた対策
消込をそのまま確定させず、
消込作業
↓
承認
↓
確定
というフローにしました。
これだけでも事故はかなり減ります。
② 差額理由が分からなくなる
入金消込では差額が頻繁に発生します。
例えば
-
振込手数料
-
値引き
-
端数調整
-
請求ミス
ただ、理由を残さないと後でこうなります。
「この差額なんだっけ?」
これもよくありますよね?
やってみた対策
差額理由をマスタ化しました。
例えば
| コード | 理由 |
|---|---|
| DISC | 値引き |
| FEE | 振込手数料 |
| ADJ | 調整 |
差額が出た場合は、理由入力を必須にしました。
これだけで後の調査がかなり楽になります。
③ 全銀データで自動消込できない
銀行データと顧客名は、だいたい一致しません。
例えば銀行データ
ABCショウジ
顧客マスタ
株式会社ABC商事
当然一致しません。
NetSuite標準の一致判定だと厳しいです。
やってみた対策
文字列の類似度を計算するようにしました。
イメージとしてはこんな処理です。
銀行名
↓
顧客名と類似度計算
↓
一定以上なら候補提示
例えば
一致度 0.82
みたいに計算して、
もしかしてこの顧客では?
という形で候補を出します。
完全自動にすると危ないので、
人間の判断を補助する設計
にしています。
これ、かなり効きます。
④ 一括入金の配分ミス
これもよくあります。
入金 500,000
請求
100,000
200,000
200,000
手作業で配分すると、たまにミスります。
ですよね?
やってみた対策
自動配分ロジックを入れました。
優先順位はこんな感じです。
-
請求期日
-
金額一致
-
古い請求
単純ですが、かなり事故は減ります。
⑤ 入金と消込を分けたい問題
これが一番大きな問題でした。
NetSuiteでは
入金=売掛金回収
という前提になっています。
しかし実務ではこうなります。
銀行入金確認
↓
入金内容調査
↓
売掛金なのか判断
↓
消込
つまり、
入金の時点ではまだ会計処理が確定していない
ことがあります。
やってみた設計
そこで、入金処理をいきなり元帳に反映させないようにしました。
銀行データ取込
↓
消込作業(仮)
↓
承認
↓
元帳転記
仮消込
消込作業は
カスタムレコード
で行います。
例えば
| 項目 | 値 |
|---|---|
| 入金額 | 500000 |
| 請求書 | INV001 |
| 消込額 | 200000 |
この段階では
まだ総勘定元帳に影響しません。
元帳に反映するタイミング
次の条件を満たした時だけ、
入金額 = 消込合計
Customer Payment を作成します。
これにより
-
売掛金回収なのか
-
前受金なのか
-
請求との関係
を判断した上で会計処理できます。
改善後の業務フロー
Before
入金
↓
売掛金減少
↓
消込
After
銀行データ取込
↓
入金内容確認
↓
消込作業
↓
承認
↓
元帳転記
まとめ
NetSuiteの入金消込は標準機能でも動きます。
ただ実務では、
-
入金=売掛金とは限らない
-
消込は判断業務
-
マッチングは完全一致しない
という前提があります。
そのため、
-
マッチング補助
-
承認フロー
-
仮消込設計
この3つを入れるとかなり運用が安定しました。
ERPって結局、
機能より業務設計
なんですよね。