売上は計上した。請求書も送った。でも、お金は入っていない。売掛金は「入金されて初めて売上が完結する」という当たり前が、忙しい現場では簡単に抜け落ちます。しかも厄介なのは、未入金があること自体に気づけないという点です。気づいたときには数ヶ月前の1件が積み上がり、回収のハードルは時間とともに上がっていきます。
この記事では、売掛金の滞留を自動で見つける「年齢調べ表(エイジングリスト)」をExcelで作る方法を、データの持ち方から督促リストの自動生成まで通しで解説します。あわせて、実務で必ずつまずく入金消込の差額処理、2026年1月に施行された取適法(旧・下請法)の支払期日ルール、回収できないと判断したときの税務上の取扱いまで扱います。
数式はすべて Excel 2016 以降で動くもの(SUMIFS・INDEX+MATCH・EOMONTH・RANK・COUNTIF)だけを使います。XLOOKUP・FILTER・MAXIFS は使いません。古いExcelの職場でもそのまま動きます。
「未入金がある」ことに気づけない3つの原因
回収管理がうまくいかない会社を見ていくと、原因はだいたい次の3つに収れんします。順番に潰していけば、特別なソフトを入れなくても未入金は見えるようになります。
原因1:売掛金を「残高」で持っている
得意先ごとの残高だけを見ていると、新しい入金が古い未収を覆い隠します。たとえば毎月30万円を請求している得意先から今月30万円が入金されると、残高は30万円のまま動きません。実際には3ヶ月前の1件がずっと未回収で、直近の分が先に払われているだけ、ということが起こります。残高がきれいに見えているので、誰も異常に気づきません。
解決策は単純で、1行=1枚の請求書という単位でデータを持つことです。これが年齢調べ表の前提になります。
原因2:消込の差額を放置している
請求額100,000円に対して入金が99,780円。差額の220円は振込手数料です。この220円を「まあいいか」と放置すると、その請求は永久に未回収のまま台帳に残り続けます。数ヶ月で数十件たまると、年齢調べ表は「少額の未収だらけ」になって誰も見なくなります。差額の放置が消込精度を殺す最大の敵です。処理のルールは後述します。
原因3:督促の順番が決まっていない
未入金が10件あるとき、どれから当たるかが決まっていないと、結局「言いやすい相手」から連絡することになります。本当に危ないのは、金額が大きくて経過日数が長い1件です。年齢調べ表を作る目的は、表を眺めることではなく今日かける電話の順番を決めることにあります。
年齢調べ表(エイジングリスト)とは
年齢調べ表は、売掛金の残高を「支払期日からの経過日数」で区分した表です。担当者の記憶や「たぶん大丈夫」に頼らず、経過日数という客観的な物差しで機械的に層別するところに意味があります。
| 区分 | 状態 | アクションの目安 |
|---|---|---|
| 期限内(期日前) | 正常 | — |
| 1〜30日超過 | 要注意 | 入金確認の連絡(事務的に・定型文で) |
| 31〜60日超過 | 滞留 | 書面での督促+新規受注の与信見直し |
| 61〜90日超過 | 危険 | 取引条件の変更・出荷停止の検討 |
| 91日超 | 回収困難のおそれ | 内容証明・法的手段・貸倒れの検討 |
区分の刻み方に決まりはありません。30日刻みが一般的ですが、月末締め翌月末払いの取引が中心なら「1サイクル遅れ=約30日」と対応するので使いやすい、という理由です。日次で回収する業態なら7日刻みでも構いません。
注意:この区分は入金の遅れを見張るための管理上の区分であって、税務上の貸倒れの判定基準とは関係ありません。「91日超だから貸倒処理できる」ということにはなりません。税務上の取扱いは記事の後半で整理します。
Excelでの作り方(5ステップ)
ステップ1:データは1行1請求で持つ
1枚のシートに、1行=1枚の請求書で並べます。最低限そろえる列は次のとおりです。
| 列 | 内容 | 入力/自動 |
|---|---|---|
| 請求番号 | 連番。請求書に印刷した番号と一致させる | 自動 |
| 請求日 | 締め日。計上日と一致させておくと決算が楽 | 入力 |
| 得意先コード | マスタから名前・支払サイトを引くためのキー | 入力 |
| 件名 | 督促のときに「何の分か」を言えるようにする | 入力 |
| 支払期日 | 得意先マスタの支払サイトから計算 | 自動 |
| 請求額 | 消費税込み・源泉徴収があれば差引後の振込額 | 自動 |
| 入金日/入金額 | 消込。1件ずつ埋めていく | 入力 |
| 売掛残/経過日数/区分 | 年齢調べの計算列 | 自動 |
得意先名を直接打たず得意先コードで引くのがコツです。名前を手打ちしていると「(株)」と「株式会社」が混ざって、得意先別の集計が割れます。
ステップ2:支払期日を自動で出す
支払期日は手入力にせず、得意先マスタに「何ヶ月後」と「支払日(31=月末)」の2列を持たせて計算します。月末締め翌々月25日払いのような取引先も1行で表せます。
支払期日
=MIN( DATE( YEAR(EOMONTH(請求日,n-1)+1), MONTH(EOMONTH(請求日,n-1)+1), d ),
EOMONTH(請求日, n) )
n = 何ヶ月後(1=翌月、2=翌々月)
d = 支払日(31 と入れれば月末になる)
外側の MIN と EOMONTH は、31を指定したときに「2月31日」という存在しない日付が出ないようにするためのものです。DATE 関数は 2026/2/31 を 2026/3/3 に繰り上げてしまうので、月末で頭打ちにします。
なお、2026年1月1日に、下請法が「取適法(中小受託取引適正化法)」として施行されています。正式名称は「製造委託等に係る中小受託事業者に対する代金の支払の遅延等の防止に関する法律」です。旧法から名称と用語が変わり(親事業者→委託事業者、下請事業者→中小受託事業者)、支払期日については給付を受領した日から起算して60日以内のできる限り短い期間内で定めることが義務づけられています。あわせて手形払いが禁止され、支払が遅れた場合の遅延利息は年14.6%です。規制の対象も、従来の資本金基準に加えて従業員基準(300人・100人)が追加されました。
自社が受託側に当たるなら、支払サイトの列に「60日を超えていないか」という視点が1つ増えます。マスタを作るときに、支払サイトが極端に長い取引先には印を付けておくと、あとで交渉材料になります。
ステップ3:売掛残・経過日数・区分を自動計算
売掛残 =請求額-IF(入金額="",0,入金額)
経過日数 =IF(売掛残<=0,"",TODAY()-支払期日)
区分 =IF(経過日数="","",
IF(経過日数<=0,"期限内",
IF(経過日数<=30,"1〜30日",
IF(経過日数<=60,"31〜60日",
IF(経過日数<=90,"61〜90日","91日超")))))
ここで踏みやすい罠が2つあります。
- 空欄と数値を直接引き算しない。 入金額が未入力(空セル)のまま
請求額-入金額と書くと、Excelでは空セルは0として扱われるので一見動きますが、途中に文字列が混ざった瞬間に#VALUE!になります。IF(入金額="",0,入金額)で包むかSUMを使うのが安全です。 - 経過日数は「入金済みなら空」にする。 入金が終わった行まで経過日数を計算すると、年齢調べの件数が合わなくなります。上の式のように
売掛残<=0で先に弾きます。
IFS 関数を使うともう少し短く書けますが、IFS は Excel 2019 以降です。2016 を含む環境で配るなら、上のように IF の入れ子にしておきます。
ステップ4:得意先×区分のマトリクスに集計
=SUMIFS(売掛残範囲, 得意先範囲, $A3, 区分範囲, B$1)
行に得意先、列に区分を並べれば、得意先別の年齢調べ表になります。ピボットテーブルでも同じ表が作れますが、数式で組んでおくと更新ボタンを押し忘れても常に最新になります。人に配るファイルなら数式のほうが事故が少ないです。
仕上げに条件付き書式で「31日超の列に金額がある行」を塗ります。ルールは =$D3>0 のような数式ルールにして、適用範囲を行全体にすると行ごと色が付きます。開いた瞬間に危ない得意先だけが目に飛び込む表になります。
ステップ5:督促リストを自動で並べる
ここまでで「どの得意先が危ないか」は分かります。最後の仕上げは、電話をかける順番に並んだリストを自動で作ることです。並べ替えボタンを毎月押す運用は続きません。
SORT や FILTER は Microsoft 365 専用なので、Excel 2016 で動かすなら順位を作って引き抜きます。まず作業列に、滞留している行だけの順位を作ります。
順位(作業列・印刷範囲の外に置く)
=IF(経過日数="","",
IF(経過日数<=0,"",
RANK(経過日数, 経過日数の全範囲) + COUNTIF(経過日数の先頭:自セル, 経過日数) - 1))
RANK だけだと同じ経過日数の行が同順位になり、次の MATCH が片方しか拾えません。COUNTIF で「自分より上に同じ値がいくつあるか」を足して一意な順位にするのが定石です。期限内の行は経過日数がマイナスなので、滞留行より必ず下の順位になります。結果として1位から順に、滞留している行だけが経過日数の多い順に並びます。
あとは督促リスト側で、1位・2位……の行番号を MATCH で特定し、INDEX で各項目を引きます。
行番号(1列だけ作って使い回す)
=IFERROR(MATCH(ROW()-見出し行, 順位範囲, 0), "")
各項目
=IF($K6="","",INDEX(得意先名範囲, $K6))
=IF($K6="","",INDEX(経過日数範囲, $K6))
=IF($K6="","",INDEX(売掛残範囲, $K6))
行番号を1つのセルに出して全項目で使い回すのがポイントです。項目ごとに MATCH を書くと、20行×7項目で140回の検索が走って重くなります。
なお、督促の優先順位を「経過日数だけ」で決めるか「金額×経過日数」で決めるかは業態によります。少額多数の業態なら、順位のキーを 経過日数*売掛残 にしてもよいでしょう。ただし、少額でも長期化しているものは信用の問題として別枠で見るほうが結局は早く片付きます。
入金消込でつまずく3つのパターン
パターン1:振込手数料で金額が合わない
いちばん多いのがこれです。契約上どちらが負担するのかを先に決めておくのが本筋ですが、実務では「請求書に手数料は貴社にてご負担ください」と書いていても、差し引かれて入金されることがあります。
自社が差額を負担する(=売上値引きとして処理する)場合、インボイス制度では原則として返還インボイス(適格返還請求書)の交付が必要になります。ただし、税込1万円未満の値引き等については返還インボイスの交付義務が免除されます。振込手数料相当額は通常1万円未満なので、この免除に収まります。この免除に適用期限や事業者の規模要件はなく、恒久的な措置です。
一方、差額を支払手数料(課税仕入れ)として処理する場合は、金融機関が発行するインボイスが必要になります。自社が振り込んだわけではないのにその手数料のインボイスは手に入りませんから、実務上は売上値引き処理にそろえるほうが素直です。
台帳の運用としては、次のどちらかに決めておきます。
- 先方負担で押し切る場合:差額を売掛残に残したまま、備考に「手数料差引分・次回請求に合算」と書く。金額が小さくても消さない。
- 自社負担にする場合:値引きの列を1本足して差額を入れ、売掛残を0にする。入金額に差額を足し込んで帳尻を合わせるのはやめます。あとから「いくら値引いたか」が分からなくなります。
パターン2:複数の請求がまとめて入金される
月末に3枚分がまとめて振り込まれるケースです。1行1請求で持っている以上、入金は請求ごとに割り振るしかありません。合計額が一致すれば古い請求から順に充当するのが原則です(民法上も、弁済の充当は当事者の指定が優先し、指定がなければ弁済期が先に来たものから充当されます)。
ここで「まとめ入金だから1行にしてしまおう」と考えると、原因1の残高管理に逆戻りします。手間でも、請求ごとに分けて入れてください。
パターン3:一部だけ入金される
資金繰りが苦しい取引先が「今月は半分だけ」と払ってくるケースです。状態は「一部入金」として、残額の経過日数は元の支払期日から数え続けます。ここで期日をリセットしてしまうと、いつまでも滞留に出てこなくなります。一部入金は、支払能力の悪化を示す最も早いサインの1つです。件数が増えてきたら与信の見直しどきです(関連記事:与信管理の基本と取引先信用チェックリスト)。
督促の運用ルール:月初5分+エスカレーション
- 月初に入金消込を完了させる。年齢調べ表と督促リストは数式なので自動で更新されます。
- 「1〜30日」区分は経理から事務的に連絡します。感情を挟まず、定型文で「行き違いでしたら失礼いたします」の一言を添えるのが実務のコツです。
- 「31日超」は営業担当・経営者にエスカレーションします。取引を続けるかどうかの判断が入るためで、経理が抱え込むべき領域ではありません。
- 四半期ごとに滞留額の推移を確認します。増加傾向なら与信ルールと支払サイトを見直します。
督促の文面で効くのは、感情ではなく事実です。「請求番号2026-014(8月31日付・330,000円)のお支払期日が9月30日でしたが、本日時点で確認できておりません」と、番号・日付・金額を具体的に出すだけで反応が変わります。請求台帳を持っていれば、この3つはすぐ出てきます。
自社が取適法の保護対象(中小受託事業者)に当たる取引であれば、支払遅延は法律上の問題でもあります。年14.6%の遅延利息を請求できる立場にあると知っているだけでも、交渉の姿勢は変わります。公正取引委員会・中小企業庁には相談窓口があります。
回収できないと判断したときの税務
年齢調べ表の「91日超」は管理上の警告であって、税務上の貸倒れとは別の話です。ここを混同すると、損金にできないものを損金にしてしまいます。
消滅時効は原則5年
債権は、権利を行使できることを知った時から5年、権利を行使できる時から10年で時効消滅します(民法166条1項)。2020年4月1日施行の改正民法により、それまでの「商事債権2年」などの短期消滅時効は廃止され、原則5年に統一されました。改正前に生じた債権には旧法が適用されるため、古い債権を扱うときは発生時期の確認が要ります。
時効が完成しそうなときは、催告(6ヶ月の完成猶予)、債務承認(時効の更新)、訴訟提起などで止められます。相手から一部でも入金があれば債務の承認に当たり、そこから時効が振り出しに戻ります。
貸倒損失の3類型
| 通達 | 類型 | 要件の骨子 |
|---|---|---|
| 法基通9-6-1 | 法律上の貸倒れ | 更生計画・再生計画の認可決定などにより切り捨てられた金額。損金経理は不要(切り捨てられた事業年度に当然に損金) |
| 法基通9-6-2 | 事実上の貸倒れ | 債務者の資産状況・支払能力等からみて全額が回収できないことが明らかになった場合に、その事業年度で損金経理。担保物があるときは処分後でなければ計上できない |
| 法基通9-6-3 | 形式上の貸倒れ | 売掛債権に限る。①継続的な取引を行っていた債務者との取引停止から1年以上経過した場合、②同一地域の売掛債権の総額が取立費用に満たない場合に督促しても弁済がないとき。いずれも備忘価額を控除した残額を損金経理(担保物がある場合を除く) |
実務で使われることが多いのは9-6-3ですが、勘違いしやすい点が3つあります。
- 対象は売掛債権だけ。 貸付金は9-6-3では落とせません。
- 「1年」は支払期日から1年ではありません。 継続的な取引を行っていた債務者について、その資産状況・支払能力等が悪化したために取引を停止した時などを起点に1年以上の経過が必要です。単発の取引で1回きり売って回収できなかった、というケースは「継続的な取引」に当たらないため使えません。
- 全額は落とせません。 備忘価額(実務上は1円)を残す必要があります。ここを0円にして全額落とすと否認の対象になります。
回収不能が見込まれる段階では、貸倒引当金の繰入も検討対象になります(関連記事:貸倒引当金の繰入限度額をExcelで計算する方法)。滞留が資金繰りに与える影響を数字で見るなら、キャッシュ・フロー計算書の売上債権の増減もあわせて確認してください(関連記事:キャッシュフロー計算書をExcelで作成する方法)。
よくある質問
年齢調べ表は何日刻みで作るのが正解ですか?
決まりはありません。月末締め翌月末払いが中心なら30日刻み(1サイクル=1区分)が対応しやすく、一般的です。重要なのは刻み幅ではなく、区分ごとに誰が何をするかを決めておくことです。区分だけ作ってアクションを決めていない表は、数ヶ月で見られなくなります。
会計ソフトの補助元帳では代わりになりませんか?
得意先別の補助元帳は残高は出ますが、請求単位の支払期日を持っていないことが多く、経過日数で層別できません。「どの請求が何日遅れているか」を出すには、支払期日を持った請求台帳が別に必要です。逆に言えば、この台帳さえあれば会計ソフトを変える必要はありません。
振込手数料の差額は毎回消込したほうがいいですか?
先方負担で合意しているなら残す、自社負担と決めたなら値引き列で落とす、のどちらかに統一してください。月次でまとめて処理する運用も可能ですが、「あとで考える」だけは避けます。判断を先送りした差額は、翌月も同じ判断待ちのまま残ります。
督促のメールはいつ送るべきですか?
期日の翌営業日です。遅くなるほど言い出しにくくなり、こちらの心理的コストが上がります。期日翌日であれば「行き違いでしたら失礼いたします」という事務連絡の体裁で送れるので、関係を損ねません。月1回まとめて確認する運用だと、最悪30日遅れてから連絡することになります。
個人事業主でも年齢調べ表は必要ですか?
取引先が5社を超えたあたりから、記憶で管理するのは危険になります。特に、源泉徴収される報酬を受け取っている場合は請求額と入金額がそもそも一致しないため、「金額が違う=未入金かもしれない」という検知が効きません。請求台帳で差引後の振込額まで持っておくと、通帳の金額とそのまま突き合わせられます。
作る手間をかけたくない方へ
この記事のとおりに組めば年齢調べ表は自分でも作れます。ただ、請求書の発行から入金の消込・督促リストの自動生成までをつなげようとすると、シート間の参照と入力チェックの設計で半日は消えます。そこまで作り込んだものを小規模事業者向け 請求管理台帳(Excel)として用意しました。
| この記事の作り方 | 請求管理台帳(Excel) | |
|---|---|---|
| 年齢調べ | 自分で数式を組む | 5区分の件数・金額・構成比が自動 |
| 督促の優先順位 | 手で並べ替える | 経過日数の多い順に上位20件が自動で並ぶ |
| 請求書の発行 | — | インボイス対応のA4縦1枚をPDFで発行 |
| 軽減税率8% | — | 行ごとに税率を分け、税率ごとの小計と消費税額を印刷 |
| 入金の消込 | — | 入金日・入金額を入れると売掛残と状態が自動更新 |
| 源泉徴収 | — | 設定でON/OFF。確定申告用の年間集計つき |
開いた瞬間に「期限超過の請求が◯件・◯円あります(最長◯日)」と1文で出るところまで作ってあります。マクロなし・Excel 2016以降で動作します。
請求書そのものの作り方・記載要件については、インボイス対応請求書のExcelテンプレート設計で詳しく解説しています。支払う側の管理表は支払管理表をExcelで作る方法、資金繰りが厳しい局面の管理は日繰り資金繰り表をExcelで作る方法をご覧ください。
まとめ
- 売掛金は残高ではなく請求単位で管理する。新しい入金が古い未収を隠すため
- 支払期日はマスタの支払サイトから自動計算する。手入力の期日は必ずずれる
- 経過日数で機械的に層別する年齢調べ表が、記憶と感覚に頼らない回収管理の土台
- 督促リストは
RANK+COUNTIFで一意な順位を作りINDEX+MATCHで引けば、Excel 2016でも自動で並ぶ - 消込の差額は放置せず、先方負担で残すか値引きで落とすかを決める。税込1万円未満の値引きは返還インボイスの交付義務が免除される
- 2026年1月施行の取適法では、支払期日は受領日から60日以内。遅延利息は年14.6%
- 年齢調べの「91日超」は管理上の区分であり、税務上の貸倒れとは別。9-6-3は売掛債権限定・備忘価額を残す
※ 本記事の内容は2026年9月時点の情報に基づく一般的な解説です。個別の取引の処理・判断については、顧問税理士等の専門家にご確認ください。
