この記事で分かること
- 期ズレ・重複計上・科目誤り・不自然な金額・摘要不備の5類型を12の判定ルールに落とし込んだルール表(観点/条件/閾値/正当な理由/確認方法)
- 実在のDB製品に依存しない抽出条件の擬似SQLと、仕訳明細20行の設例に当てた実際のヒット結果(誤検出5行を含む)
- 金額・日付は機械的条件で決定的に抽出し、摘要の言語判定だけをAIに任せてサンプリングで人が確認するという工程分担
- 仕訳データをそのままAIに投入しないためのマスキング/集計値のみ/社内承認済み環境の使い分けと、社内レビューと監査手続の線引き
結論:仕訳レビューは「AIに全件を読ませる」のではなく、機械的条件で絞ってから摘要だけをAIに読ませる
仕訳の点検を効率化したいという相談で、最初に出てくる案はたいてい「全仕訳をAIに読ませて異常を挙げてもらう」です。これは実務ではうまくいきません。理由は3つあります。第一に、仕訳データは取引先名・単価・人件費を含む機密性の高いデータで、外部サービスへそのまま投入できる会社はほとんどありません。第二に、計上日と金額と取引先の組合せから決まる異常(期ズレ・重複・限度額直下)は、AIの言語理解を使わなくても決定的な条件で漏れなく抽出できます。AIに任せると、同じ条件でも実行のたびに結果が揺れます。第三に、AIが得意なのは摘要という自然文の判定であって、そこにこそ機械的条件では書けない論点が残ります。
したがって実務的な設計はこうなります。①機械的条件で候補行を絞る → ②絞った行の摘要だけをAIに分類させる → ③人が証憑にあたって事実を確かめる → ④判定と根拠を記録する。この記事では、この工程を仮設企業の仕訳明細20行で最後まで通し、抽出条件(擬似SQL)と判定ルール表、そして誤検出がどれだけ出るかまで示します。
先に重要な前提を1つ置きます。本記事が扱うのは社内の自主的なレビューであり、監査手続でも、その代替でもありません。監査人が実施する仕訳テストは、監査計画・リスク評価・証拠の十分性という枠組みの中で監査人自身が設計・実施するものです。社内で同じような条件抽出を回していても、それによって監査手続が省略されるわけではありません。この線引きは記事の後半で改めて整理します。
仕訳レビューの工程:どこまでが機械で、どこからがAIで、どこからが人か
工程は5つに分かれます。工程ごとに担当(機械/AI/人)が変わり、この分担を曖昧にしたまま回すと「AIが異常と言ったから修正した」という、根拠を説明できない是正が発生します。
この分担で重要なのは、AIが入るのが5工程のうち1工程だけという点です。②で候補行が20行から5行に絞られていれば、AIに渡すテキストも5行分の摘要だけで済みます。これは効率の話であると同時に、機密情報の露出を減らす設計でもあります。
設例:多摩川マテリアル株式会社の仕訳明細20行
仮設の製造業「多摩川マテリアル株式会社」(3月決算・当期は2026年3月期)を使います。対象期間は2026年3月1日〜2026年4月5日としました。期末月だけでなく翌期首の数日を含めるのは、当期の取引が翌期に計上されている期ズレは、当期の仕訳データだけでは絶対に見つからないからです。単位はすべて円で統一します。
社内規程の前提として、1伝票あたり500,000円未満は課長承認、500,000円以上は部長承認とします。月次の締めは翌月第3営業日(2026年3月度は2026年4月3日)です。この20行には、意図的に5類型の異常を仕込んであります。まず自分で眺めてから、次節のルール表と照合してみてください。
| No | 計上日 | 借方科目 | 貸方科目 | 金額(円) | 取引先 | 摘要 | 承認者 |
|---|---|---|---|---|---|---|---|
| 1 | 2026-03-01 | 地代家賃 | 未払金 | 850,000 | 明和不動産 | 2026年3月分 本社賃料 | 部長 |
| 2 | 2026-03-01 | 地代家賃 | 未払金 | 850,000 | 明和不動産 | 2026年3月分 川崎営業所賃料 | 部長 |
| 3 | 2026-03-03 | 仕入高 | 買掛金 | 6,420,000 | 東光金属 | 3/2納入 SUS材 300kg | 部長 |
| 4 | 2026-03-05 | 支払手数料 | 普通預金 | 300,000 | 白金法律事務所 | 2026年3月分 顧問料 | 課長 |
| 5 | 2026-03-09 | 旅費交通費 | 未払金 | 137,400 | (社内) | 営業部 3月上旬 出張精算 5名分 | 課長 |
| 6 | 2026-03-12 | 消耗品費 | 未払金 | 264,000 | 城北工機 | 切削工具 一式 | 課長 |
| 7 | 2026-03-13 | 消耗品費 | 未払金 | 264,000 | 城北工機 | 切削工具 一式 | 課長 |
| 8 | 2026-03-16 | 売掛金 | 売上高 | 5,280,000 | 富士川産業 | 3/13出荷 部品A 400個 | 部長 |
| 9 | 2026-03-18 | 修繕費 | 未払金 | 2,860,000 | 中原鉄工所 | 第2工場 プレス機 能力増強工事 | 部長 |
| 10 | 2026-03-19 | 外注費 | 未払金 | 476,000 | 相田工業サービス | 3月 応援作業 | 課長 |
| 11 | 2026-03-23 | 仕入高 | 買掛金 | 1,980,000 | 東光金属 | 3/20納入 アルミ材 180kg | 部長 |
| 12 | 2026-03-25 | 支払手数料 | 普通預金 | 1,200,000 | ネクサ情報システム | 保守料 2026年4月〜2027年3月 | 部長 |
| 13 | 2026-03-26 | 外注費 | 未払金 | 498,000 | 相田工業サービス | 3月 応援作業 追加分 | 課長 |
| 14 | 2026-03-27 | 広告宣伝費 | 未払金 | 500,000 | コウノ広告 | 産業機械展2026 出展料 | 部長 |
| 15 | 2026-03-30 | 雑費 | 未払金 | 187,000 | (空欄) | (空欄) | 課長 |
| 16 | 2026-03-31 | 支払手数料 | 未払金 | 480,000 | ネクサ情報システム | 4月分 クラウド利用料 | 課長 |
| 17 | 2026-03-31 | 減価償却費 | 減価償却累計額 | 4,120,000 | (空欄) | 3月度 減価償却 | 部長 |
| 18 | 2026-03-31 | 支払手数料 | 未払金 | 96,000 | (空欄) | 調整 | 課長 |
| 19 | 2026-04-02 | 売掛金 | 売上高 | 3,850,000 | 富士川産業 | 3/28出荷 部品B 250個 | 部長 |
| 20 | 2026-04-03 | 仕入高 | 買掛金 | 2,145,000 | 東光金属 | 4/1納入 SUS材 100kg | 部長 |
| 借方合計(20行) | 32,757,400 | うち3月計上分 26,762,400/4月計上分 5,995,000 | |||||
合計の検算をしておきます。3月計上分(No.1〜18)26,762,400円 + 4月計上分(No.19・20)5,995,000円 = 32,757,400円で、20行の借方合計と一致します。設例は一取引一伝票・単一仕訳を前提としているため、借方合計=貸方合計です。三表への波及の見方は財務三表のつながりで扱っているためここでは繰り返しません。
判定ルール表:12観点と閾値、そして「正当な理由」
ルール表を作るときに最も重要なのは、「想定される正当な理由」の列を必ず埋めることです。この列が空のルールは、現場に返した瞬間に「これは毎月そういうものです」と言われて終わります。逆にこの列が埋まっていれば、確認は「正当な理由に当てはまるかどうか」を見るだけになり、確認そのものが定型作業になります。
そして大前提として、条件に引っかかった行は「異常」ではなく「確認対象」です。抽出結果をそのまま「不正の疑いがある仕訳一覧」として回覧すると、現場の協力が得られなくなります。名称は「要確認リスト」にしてください。
| ID | 観点 | 条件 | 閾値(例) | 想定される正当な理由 | 確認方法 |
|---|---|---|---|---|---|
| R1 | 期ズレ(当期に翌期分) | 期末月計上の費用で、摘要が翌期の期間を指す | 計上日が期末月/摘要に「4月」「翌期」「〜年〜月」の期間表現 | 短期前払費用として継続適用している支出 | 契約書の役務提供期間と前払費用の処理方針を確認 |
| R2 | 期ズレ(翌期に当期分) | 翌期首計上の売上で、摘要中の出荷日が期末日以前 | 計上日が期首10日以内/摘要中の日付 ≦ 期末日 | 検収基準で、検収日が翌期に到来している | 出荷記録・検収書と収益計上基準の突合 |
| R3 | 重複計上 | 同一取引先・同一科目・同一金額・近接日 | 日付差 ≦ 3日/金額完全一致 | 拠点別・案件別に同額で発生する定額費用 | 請求書番号・発注番号の一意性を確認 |
| R4 | 科目誤り(資本的支出) | 修繕費で高額かつ摘要に工事・改造等の語 | 金額 ≧ 1,000,000円/語句一致 | 原状回復にとどまる修理で、価値の増加を伴わない | 工事内訳書で作業内容を確認し、社内の資産計上基準と照合 |
| R5 | 科目誤り(期間帰属) | 費用科目で、摘要が複数月にまたがる期間を指す | 摘要に「〜年〜月〜〜年〜月」の範囲表現 | 重要性が乏しく、継続的に支出時費用としている | 契約期間と金額規模から前払費用計上の要否を判断 |
| R6 | 承認限度額の直下 | 承認限度額のすぐ下に金額が張り付く | 限度額の95%以上かつ限度額未満(475,000〜499,999円) | 相見積りの結果が偶然その水準になった | 同一取引先・同一月の他伝票と発注書の分割有無を確認 |
| R7 | 丸い金額 | 10万円単位で割り切れる金額 | 金額 ≧ 300,000円かつ100,000で除して余り0 | 月額定額の顧問料・出展料など、契約で定額のもの | 契約書・請求書で定額であることを確認 |
| R8 | 摘要の不備 | 空欄・極端に短い・定型語のみ | 空欄/4文字以下/「調整」「振替」「その他」等 | システム自動仕訳で摘要が固定文言になっている | 起票者に取引内容を確認し、摘要を補記させる |
| R9 | 期末日への集中 | 期末日計上かつ取引先が空欄 | 計上日=期末日/取引先 NULL | 決算整理仕訳(減価償却・引当金繰入等) | 決算整理仕訳一覧との照合で、一覧外の行だけを追う |
| R10 | 消費税区分の混在 | 同一取引先・同一科目で税区分が複数存在 | 区分の種類数 ≧ 2 | 同じ取引先から課税・非課税の両方の役務を受けている | 請求書の税区分と適格請求書発行事業者の登録有無を確認 |
| R11 | 部門コードの不備 | 費用科目で部門コードが空欄または共通部門 | 部門コード NULL/共通部門への配賦比率が前月比±20%超 | 全社共通費として当初から共通部門に計上する運用 | 部門配賦ルールと当月の配賦実績を照合 |
| R12 | 締め後の遡り入力 | 締め日以降に入力され、計上日が締め対象月 | 入力日時 > 締め日/計上日 ≦ 期末日 | 締め後修正として正規の承認を経ている | 締め後修正申請書と承認記録の有無を確認 |
R10〜R12は日本の実務に固有の観点で、設例の表では列を省略しています。消費税区分は税込経理・税抜経理のどちらを採っているかでチェック対象が変わりますし、部門コードと承認記録はJ-SOX(財務報告に係る内部統制報告制度)の文脈で整備されている会社であれば、既に取得できるデータのはずです。
抽出条件の擬似SQL
以下は特定のDB製品に依存しない汎用形です。日付関数や文字列関数の名称は製品ごとに異なるため、自社の環境に読み替えてください。SQLの文法そのものはファイナンス実務者のためのSQL入門で扱っているため、ここでは条件の中身だけを示します。
-- 想定する仕訳テーブル je の列
-- je_no 伝票番号 posting_date 計上日
-- line_no 行番号 entered_at 入力日時
-- dr_account 借方科目名 cr_account 貸方科目名
-- amount 金額(円) counterparty 取引先名
-- dept_code 部門コード tax_code 消費税区分
-- memo 摘要 preparer 起票者
-- approver 承認者
-- 前提:当期=2026年3月期、期末日=2026-03-31、締め日=2026-04-03、承認限度額=500,000円
-- R1 期末月に計上された費用のうち、摘要が翌期の期間を指すもの
SELECT 'R1' AS rule_id, je_no, posting_date, dr_account, amount, counterparty, memo
FROM je
WHERE posting_date BETWEEN DATE '2026-03-01' AND DATE '2026-03-31'
AND dr_account IN (SELECT account_name FROM expense_accounts)
AND (memo LIKE '%4月%' OR memo LIKE '%翌期%' OR memo LIKE '%来期%');
-- R2 翌期首に計上された売上のうち、摘要中の出荷日が期末日以前のもの
-- (摘要からの日付抽出は環境依存。ここでは「3/」で始まる日付表記を近似条件とする)
SELECT 'R2', je_no, posting_date, cr_account, amount, counterparty, memo
FROM je
WHERE posting_date BETWEEN DATE '2026-04-01' AND DATE '2026-04-10'
AND cr_account = '売上高'
AND memo LIKE '%3/%';
-- R3 同一取引先・同一科目・同額・3日以内の重複候補(自己結合)
SELECT 'R3', a.je_no AS je_a, b.je_no AS je_b, a.posting_date, b.posting_date,
a.amount, a.counterparty, a.dr_account
FROM je a
JOIN je b
ON a.counterparty = b.counterparty
AND a.dr_account = b.dr_account
AND a.amount = b.amount
AND a.je_no < b.je_no
AND ABS(b.posting_date - a.posting_date) <= 3
WHERE a.counterparty IS NOT NULL AND TRIM(a.counterparty) <> '';
-- R4 修繕費のうち高額かつ摘要に資本的支出を示す語を含むもの
SELECT 'R4', je_no, posting_date, amount, counterparty, memo
FROM je
WHERE dr_account = '修繕費'
AND amount >= 1000000
AND (memo LIKE '%工事%' OR memo LIKE '%改造%' OR memo LIKE '%増強%'
OR memo LIKE '%更新%' OR memo LIKE '%取替%' OR memo LIKE '%増設%');
-- R6 承認限度額の直下に張り付いた金額
SELECT 'R6', je_no, posting_date, amount, counterparty, approver, memo
FROM je
WHERE amount >= 500000 * 0.95
AND amount < 500000;
-- R7 10万円単位の丸い金額
SELECT 'R7', je_no, posting_date, amount, counterparty, memo
FROM je
WHERE amount >= 300000
AND MOD(amount, 100000) = 0;
-- R8 摘要の不備(空欄・4文字以下・定型語のみ)
SELECT 'R8', je_no, posting_date, dr_account, amount, memo
FROM je
WHERE memo IS NULL
OR LENGTH(TRIM(memo)) = 0
OR LENGTH(TRIM(memo)) <= 4
OR TRIM(memo) IN ('調整','振替','その他','精算','計上','各種');
-- R9 期末日計上かつ取引先が空欄(決算整理仕訳の一覧と差し引いて使う)
SELECT 'R9', je_no, dr_account, cr_account, amount, memo
FROM je
WHERE posting_date = DATE '2026-03-31'
AND (counterparty IS NULL OR TRIM(counterparty) = '');
-- R10 同一取引先・同一科目で消費税区分が混在している組合せ
SELECT 'R10', counterparty, dr_account, COUNT(DISTINCT tax_code) AS tax_kinds
FROM je
WHERE posting_date BETWEEN DATE '2026-03-01' AND DATE '2026-03-31'
GROUP BY counterparty, dr_account
HAVING COUNT(DISTINCT tax_code) >= 2;
-- R12 締め日を過ぎてから遡って入力された行
SELECT 'R12', je_no, posting_date, entered_at, amount, preparer, approver
FROM je
WHERE entered_at > TIMESTAMP '2026-04-03 18:00:00'
AND posting_date <= DATE '2026-03-31';
R5(期間帰属)とR11(部門コード)は、摘要の期間表現の解釈や配賦ルールとの照合が必要なため、SQL単体では条件化しにくい観点です。R5は後述のAI判定で拾い、R11は部門別の配賦実績を月次で並べて前月比の変動を見るほうが確実です。
設例20行に条件を当てた結果:15行がヒットし、うち5行は誤検出
上記の条件を20行に当てた結果です。誤検出(正常なのに引っかかった行)も隠さず並べます。実務でルール表を配る際も、誤検出がどれくらい出るかを先に共有しておかないと、現場は最初の数か月で対応をやめてしまいます。
| No | 科目・金額 | ヒットしたルール | 判定 | 確認の結果 |
|---|---|---|---|---|
| 1 | 地代家賃 850,000 | R3 | 誤検出 | 本社と川崎営業所の賃料が同額。契約書2通で確認 |
| 2 | 地代家賃 850,000 | R3 | 誤検出 | 同上(No.1とのペア) |
| 4 | 支払手数料 300,000 | R7 | 誤検出 | 顧問契約で月額定額。契約書で確認 |
| 6 | 消耗品費 264,000 | R3 | 要対応 | 請求書番号が同一。No.7と重複計上 |
| 7 | 消耗品費 264,000 | R3 | 要対応 | No.7を取消(264,000円の過大計上) |
| 9 | 修繕費 2,860,000 | R4 | 要対応 | 工事内訳書で能力増強と判明。資産計上の要否を検討 |
| 10 | 外注費 476,000 | R6 | 要対応 | No.13と合わせ1件の作業を分割発注。承認手続を再確認 |
| 12 | 支払手数料 1,200,000 | R1・R5・R7 | 要対応 | 翌期12か月分の保守料。前払費用へ振替 |
| 13 | 外注費 498,000 | R6 | 要対応 | No.10と同一作業の分割。合計974,000円で部長承認が必要 |
| 14 | 広告宣伝費 500,000 | R7 | 誤検出 | 展示会の出展料が定額。申込書で確認 |
| 15 | 雑費 187,000 | R8 | 要対応 | 摘要・取引先とも空欄。起票者に確認し摘要を補記 |
| 16 | 支払手数料 480,000 | R1 | 要対応 | 翌期4月分の利用料。翌期へ繰延 |
| 17 | 減価償却費 4,120,000 | R9 | 誤検出 | 決算整理仕訳一覧に記載あり。正常 |
| 18 | 支払手数料 96,000 | R8・R9 | 要対応 | 摘要「調整」のみで内容不明。証憑にあたり摘要を補記 |
| 19 | 売掛金/売上高 3,850,000 | R2 | 要対応 | 3/28出荷分。収益計上基準に照らし当期計上の要否を判断 |
| 合計 | ヒット15行/20行 | 要対応10行・誤検出5行 | 論点数 8件 | |
非ヒットは No.3・5・8・11・20 の5行です。ヒット15行のうち要対応が10行、誤検出が5行なので、ヒットした行のうち3分の1は正常という結果になりました。論点数を8件と数えているのは、No.6とNo.7が1つの重複、No.10とNo.13が1つの分割発注として扱われるためです(重複/資本的支出/分割発注/前払振替/翌期費用/摘要不備2件/当期売上の翌期計上)。
なお、この設例は学習目的で異常を意図的に密に仕込んでいるため、ヒット率75%は実データより極端に高い値です。実務で数万行に同じ条件を当てた場合、ヒット率は通常もっと低くなります。逆に言えば、本番データで最初にやるべきは「閾値を動かしてヒット件数を人が確認できる量に調整すること」です。ヒット500件のリストは誰も見ません。
摘要はAI、金額と日付は機械的条件:使い分けとプロンプト
ここまでのルールのうち、R3・R6・R7・R9・R10・R12はSQLだけで完結します。これらをAIに任せる理由はありません。同じデータに同じ条件を当てれば毎回同じ結果が出る、という再現性がレビューの前提だからです。
一方、R1・R2・R4・R5・R8は摘要という自然文を読まないと判定できません。「保守料 2026年4月〜2027年3月」が翌期の期間を指していること、「能力増強工事」が原状回復ではないこと、「調整」では取引内容が特定できないこと——これらは文字列の一致条件では網羅できません。ここがAIの言語理解の出番です。
ただしAIの判定は必ずサンプリングで人が確認します。摘要判定は同じ入力でも表現の揺れによって結果が変わりうるため、抽出結果を「そのまま正しい」として扱えません。実務的には、AIが「問題なし」と判定した行から一定件数(例えば10%または最低20行)を無作為に抜き、人が読んで判定が妥当かを確かめます。見るべきは「拾ったもの」ではなく「拾わなかったもの」です。拾ったものは人がどうせ確認するので、誤検出は自然に潰れます。危ないのは、AIが黙って落とした行のほうです。
プロンプト例(摘要の一次分類)
あなたは日本の事業会社の経理部で、月次の仕訳レビューを担当する実務者です。 【目的】 以下の仕訳の摘要(テキスト)を読み、人が証憑にあたって確認すべき行を絞り込むための 一次分類を行ってください。あなたの判定は最終結論ではなく、確認対象を選ぶための下書きです。 【入力】 - 対象期間:2026年3月1日〜2026年4月5日(3月決算・当期は2026年3月期・期末日は2026年3月31日) - 単位:円 - 列:行番号/借方科目名/摘要(原文のまま) - 金額・取引先名・起票者名は含めていません。判定に金額が必要な場合は 「金額の確認が必要」と書いてください。 【分類の定義】各行に主分類を1つだけ付け、他に該当があれば副分類に列挙する。 A. 期間帰属の疑い :摘要が当期以外の期間、または期末日をまたぐ役務提供期間・出荷日を指す B. 資産計上の可能性:摘要が工事・改造・能力増強・取替など、資本的支出に該当しうる作業を指す C. 摘要不備 :空欄、4文字以下、「調整」「振替」「その他」など内容が特定できない語のみ D. 判定不能 :摘要だけでは分類できない E. 問題なし :取引内容が第三者にも読み取れる 【出力形式】 表(列=行番号/主分類/副分類/根拠となる摘要の語句/人が確認すべき事項)。 表のあとに、分類ごとの件数を箇条書きで示す。 【計算・判定の方法】 - 期間の判定は、摘要中の年月表記を期末日(2026年3月31日)と比較して行う。 - 年の記載がない「4月」等は、当期末の直後の月と解釈したうえで、その旨を副分類に明記する。 【禁止事項】 - 摘要に書かれていない事実を補わないこと。業界知識からの推測で取引内容を決めつけないこと。 - 「不正」「粉飾」等の断定的な語を使わないこと。すべて「確認対象」として記載すること。 - 会計基準の解釈を断定しないこと。判断が分かれうる論点は「判断が分かれうる」と書くこと。 【不明情報の処理】 摘要だけで分類できない行は推測せずDとし、判定に必要な追加情報(証憑の種類、契約期間、 部門、数量など)を具体的に列挙すること。 【根拠の表示】 各行の根拠は、入力の摘要から実際に引用した語句のみで示すこと。入力にない語を根拠にしない。 【自己検算・レビュー項目】出力の最後に、次の3点を自分で確認して結果を書くこと。 1. 入力行数と出力行数が一致しているか(両方の数値を示す) 2. 全行に主分類がA〜Eのいずれか1つだけ付いているか 3. 根拠として挙げた語句がすべて入力の摘要に実在するか(実在しない場合は該当行を挙げる)
出力例(設例のうち5行を投入した場合)
| 行番号 | 主分類 | 副分類 | 根拠となる摘要の語句 | 人が確認すべき事項 |
|---|---|---|---|---|
| 9 | B | — | 「能力増強工事」 | 工事内訳書で価値の増加の有無を確認。資産計上基準との照合 |
| 12 | A | — | 「2026年4月〜2027年3月」 | 契約書の役務提供期間。前払費用への振替要否 |
| 16 | A | 年の記載なし(翌期と解釈) | 「4月分」 | 請求書の対象期間が2026年4月か否か |
| 18 | C | — | 「調整」 | 証憑を特定し、摘要を取引内容が分かる記載に補記 |
| 19 | A | 出荷日と計上日の期またぎ | 「3/28出荷」 | 出荷記録と収益計上基準(出荷基準か検収基準か)の確認 |
この出力で注目すべきは、No.16に「年の記載なし(翌期と解釈)」という副分類が付いている点です。摘要には「4月分」としか書かれておらず、これが2026年4月なのか2025年4月なのかは摘要だけでは決まりません。AIが勝手に決めるのではなく、解釈したことを明示させるのがプロンプト設計の要点です。収益認識の判定基準そのものは収益認識会計基準(企業会計基準第29号)の5ステップで扱っています。
是正後の当期損益への影響(検算)
要対応10行のうち、当期の損益に影響する是正は5件です。単位は円で統一します。
| No | 是正内容 | 当期損益への影響(円) |
|---|---|---|
| 7 | 重複計上の取消(消耗品費の減) | +264,000 |
| 9 | 修繕費を機械装置へ振替(当期の償却は期末近接のため僅少と仮定) | +2,860,000 |
| 12 | 翌期12か月分の保守料を前払費用へ振替 | +1,200,000 |
| 16 | 翌期4月分のクラウド利用料を翌期へ繰延 | +480,000 |
| 19 | 3/28出荷分の売上を当期へ戻す(対応する売上原価の調整は別途) | +3,850,000 |
| 合計(増益方向) | +8,654,000 | |
検算します。費用側の減少は 264,000 + 2,860,000 + 1,200,000 + 480,000 = 4,804,000円。収益側の増加は 3,850,000円。合計 4,804,000 + 3,850,000 = 8,654,000円で、表の合計と一致します。3月計上分の借方合計26,762,400円に対し、是正額の絶対値合計8,654,000円は約32.3%(8,654,000 ÷ 26,762,400 = 0.3233)にあたります。20行という小さな設例でこの比率になるのは、異常を密に仕込んでいるためです。
No.9の振替は当期の減価償却を僅少と仮定した簡略化で、実際には資産計上した場合の当期償却費を差し引く必要があります。また、No.19は売上のみを戻しており、対応する売上原価の調整を含めていません。棚卸資産と売上原価の対応は在庫の評価方法とCOGSで扱っています。工事の未完了部分について債務の認識が必要かどうかは、引当金と偶発債務の考え方の論点になります。
日本の実務で押さえる4つの追加観点
ここまでの条件は国を問わず使えますが、日本の会計実務では次の4点を条件に組み込んでおくと、月次のレビューが実態に合います。
- 消費税区分:同一取引先・同一科目で税区分が混在している行を抽出します(R10)。適格請求書発行事業者の登録有無によって仕入税額控除の取扱いが変わるため、登録番号の有無と税区分の組合せを確認します。制度の詳細は国税庁の公表資料で確認してください。
- 部門コード:費用科目で部門コードが空欄、または共通部門への計上が前月比で大きく増えている場合を抽出します(R11)。部門別損益を使って予算管理をしている会社では、部門コードの誤りは差異分析を丸ごと狂わせます。
- 承認ワークフロー:起票者と承認者が同一である行、承認限度額の直下に張り付いた行、同一取引先への発注が同月内で複数に分かれている行を見ます(R6)。設例のNo.10とNo.13がこの類型で、単体では限度額未満でも合算974,000円になり、本来は部長承認が必要でした。
- 月次締めのタイミング:締め日以降に遡って入力された行を抽出します(R12)。締め後修正の申請・承認記録と突き合わせ、記録のない遡り入力がないかを見ます。月次決算(月次締め)のスケジュールが定まっていない会社では、この条件は大量にヒットするため、まず締め日を運用として固めるところからになります。
これらの観点は、内部統制の整備・運用状況の評価と重なる部分があります。ただし本記事のレビューは統制の有効性評価そのものではなく、あくまで取引データ側からの点検です。
AI出力の検証方法(この業務に固有の項目)
検証の一般的な考え方は生成AI出力の検証手順で扱っているため繰り返しません。仕訳レビューに固有の検証項目は次の5点です。
- 行数の一致:AIに投入した行数と、返ってきた分類結果の行数が一致しているか。長いリストを渡すと、途中の行が黙って落ちることがあります。最初に必ず数えます。
- 根拠語句の実在確認:AIが挙げた「根拠となる摘要の語句」が、実際にその行の摘要に含まれているか。文字列検索で機械的に照合できます。含まれていなければ、その行の判定は無効として扱います。
- 機械的条件との突合:SQLで抽出した行の集合と、AIが「要確認」に分類した行の集合を比べます。SQLがヒットしたのにAIが「問題なし」とした行は、必ず人が見ます。
- 非ヒット行のサンプリング:AIが「問題なし(E)」とした行から10%または最低20行を無作為抽出し、人が摘要と証憑を確認します。ここで1件でも見落としが出たら、分類定義かプロンプトを直します。
- 是正額の再計算:AIに要約させた是正額の合計は、必ず表計算ソフトで別途集計し直します。設例では8,654,000円という数字を、費用側4,804,000円と収益側3,850,000円に分けて再計算しました。合計だけを見て一致を確認したことにしないでください。
異常検知に機械学習モデルを使う場合の話は、条件ベースのレビューとは別の設計になります。学習データの偏りと評価指標の考え方はファイナンスのための機械学習入門を参照してください。
機密情報・個人情報の注意
仕訳データは、取引先名・単価・従業員の経費精算・人件費といった機密性の高い情報の集合です。全仕訳をそのまま外部のAIサービスに投入する設計は採らないでください。実務では、投入するデータの粒度を3段階に分け、業務ごとに使い分けます。詳細な機密区分の考え方は生成AIに入れてよい情報・いけない情報で整理しています。
| 投入の形 | 渡すもの | 向く用途 | 前提となる環境 |
|---|---|---|---|
| マスキング | 摘要と科目名のみ。取引先名は「取引先A」等に置換、金額・従業員名は除外 | 摘要の一次分類(本記事のプロンプト) | 社内規程で許容された汎用サービスでも検討可能 |
| 集計値のみ | 科目別・部門別の月次集計、ルール別のヒット件数 | 傾向の説明文の下書き、レビュー報告の要約 | 個別取引が復元できない粒度であることを確認 |
| 明細のまま | 取引先名・金額を含む仕訳明細 | 全ルールの一括判定、大量行の処理 | 社内で承認された環境に限る(学習利用の停止、アクセス権限、ログ保存が担保されていること) |
取引先名に個人事業主の氏名が含まれる場合や、経費精算の摘要に従業員名が入っている場合は個人情報の取扱いになります。マスキングの対象列を最初に決め、抽出クエリの段階で落としてしまうのが確実です。
監査との関係:社内レビューは監査手続ではありません
本記事で示した工程は、会社が自らの帳簿の品質を保つために行う社内レビューです。監査人が実施する仕訳テストは、監査基準に基づき監査人自身がリスクを評価して設計・実施するものであり、会社側が同種の条件抽出を回していることをもって、監査手続が省略されたり置き換えられたりするものではありません。
実務上の関係はむしろ逆で、社内レビューの記録が監査対応の負担を下げます。ルール表・抽出条件・ヒット件数・判定結果・是正した仕訳番号を月次で残しておけば、監査人からの質問に対して「どの条件で何件見て、どう判断したか」を提示できます。逆に、記録のないレビューは、実施していないのと同じ扱いになります。
日本公認会計士協会は、監査におけるAI利用について研究文書を公表しています(テクノロジー委員会研究文書第11号、2024年8月13日公表)。監査人側でAIをどう扱うかの議論と、会社側の社内レビューは別のレイヤーの話であり、混同しないでください。なお、資本的支出と修繕費の区分や収益の計上時点といった論点は判断が分かれうる領域です。本記事は基準の解釈を示すものではなく、社内の会計方針と監査人との協議に基づいて判断してください。
よくある失敗
1. 誤検出を隠してリストを配る
「異常仕訳一覧」という名前で誤検出を含んだリストを現場に投げると、最初の月で信用を失います。設例でもヒット15行のうち5行は正常でした。リスト名は「要確認リスト」にし、誤検出の割合を毎月あわせて共有してください。
2. 閾値を決めずに条件だけ作る
「丸い金額」「近接日」といった条件は、閾値次第でヒット件数が桁で変わります。人が確認できる件数(例えば月20〜40件)から逆算して閾値を決め、決めた根拠を残します。閾値を書かないルール表は運用できません。
3. 当期のデータだけを見る
当期の取引が翌期に計上されている期ズレは、当期の仕訳データには存在しません。抽出期間を翌期首まで広げないと、設例のNo.19は永久に見つかりません。逆方向(前期末の取引が当期に計上)を見るには、前期末の数日も含めます。
4. AIが「問題なし」とした行を確認しない
人はヒットした行ばかり見ますが、レビューの品質を決めるのは拾わなかった行です。非ヒット行のサンプリング確認を工程に組み込まないと、AIの見落としに気づく機会がありません。
5. 判定と根拠を記録せずに翌月へ進む
「確認したが問題なかった」だけの記録では、翌月に同じ行がヒットしたときにゼロから確認し直すことになります。取引先・科目・条件の組合せ単位で「正当な理由」を記録し、次月以降は除外条件として扱うか、確認を簡略化できるようにします。
実務チェックリスト
- 抽出期間に翌期首の数日と前期末の数日を含めたか
- 仕訳テーブルから取得する列に、計上日・入力日時・起票者・承認者・部門コード・消費税区分を含めたか
- ルールごとに閾値と、その閾値にした理由を書いたか
- ルールごとに「想定される正当な理由」の列を埋めたか(空欄のルールは運用できない)
- 抽出結果の件数が、人が月内に確認できる量に収まっているか
- AIに渡すデータからマスキング対象列(取引先名・従業員名・金額)を落としたか
- AIに渡した行数と、返ってきた行数が一致しているか数えたか
- AIが挙げた根拠語句が、実際の摘要に存在するか機械的に照合したか
- SQLがヒットしたのにAIが「問題なし」とした行を人が確認したか
- AIが「問題なし」とした行から10%または最低20行をサンプリング確認したか
- 是正額の合計を、表計算ソフトで別途集計し直して検算したか
- ルール表・抽出条件・ヒット件数・判定結果・是正した仕訳番号を月次で記録したか
- 誤検出の件数と割合を、現場へのフィードバックに含めたか
- 「不正の疑い」ではなく「確認対象」という表現でリストを配布したか
- 判断が分かれうる論点(資本的支出/収益計上時点等)を、社内の会計方針と照らして整理したか
よくある質問(FAQ)
Q. ルールは何本から始めればよいですか。
A. 3〜4本です。設例では12本を挙げましたが、いきなり全部を回すとヒット件数が確認可能量を超えます。重複計上(R3)・摘要不備(R8)・期ズレ(R1)の3本は、閾値の調整が比較的簡単で誤検出も説明しやすいため、最初の3か月はこれだけで回し、月次の運用が定着してから増やすのが現実的です。
Q. 誤検出はどこまで減らすべきですか。
A. ゼロを目指すと、条件が厳しくなりすぎて見落としが増えます。誤検出を減らす方向ではなく、過去に「正当な理由」で決着した組合せを除外条件として蓄積する方向で対処してください。設例のNo.1・2(拠点別の同額賃料)のような定型的な誤検出は、取引先と科目の組合せで除外リストに載せれば翌月から出なくなります。
Q. 会計システムに異常検知機能が付いていますが、これも必要ですか。
A. 製品の機能で足りる部分は使って構いません。ただし、その機能がどの条件でどの閾値で判定しているかを確認できないと、監査人や上長に説明できません。説明できない検知結果は、レビューの記録として使えません。製品側の条件が開示されていない場合は、本記事のような自前の条件と併用し、両者の結果を突き合わせておくと安全です。
まとめ
仕訳レビューでAIが効くのは、5工程のうち「摘要という自然文を読む」1工程だけです。計上日・金額・取引先・承認者の組合せから決まる異常は、擬似SQLで書ける決定的な条件で漏れなく拾えます。設例20行では15行がヒットし、そのうち5行は正常な誤検出でした。この誤検出をあらかじめ見込んで運用に組み込むことが、ルールを現場に定着させる条件です。
そして、条件に引っかかった行は「異常」ではなく「確認対象」です。ルール表に「想定される正当な理由」の列を必ず置き、確認を定型作業に落としてください。AIの判定はサンプリングで人が確かめ、判定と根拠を月次で記録する。この記録が、社内レビューを監査対応で使える資産に変えます。AI活用の全体像は生成AI×ファイナンス実務で整理しています。
出典・参考(2026-08-03確認)
- 日本公認会計士協会「監査におけるAIの利用に関する研究文書」(テクノロジー委員会研究文書第11号、2024年8月13日公表)https://jicpa.or.jp/specialized_field/20240813dfu.html
- 日本公認会計士協会 IT委員会研究報告第60号「監査データ標準化に関する留意事項とデータアナリティクスへの適用」https://jicpa.or.jp/specialized_field/20220301efr.html
- 日本公認会計士協会「公認会計士業務とAI」https://jicpa.or.jp/cpainfo/ai.html
- 企業会計基準委員会(ASBJ)公表済み会計基準等の一覧https://www.asb-j.jp/jp/accounting_standards.html
- 国税庁「インボイス制度(適格請求書等保存方式)」https://www.nta.go.jp/taxes/shiraberu/zeimokubetsu/shohi/keigenzeiritsu/invoice.htm
- 本記事の設例(多摩川マテリアル株式会社の仕訳明細20行、抽出結果、是正額)は筆者が作成した仮設例です。実在の企業・取引とは関係ありません。
※本記事は教育目的の一般的な解説であり、法務・税務・会計・投資に関する助言ではありません。実際の判断は専門家にご確認ください。設例は理解のための仮設例です。AI製品の仕様・料金は変更されることがあるため、利用前に各社の公式情報をご確認ください。