仕訳処理の自動化について思うことがあったので、備忘になります(私の勝手な考えです)。
まず、このような専門的な処理について自動化を行う時は、その事業領域の専門知識を持った人間自身が開発・制作にかかわることが大前提かと思います(これはRPA等でも同様)。
次に、このような専門的な行為を、汎用AIに全て委ねることはナンセンスな場合が多いと思われます(その前段階のアイデア出し、簡単な試行錯誤なら汎用AIの方が簡単にできる場合も有り得る)。そもそもが限られた事業領域での話であることから、その専門家自身が深く関わるような形で専用AI(というかアルゴリズム)を開発し、さらにその専用AIを用いて自動化のトライ&エラーを行うのが理想となります。
つまり、専門家 + 専門家が設計する(もしくは深く携わった)専用AI の状態が理想的では…という考えが頭をよぎりました。
さらに、税法は毎年改正があるため、2024年版、2025年版、2026年版…と各年度でアルゴリズムを用意するといったことも検討が必要か?などとも考えておりました(トリガーが毎年同じならいいが、大幅に異なる年度が混じると厄介)。ただ、会計年度と税制改正の区切りって一致するとも限らないので、たとえば、税制が異なるタイミングでアルゴリズムも分ける方がいい…?
そうなると、そもそも仕訳処理する範囲を絞った方が早いですね…
弥生やJDLのCSV取込も、かなりの部分でよく反映されるので、こういったものでも難しいものに絞って(やはり振替取引中心か)、自動化を考えた方が早いような気が…
(そもそも、そういった自動取込から漏れたものに対して、仕訳テンプレートを当てはめる…といったことは既にやってきました)
CSVを貼り付けたら、IF分岐で消費税課税区分の適否を判定するワークシートとかの方が、小回りもきくし便利かも…
などと色々悩んでました。
いずれにしろ、専門領域には専用AI(アルゴリズム)が一番かと。
###############################################
仕訳自動化・専用AI・ルール設計・専門家の役割・汎用AIとの関係を、一つの「一貫した理論」で。
0. 全体の前提と問題意識
仕訳自動化を本気で考えるときの論点は、大きく分けて次の通り。
- 誰がロジックを考えるべきか
- 税理士などの専門家か
- システムエンジニアか
- 現場担当者か
- どのようなAI・アルゴリズム構造が望ましいか
- 汎用AI(ChatGPTのようなLLM)を中核に据えるのか
- 会計・税務に特化した専用AI+ルールを作るのか
- どのような処理パターンがあり、どんな業種・状況に向くのか
- ML → ルール
- ルール → ML
- ML → ML(二段階)
- ML ↔ ルール(相互補完)
- ルール → ルール(階層)
- ルールベースはどのように設計しないと危険か
- 境界条件
- 粒度
- 肯定条件 vs 否定条件
- 更新容易性
- リスクの重みづけ
これらを一つの体系として整理する。
1. なぜ二段階処理が必要なのか
1-1. ML単独の限界
機械学習(ML)単独には以下の特徴がある。
- 強み
- 未知パターン・曖昧なケースに対応できる
- 大量データから統計的な傾向を学習できる
- 弱み
- 法令遵守・税務リスクを“確実に”制御することが難しい
- 例外処理(少数だが超重要なケース)に弱い
- 説明責任(なぜその仕訳になったか)を構造的に示しにくい
1-2. ルール単独の限界
ルールベース単独には以下の特徴がある。
- 強み
- 透明性・説明可能性が高い(if条件・フローチャートで表現可能)
- 法令遵守・税務リスクを狙ってコントロールしやすい
- 弱み
- 網羅性が低い(想定していないパターンに対応しにくい)
- 例外が増え、維持が困難になりやすい
- 現場の多様な取引パターンをルールだけでカバーするのは現実的でない
1-3. 二段階処理の本質
二段階処理とは、MLとルールベースを組み合わせて使う構造を指す。
- MLの「網羅性・柔軟性」
- ルールの「法令遵守・説明責任」
これらを掛け合わせることで、
- 精度
- 再現性
- 説明可能性
を同時に高いレベルで達成しようとするアプローチである。
2. 二段階処理のパターンと特徴
2-1. (A) ML → ルール補完
- 流れ
- MLで仕訳候補を推定
- ルールで補正・監査・再分類・税区分補正などを行う
- 特徴
- 精度と説明可能性のバランスが良い
- 大量データをMLで処理しつつ、法令部分はルールでガードできる
- 向くケース
- データ量が豊富でMLが強く働ける業種
- 法令遵守が必須の領域
- 例:飲食業のPOSデータ → MLで売上仕訳推定 → ルールで軽減税率判定
2-2. (B) ルール → ML補完
- 流れ
- ルールで明確な仕訳を処理(確定領域)
- ルールで処理できなかった残りをMLで推定
- 特徴
- 誤判定リスクを最小化できる
- 「絶対に間違えてはいけないところ」をルールに集中させられる
- 向くケース
- ルールで処理できる領域が多い業種
- 法令や基準で明確に線引きできる領域が多い業種
- 例:建設業の工事進行基準はルールで確定 → 外注費比率など曖昧部分をMLで補完
2-3. (C) ML → ML(二段階モデル)
- 流れ
- 軽量モデルで粗分類(一次モデル)
- 高精度・高コストなモデルで精緻分類(二次モデル)
- 特徴
- 大規模データのリアルタイム処理に向く
- 説明性・法令ベースのガードは低め(別の仕組みで補う必要)
- 向くケース
- 取引量が膨大
- 法令判断よりスループットやリアルタイム性が重視される
- 例:EC取引の大量仕訳処理
2-4. (D) ML ↔ ルール相互補完(ハイブリッド)
- 流れ
- MLが仕訳・科目・税区分などを提案
- ルールが監査・検証
- ルールNGの場合、MLが別候補を再推定
- 特徴
- 双方向のやり取りで精度を上げつつ、学習循環も作れる
- 高リスク領域でも使える構造
- 向くケース
- 税務調査のリスクが高い領域
- 説明責任が強く求められる業種・取引(例:建設業の大規模工事、軽減税率判定)
2-5. (E) ルール → ルール(階層型)
- 流れ
- 大分類ルール → 詳細ルール → 最終仕訳
- 特徴
- 透明性は最大
- 学習効果はない(ルールを手で増やすしかない)
- 向くケース
- 取引パターンが固定的で変化が少ない
- 仕訳パターンが限定されている業種
- 例:公益法人・学校法人など
3. 二段階にすると精度が“ほぼ倍増”する理由
3-1. 一段処理での問題
- ML単独:例外・法令境界に弱い
- ルール単独:網羅性に欠け、例外処理だらけになりやすい
3-2. 二段処理での補完関係
- ML → ルール
- MLが曖昧な領域を含めて候補を拾う
- ルールが法令遵守・税務リスクの観点でフィルタ
- ルール → ML
- ルールで明確領域を処理し、誤判定リスクの高い部分を抑える
- 残りの曖昧領域をMLが推定
この結果、
- 精度(Accuracy)
- 再現性(同じ入力なら同じ結果)
- 説明可能性
が、一段処理と比べて理論上・実務上ともに大きく向上する。
4. 業種別の適用イメージ
4-1. 建設業
- 推奨パターン
- ルール → ML補完
- ML ↔ ルール(ハイブリッド)
- 理由
- 工事進行基準など、ルールで確定できる部分が多い
- 外注費比率、工期遵守率など、曖昧・統計的要素はMLが有効
- 高額・長期・税務リスクが高いため、説明責任が重要
4-2. 飲食業
- 推奨パターン
- ML → ルール補完
- ML ↔ ルール(ハイブリッド)
- 理由
- POSデータなど大量データはMLに適する
- 軽減税率・消費税区分はルールで厳格に管理すべき
- 膨大な取引数と税務調査リスクの両方が存在
4-3. EC・金融取引
- 推奨パターン
- ML → ML(二段階)
- 理由
- データ量が膨大でリアルタイム処理が重視される
- 説明性は他の仕組み(別レポート・サマリ)で補う設計が現実的
4-4. 公益法人・学校法人等
- 推奨パターン
- ルール → ルール(階層型)
- 理由
- 取引パターンが固定的で、年月を経てもパターンが大きく変化しにくい
- 学習効果よりも、透明性・安定運用が重視される
5. ルールベース設計の注意点(ここが甘いと全て崩れる)
5-1. ルールは「例外処理」ではなく「境界条件」として設計
- ありがちな誤り:
- 「MLが外したときの例外処理」としてルールを位置付ける
- 正しい位置付け:
- ルールは“絶対に破ってはいけない境界条件”として設計する
例:
- 消費税率の判定
- 工事進行基準の適用可否
- 資本的支出 vs 修繕費の閾値
- 補助科目の使用禁止パターン
これらは「例外」ではなく、「AIの自由度を制約するガードレール」である。
5-2. 「業務ルール」より「会計・税務ルール」を優先
- よくある失敗:
- 現場の運用ルール(社内ルール)をそのままAIルールにしてしまう
- 正しいアプローチ:
- 会計・税務の法令・基準に基づくルールを優先
- 現場ルールは補助的・上書き的に扱う
理由:
- 現場ルールは属人的・可変的
- 法令ルールは普遍性があり、AIの再現性・説明責任の基盤となる
5-3. ルールの「粒度」を統一する
粒度(どの単位でルールを定義するか)がバラバラだと、MLとの境界が曖昧になり、誤判定が増える。
統一すべき粒度の例:
- ルールは取引単位か、明細単位か
- 金額閾値における境界(以上/超過/未満)
- 勘定科目判定の優先順位(上書き順)
- 補助科目付与条件の階層(大分類 → 中分類 → 小分類)
粒度が揃っているルールはMLとの連携がスムーズで、結果も安定する。
5-4. 否定条件ではなく肯定条件で書く
- 否定条件の例:
- 「飲食費でない場合は交際費」
- 肯定条件での例:
- 「飲食費の条件を満たす場合のみ飲食費。それ以外は交際費。」
肯定条件の利点:
- バグが発生しにくい
- 説明がしやすい
- MLの出力との組み合わせが明瞭
5-5. 説明責任を前提にしたルール記述
ルールは、監査・税務調査で問われたときに説明できなければならない。
説明可能なルールの例:
- 「軽減税率対象の飲食料品であるため、税率8%を適用した」
- 「工事進行基準の要件(契約金額・進捗率)を満たしているため、当期に売上計上した」
このように、一文で理由を言語化できるルールが理想。
5-6. MLの弱点を補う方向でルールを設計する
MLが苦手な領域:
- 法令の境界
- 税率判定
- 補助科目の細かな分岐
- 金額閾値
- 例外処理(特に少数だが重要なケース)
ルールは、これら**「絶対に誤ってはいけない領域」をカバーするように設計**すべき。
5-7. 業種別テンプレートとしてルールを分離
業種横断的なルールを無理に共通化しすぎると破綻する。
業種ごとの例:
- 建設業:工事進行基準、外注費、材料費の振替
- 飲食業:軽減税率、テイクアウト・イートイン区分、POS取引の集計
- EC:決済手数料、チャネル別売上、返品・キャンセル処理
業種別ルールセットとして分離し、独立して調整できる構造が望ましい。
5-8. ルールとMLの入出力形式を完全に整合
- 科目名の表記揺れ
- 補助科目階層のずれ
- 金額の丸め方
- 税区分コードの体系
これらがズレると、
- ルールが発火しない
- 想定外のパスを通る
といった事故が発生する。
入出力形式の整合は必須。
5-9. 更新容易性と差分更新の構造
税制改正・業務変更は必ず発生する。
- ルールを階層化する(基礎ルール/業種ルール/顧客別ルール)
- 個別のルールを差分更新できるようにする
- 過去のバージョンを保持し、年度ごとに適用ルールを切り替えられるようにする
これにより、長期運用時の保守コストを大幅に削減できる。
5-10. MLの学習データとの整合性
- MLが学習した過去仕訳の分布
- 科目の出現頻度・偏り
- 過去の運用判断
これらとルールが矛盾すると、
- MLは「こう学習したのに、ルールがそれを否定する」という構造になる
そのため、ルール策定時には、学習データの世界観との整合を意識する必要がある。
6. 「誰がロジックを考えるべきか」についての厳密検討
6-1. 仕訳は法的判断の圧縮表現である
仕訳は、外形的には「取引を勘定科目に分類しているだけ」に見えるが、本質は以下の通り。
- その取引をどの法的概念として評価するのか
- 収益か預り金か
- 資本的支出か修繕費か
- 工事進行か完成基準か
- その評価を税法・会計基準上どのように扱うか
つまり、仕訳は法的判断の圧縮表現であり、
自動化のロジック設計には、条文・通達・裁決例・実務経験への深い理解が必須である。
6-2. しろうと設計の危険性
素人が設計した仕訳自動化にありがちなパターン:
- 「なんとなく消耗品費」「なんとなく交際費」といったラベル貼り替え発想
- 税法の境界線を知らずに、金額だけ見て一律処理(少額=経費など)
- 稀だが税務上重要な例外を、MLに丸投げしてしまう
これらは、
- 短期的には「それなりに動く」ように見える
- 長期的には、税務・監査リスクとして顕在化する
という構造的な危険を内包している。
6-3. 専門家(税理士など)が中核にいる必要性
ロジック設計の中核は、次を担当する人間である必要がある。
- リスクの線引き(どこを絶対に間違えてはいけないか)
- 法令解釈(条文・通達・裁決例・実務慣行の理解)
- 「どこをルールで、どこをMLで、どこを人間レビューで行くか」の切り分け決定
- 最終的な運用方針への責任
この役割を担えるのは、税理士などの専門家であり、単なるシステムエンジニアや現場担当では担えない。
6-4. ただし「税理士であれば誰でもよい」わけではない
ロジック設計には、以下の能力の組み合わせが必要。
- 専門知識(法令・実務)
- 抽象化・形式化能力(条件式・フローチャートへの落とし込み)
- テキスト化・説明力(他者・システムに伝わる形にする)
専門家であっても、
- 頭の中では判断できるが、形式化が苦手
- 例外処理を言語化できない
という場合、設計はうまくいかない。
この意味で、専門家+仕組み化の能力を持つ人の協働が望ましい。
7. 汎用AIではなく「専用AI+アルゴリズム」が必要な理由
7-1. 汎用AIの限界
- 基本的には「文章生成モデル」であり、法的境界・税務リスクに対する構造的理解は持たない
- モデル更新で挙動が変わり得るため、年度別の説明責任に耐えにくい
- 誤りの重み(致命的 vs 軽微)を明示的に制御しづらい
7-2. 専用AIの要件
専用AIとは、次のような特徴をもつ。
- 世界観が会計・税務に固定されている
- 出力が文章ではなく、構造化された仕訳データ
- 判断ロジックがバージョン管理され、年度ごとに適用ロジックを説明できる
- MLとルールを統合し、「二段階処理」が標準機能として組み込まれている
- 税務リスクの重みづけに基づいて、誤りの許容範囲を制御できる
- 根拠説明エンジンを備え、「なぜこの仕訳なのか」を条文・実務ベースで説明できる
7-3. 汎用AIの適切な位置づけ
汎用AIは、中核の判定エンジンではなく、次のような用途に非常に有用。
- 専門家の頭の中のロジックをテキスト化・整理する
- ルール仕様書やフローチャートの下書きを作る
- 過去仕訳のパターンを言語化して整理する
- 開発チームとのコミュニケーション資料を作る
つまり、「設計・説明・文書化の補助ツール」としては極めて強力だが、「責任ある最終判断者」としては不適である。
8. 専用AIのレイヤー構造と権限
専用AIは、少なくとも以下の4レイヤーに分けて考えるのが望ましい。
- L1:法令・方針レイヤー
- 担当:税理士など専門家のみ
- 内容:法令、通達、裁決例、業種別判断基準、リスクの閾値
- L2:仕訳ロジックレイヤー
- 担当:専門家+仕組み化担当
- 内容:条件分岐、例外処理、業種別テンプレート、ルール階層化
- L3:AI・アルゴリズムレイヤー
- 担当:仕組み化担当+エンジニア
- 内容:MLモデル、特徴量設計、ルールエンジン、ログ・監査機能
- L4:UI・現場運用レイヤー
- 担当:現場担当者も含めて利用可能
- 内容:入力画面、例外レビュー、承認フロー、ログ確認
9. 全体の一行要約
仕訳自動化とは、技術の問題ではなく「専門家が自分の頭の中の法的・実務的判断ロジックに責任を持って形にする問題」であり、その中核には税理士などの専門家が設計する専用AI+ルールエンジン構造を置き、汎用AIは“設計・説明・文書化の補助”として周辺で用いるのが、最も安全かつ合理的なアーキテクチャである。