計上漏れも二重計上も原因は同じ。請求明細を目視でなく仕組みで守る

S
Shota Nakano

経理担当

経理担当のShotaです。年契約・月払いの取引を計上していると、毎月ほとんど同じ内容なのに、ある特定の明細だけがひっそり消えていたり、逆に同じ明細が二重に載っていたりする、という経験はないでしょうか。これは、自社が顧客へ発行する売上の請求でも、他社から受け取る仕入の請求でも、まったく同じように起こります。

私自身、月次の請求処理でこの「消える・重複する」に何度かヒヤッとさせられました。しかも厄介なのは、これを防ごうと毎月すべての行を目で追い始めると、今度はチェックそのものに膨大な時間を取られることです。この記事では、売上・仕入どちらの向きにも共通する話として、その事象がなぜ起きるのかを整理したうえで、目視の根性論ではなく仕組みで止めるために私がたどり着いた考え方を書きます。

先に流れをお伝えすると、この仕組みはまず手元のExcelだけで始められます。そのうえで、私たちが普段から業務に取り入れているAIを重ねると、さらに効率を上げられます。記事の後半では、その一歩にも触れます。

3行まとめ

  1. 1枚の請求書を明細ごとに複数の仕訳へ分けて計上していると、前月転記のたびに特定の明細が消えたり重複したりします
  2. 目視で全部チェックするのは、ミス防止のようでいて、実は膨大な時間を溶かす不安定な統制です
  3. 「一意キー」「差分」「見張り」の3点で構造に置き換えれば、チェック時間を減らしながらミスも減らせます

この記事は誰向けか(先に前提を書きます)

最初にはっきりさせておきます。この記事は、売上・仕入を問わず、1枚の請求書を明細(行)単位で複数の仕訳に分けて計上している経理の方に向けたものです。

なぜこの前提が必要かというと、「行が消える」という事象は、明細を分けて計上している場合にしか起きないからです。たとえば1枚の請求書の中に、収益認識のタイミングが違う明細や、計上先の区分が異なる明細が混在していると、請求書1枚をまるごと1本の仕訳にできず、明細ごとに仕訳を切ることになります。その「分ける」過程で、特定の明細が抜け落ちるわけです。

逆に、請求書1枚につき1本の仕訳で計上している方には、この問題はそもそも発生しません。明細が何行あっても仕訳は1本なので、行が消えても金額の合計は変わらないからです。もしあなたがそちらの運用なら、この記事はいったん閉じて大丈夫です。ここから先は「1枚を複数仕訳に分けている」方だけを想定して進めます。

なぜ「年契約・月払い」で行が消えるのか

まず、どういう請求書で起きやすいのかを具体的にイメージしてみます。実在の取引先や金額とは関係のない、一般化した例で説明します。

年契約で料金を月々やり取りする取引を思い浮かべてください。毎月の請求書の中身が、次のように複数行になっていることがあります。売上側でも仕入側でも、構造は同じです。

【毎月の請求書イメージ(売上でも仕入でも同じ)】
  行1: 基本利用料        … 本体
  行2: 従量分・追加分     … 子案件(オプションや増分)

自社が顧客へ発行する売上の請求なら、行2は「今月の従量課金分」や「追加したオプション分」にあたります。他社から受け取る仕入の請求なら、行2は「追加ユーザー分」や「スポットで発生した利用分」にあたります。いずれの向きでも、このうち「行2」のような脇役の明細が、毎月しれっと抜け落ちます。これが「消える」の正体です。

原因は、多くの経理が「先月の仕訳をコピーして、今月分に手直しする」というやり方で月次を回していることにあります。年契約・月払いは毎月ほぼ同じ請求なので、ゼロから入力し直すより前月を複製するほうが自然だからです。私も、これ自体は合理的なやり方だと思っています。

ところが、この「前月コピー」は次のような明細に弱いです。

  • 先月は本体だけで、追加分は途中の月から発生した
  • ある月だけ追加分がなく、翌月にまた復活した
  • 契約更新で行の並びや名称が微妙に変わった

こうした「たまにしか出てこない行」は、コピー元の土台にそもそも入っていません。土台にない明細は、当然コピーしても出てきません。目立つ本体行なら誰でも気づきますが、脇役の子案件は気づかれないまま計上漏れになります。

二重計上と計上漏れは、同じ根から生まれます

ここで見落としがちなのが、「消える(計上漏れ)」と「二重に載る(二重計上)」は、一見逆の事故に見えて、原因が同じだということです。

たとえば、前月コピーで抜けた追加分に後から気づき、別途手で足したとします。その後うっかり本体側の金額にも同じ追加分を含めてしまうと、今度は同じ金額が二回計上されます。これが二重計上です。

つまり、どちらの事故も根っこは一つです。「この行は先月と同じ行なのか、それとも別の行なのか」を、人間が毎回その場の記憶と注意力で判断していることです。

  • 判断をうっかり飛ばすと、子案件が消えます(計上漏れ)
  • 判断を二重にすると、同じ行が二回載ります(二重計上)

行の同一性を人の目に頼っている限り、疲れている月や繁忙期には、必ずどちらかが起きます。逆に言えば、この「行の同一性の判断」さえ人の手から外せれば、両方まとめて防げるということになります。

計上漏れも二重計上も、ともに「行の同一性を人が判断していること」という同じ原因から生まれる

目視チェックの限界。「毎月全部見る」はなぜしんどいのか

「だったら毎月、全部の行を突き合わせて確認すればいい」と思うかもしれません。実際、多くの現場がそうしています。そして、それが一番つらいところでもあります。

目視の全件チェックには、共通した弱点があります。

まず、件数が増えるほど時間がそのまま比例して増えます。契約が10件なら何とかなっても、数十件を超えると、チェックだけで半日仕事になりかねません。次に、人の集中力は一定ではありません。月初の忙しい時期や、決算前の重なった業務の中では、注意力は確実に落ちます。そして、目視は「見たつもり」を検知できません。飛ばした行があっても、本人はチェックしたつもりでいます。

つまり目視の全件チェックは、時間を大量に投入しているのに、肝心なときに穴が開く不安定な統制です。頑張るほど疲れ、疲れるほどミスが出ます。この構造そのものを変えないと、根性で乗り切る月と、たまたま抜ける月のギャップは埋まりません。

構造で潰す。チェックを「仕組み」に移す3つの打ち手

では、どうするか。私の結論は、「行が同じかどうかの判断」を人の目から仕組みへ移すことです。難しいシステムは要りません。次の3つの考え方で、かなりの部分を機械的に処理できます。

請求チェックを仕組みに移す3つの打ち手。①一意キーで名寄せ → ②前月と差分 → ③見張り

① 一意キー(共通の目印)で名寄せする

最初にやるべきは、明細行を一意に識別するキーを決めることです。ここで一つコツがあります。目的の違う2種類のキーを分けて考えると、話がすっきりします。

1つ目は、その明細が「毎月現れる同じ明細」だと分かるキーです。契約や案件を指す番号と、明細の種別(本体なのか、追加分なのか)を組み合わせます。たとえば「案件番号+明細種別」です。ここには対象月をあえて入れません。月を入れないからこそ、「先月の本体行」と「今月の本体行」が同じキーになり、機械的に「これは同じ明細の今月分だ」と突き合わせられます。これが名寄せです。「基本利用料」「従量分・追加分」といった名称は月によって書き方が揺れますが、名称ではなく番号と種別でキーを作れば、その揺れに惑わされずに済みます。

2つ目は、その1行が「いつの分なのか」まで特定するキーです。1つ目のキーに対象年月を足します。たとえば「案件番号+明細種別+対象年月」です。これは、同じ月の同じ明細をうっかり二回計上していないかを見るためのものです。このキーがまったく同じ行が2つ出てきたら、それは同一月を二重に計上したサインになります。

整理すると、月を含めないキーで「毎月の同じ明細」を縦につなぎ、月を含めるキーで「同じ月を二回載せていないか」を見る、と役割を分けるのがコツです。次の差分と見張りは、主に1つ目(月を含めないキー)を土台に動きます。

Excelでいえば、難しいことはありません。「&」でセルをつなぐだけです。たとえば契約番号がA列、明細種別がB列なら、=A2&"_"&B2 という式で「案件番号_明細種別」という目印の列を1本作ります。これが月を含めないキーです。ここに対象年月の列も足せば、月を含めるキーになります。「一意キー」も「名寄せ」も、言葉は堅いですが、要は「同じ行に同じ目印を貼って、あとで揃えられるようにする」作業だと思ってください。

② 前月と当月を機械的に差分する

名寄せ用のキー(月を含めないキー)が付けば、次は簡単です。先月の一覧と今月の一覧を、このキーで突き合わせるだけです。

すると、次の2種類が自動で浮かび上がります。

  • 先月あって今月ない行(消えた候補。計上漏れの疑い)
  • 今月だけ増えた行(新規か、二重計上の疑い)

毎月変わらない大多数の行はきれいに一致して静かになり、注目すべき差分だけが残ります。経理がエネルギーを注ぐべきは、この差分の判断だけです。全件を見る必要はなくなります。

Excelでいえば、VLOOKUP関数が使えます。今月の一覧に、①で作った目印をキーにして先月の一覧を探しにいく式を置くと、先月に無い目印は「#N/A」というエラーで返ってきます。この#N/Aが「今月だけ増えた行」の候補です。逆に、先月側から今月を探して#N/Aになる行が「消えた候補」です。関数が1つ分かれば、突き合わせは自動でできます。

③ 消えやすい行に「見張り」を立てる

差分は「先月と比べて変わったもの」を教えてくれますが、「毎月あるはずなのに、今月も先月も両方抜けている」ような常連の抜けには気づけません。そこで最後に、毎月出てくるはずの常連の子案件をマスタとして登録しておき、それが今月の一覧に無ければ警告するという見張りを立てます。

「この契約は毎月、本体と追加分の2行があるはず」と事前に宣言しておけば、片方が欠けた瞬間に警告を出せます。差分チェックが「変化」を捕まえるのに対し、この見張りは「あるべきものの不在」を捕まえます。両方あって、ようやく抜けと重複の穴がふさがります。

ここでいう「マスタ」も、大げさなものではありません。別のシートに「この契約は毎月この明細が必ずある」という一覧を1枚作っておくだけです。あとはCOUNTIF関数で、その明細が今月のデータに何件あるかを数え、0件だった行は条件付き書式でセルを赤く光らせます。これで「あるべき行の不在」に、目で探さなくても自動で気づけます。

それでも、最後は人が承認します

ここまで仕組みの話をしてきましたが、大事な線引きがあります。差分や見張りが見つけるのは、あくまで「疑い」までだということです。

「先月あって今月ない」が計上漏れなのか、それとも契約が終了して正しく消えたのかは、仕組みには判断できません。そこは契約の状況を知っている人が決めることです。仕組みの役割は、数十件の中から「見るべき数件」を絞り込んで人の前に差し出すことであって、計上するかどうかを決めることではありません。

私はこれを、「検知は仕組みに任せ、意思決定は人が持つ」という線引きだと考えています。全部を人が見るのでもなく、全部を自動に任せるのでもありません。人が判断すべき数件に集中できる状態を、仕組みで作るわけです。この「読み取りや検知は仕組みに任せ、最後の確定は人がする」という線引きについては、以前の記事(読み取りはAIに、確定は人に)でも詳しく書きました。あわせて読んでいただけると、線の引き方の意図が伝わると思います。

多数の明細を仕組みが絞り込み、最後に人が少数だけを判断する。検知は仕組み、意思決定は人

実務への示唆。明日からできる最初の一歩

実際、私自身も毎月それなりの時間を突合に溶かしていましたが、この考え方に寄せてからは、目で追うのは差分の数件だけになりました。とはいえ、いきなり差分の仕組みを作るのはハードルが高い、と感じるかもしれません。まず一歩目としておすすめしたいのは、自社が関わる請求(売上・仕入の両方)のうち「1枚を複数の仕訳に分けて計上している契約」を洗い出すことです。

これらが、行が消える・重複するリスクを抱えた契約です。数はそれほど多くないはずです。洗い出せたら、そのそれぞれについて「毎月あるはずの明細は何行か」を書き出してみてください。この一覧が、そのまま③の見張りマスタの原型になります。

そこから先は、次の4ステップで進めると迷いません。

  1. 対象契約を洗い出す(今日できる一歩)
  2. Excelで目印(キー)の列と、前月比較のシートを設計する
  3. 翌月、これまでの目視と新しい差分チェックを1〜2か月だけ並行させ、答え合わせをする
  4. ずれが出なくなったら、目視を差分チェックに置き換える

大事なのは、いきなり全部を仕組みに任せず、3の「並行運用」で仕組みを信用できるか確かめてから移行することです。ここを飛ばすと、仕組みが正しいのか不安なまま結局また全件を目で追うことになります。

高価なシステムやツールは要りません。これまで出てきた「&」「VLOOKUP」「COUNTIF」「条件付き書式」という、手元のExcelの機能だけで組めます。対象が数十件を超える規模であれば、最初の作り込みは半日ほど、そのあとは毎月の突合が数件の確認だけで済むようになります。かける手間の割に効果が大きい、投資対効果の高い改善テーマだと思います。

ここからAIで、もう一段効率を上げる

ここまでは、手元のExcelだけでできる仕組みを説明してきました。まずはこの形で十分に効果が出ます。そのうえで、私たちが普段から業務に取り入れているAIを重ねると、これまで人がやっていた「判断の一次処理」まで肩代わりさせられます。3つの打ち手が、それぞれもう一段軽くなります。

  • ① 名寄せ:番号でキーが作れれば十分ですが、番号が振られていない請求もあります。そうしたとき、AIは「基本利用料」と「月額基本料」のような表記の揺れを、意味を読んで同じ明細の候補として寄せてくれます。人がキーの対応表を手で育てる手間が減ります。
  • ② 差分:差分で浮かんだ行について、「これは契約更新で名称が変わっただけ」「これは新しく増えた追加分」といった一次的な仕分けと理由の下書きを、AIに任せられます。人は、その下書きが正しいかを確かめるところから始められます。
  • ③ 見張り:「毎月あるはずの明細」のパターン自体を、AIが過去の請求から学んで提案できます。さらに、なぜその行が怪しいのかを自然な文章で説明させれば、確認のとっかかりになります。

ただし、ここでも線引きは変わりません。AIがやるのは「疑い」を精度よく挙げるところまでで、計上を確定させるのは人です。まず仕組みで土台を作り、そのうえでAIを重ねます。この順番で進めると、無理なく効率を上げていけます。AIを経理業務にどう取り入れるかは、決算チェックの入力を工夫した話(決算チェックをAIに任せて分かった、入力の工夫)でも触れているので、興味があればあわせてどうぞ。

まとめ

請求書の二重計上と計上漏れは、担当者の不注意ではなく、「行の同一性を人の目に頼る」という運用の構造から生まれます。だからこそ、対策も根性ではなく構造で行うべきです。

一意キーで行に持続する目印を付け、前月との差分で変化を捕まえ、見張りで不在を捕まえる。この3点を仕組みに移せば、毎月の目視チェックに溶かしていた時間を減らしながら、むしろミスは減らせます。空いた時間は、本当に人が判断すべき数件に使えます。手元のExcelで土台を作り、慣れてきたらAIを重ねて、判断の一次処理まで軽くしていきます。この順番なら無理がありません。

まずは自社で「1枚を複数仕訳に分けている契約」を洗い出すところから、始めてみてください。

この記事をシェア