請求書を読み取って仕訳案を作る(汎用例)
請求書からの項目の読み取りと、勘定科目・部門・税区分の付与を分けて考える「型」を示す汎用例です。会社ごとに科目体系やコードが違うため、細かい設定には踏み込まず、考え方と最小限のプロンプトだけを載せています。
この活用例が「汎用例」である理由
請求書処理をAIに手伝わせる話は最もよく聞かれますが、実務では会計ソフト、勘定科目体系、補助科目、部門、プロジェクトコード、承認の流れが会社ごとに違い、そのまま真似できる手順は書けません。そこでこのページでは、どの会社にも共通する「考え方の型」だけを示します。自社に当てはめるときは、この型を出発点に、自社のルールを足していってください。
1. 現場の課題
月末に届く請求書から、取引先・金額・税率区分・登録番号を読み取って仕訳を起こす作業は、転記の手間が大きく、税率区分や登録番号の確認漏れも起きやすい工程です。一方で「AIに請求書を渡せば仕訳が出てくる」と期待して試すと、自社の科目や部門を知らないAIがもっともらしい科目を当ててしまい、かえって確認の手間が増える、という失敗も起きています。
2. AIに任せること/人が判断すること ― 作業を2つに分ける
請求書処理には、性質の違う2つの作業が混ざっています。
- 発行者名・登録番号(T+13桁)の抽出
- 請求日・支払期限
- 税率ごとの税抜金額・消費税額・税込金額
- 登録番号の形式チェック
→ AIがそのまま得意な部分。
- 勘定科目・補助科目
- 部門・プロジェクトコード
- 税区分コード(会計ソフト固有)
- 計上時期・承認
→ AIに「覚えさせる」のではなく、会社が作ったルール表を参照させ、最終判断は人が行う部分。
この分け方にすると、「AIが勝手に科目を当てる」問題は、「ルール表に載っていないものは空欄で返す」というプロンプトの一文で防げます。会計ソフトの違いも、「この列順で出して」とインポート形式を指定するだけで吸収できます。
金額・日付・登録番号の確定。読み取った値は必ず原本と突き合わせます。読み取りは便利ですが、1桁違っていても文章としては自然に見えます。また、毎月同じ取引先から同じ形式で届く請求書は、AIで読ませるより、定型の登録や連携機能で処理したほうが安定します。AIが向くのは、形式がばらばらで件数が多くないものです。
3. 進め方(最小限の型)
- ルール表を作る——「取引先名(または摘要のキーワード)→ 勘定科目・補助科目・部門・税区分」を、件数の多い取引先から20〜30行ほど。過去の仕訳データをAIに渡して「取引先ごとの典型パターンを表にして」と頼めば下書きができます。
- 読み取りと付与を1回のプロンプトで頼む——ただし付与はルール表に該当がある場合だけ、と条件を付けます。
- 空欄と理由がついた行だけを人が判断する——判断結果はルール表に追記し、翌月の精度を上げます。
4. 期待できる効果
転記作業がほぼなくなり、担当者の時間は「空欄になった行の判断」と「登録番号・金額の原本照合」に振り向けられます。ルール表が育つにつれ空欄は減り、処理の一貫性も上がります。何より「AIが勝手に決めない」設計にしているため、確認の負担が増えるという失敗を避けられます。
- 今月届いた請求書を3枚選び、AIに仕訳案を作らせる
- 金額・日付・登録番号を、原本と1文字ずつ突き合わせる
- 間違いがあった箇所の種類(桁、日付の年、全角半角)を記録しておく
5. 注意点
6. 難易度を上げる場合
★★:プロジェクト機能やCoworkにルール表と出力形式を常駐させ、請求書だけを毎回渡す運用にします。★★★:請求書フォルダを対象に「読み取り → ルール表照合 → インポート用CSV生成 → 該当なし一覧」までをClaude Code/Pythonで組む方法もあります。会社固有の部分(ルール表・出力形式)が外に出ているので、プログラムは汎用のまま保てます。