領収書や請求書の画像・PDFを渡すと、日付・金額・取引先・税区分を読み取り、freee/マネーフォワードに取り込める仕訳CSVを自動で書き出すシステムを開発しました。会計ソフトを乗り換えることなく、いまの freee/MF への「入力」だけを肩代わりするツールです。
このページでは、何を作ったのか、どう動くのか、そして実装上どこを工夫したのかを紹介します。
効果を示す数値は、中小企業の経理業務を想定したモデルケースに基づく想定値です(特定企業の実測ではありません)。入出力サンプルはすべて架空のダミー帳票で、実在の社名・個人名・金額は含みません。なお、本システムは電子帳簿保存法(電帳法)の要件適合を対象とするものではありません(詳細は後述)。
何を解決するためのものか
会計ソフトは入れた。でも、ソフトへの「入力」そのものが面倒——。中小企業の経理でよく聞く声です。
領収書や請求書を1枚ずつ眺めて、日付・金額・取引先を読み取り、勘定科目と税区分を判断して、freee や MF に手で打ち込む。1枚あたり数分でも、月末にまとまると相当な時間になります。さらに、軽減税率8%と標準10%の取り違え、桁の打ち間違い、科目のブレといったミスも起きやすく、後から見つけて直す手戻りも発生します。
このシステムは、その「会計ソフトへの入力」という繰り返し作業を、帳票を投げるだけで終わらせることを狙ったものです。対象は、経理担当者・経理兼務の経営者・記帳代行の小規模事務所など、「ソフトは入れているが入力が重い」層です。
どんなシステムか
ポイントは、AIに帳票を「読ませて終わり」にせず、会計ソフトがそのまま取り込める形まで仕上げることです。
- 抽出(AI) — 帳票から日付・金額・取引先などを読み取る
- 仕訳化(決まった処理) — 勘定科目の推定・税区分の判定・借方/貸方の組み立て
- CSV化 — freee/マネーフォワードそれぞれの取込レイアウトに変換
- 要確認リスト — 自信度の低い行だけを別ファイルに切り出す
利用者の体験は「領収書を投げると、会計ソフトに取り込めるCSVと“確認すべき数枚”だけが返ってくる」。いまの会計ソフトを使い続けたまま、入力作業だけが消えることを狙っています。
入力と出力(実際のサンプル)
利用者の操作は、帳票をフォルダに溜める/画面にドロップするだけ。出力形式(freee/MF)と、要確認に回す自信度のしきい値を選べます。

入力(架空のダミー帳票)
入力はスマホ撮影・スキャナ・メール添付などの領収書・請求書です。下はすべて架空のダミー帳票です。


出力(会計ソフト取込用の仕訳CSV)
7枚をまとめて処理した結果が下の画面です。抽出した内容が仕訳テーブルになり、自信度の低い行はハイライトされ、CSVと要確認リストをダウンロードできます。

実際に生成された freee 取込用CSV(架空データ)の一部です。
取引日,借方勘定科目,借方税区分,借方金額,貸方勘定科目,貸方税区分,貸方金額,摘要
2026-05-18,旅費交通費,課対仕入10%,1980,現金,対象外,1980,みなと交通 タクシー代
2026-05-20,接待交際費,課対仕入10%,8800,現金,対象外,8800,居酒屋はなれ 取引先との会食
2026-05-12,新聞図書費,課対仕入8%(軽),2160,現金,対象外,2160,みなと書店 技術書籍
2026-05-31,外注費,課対仕入10%,110000,未払金,対象外,110000,株式会社アオイ制作 Webサイト制作費
マネーフォワード形式を選ぶと、同じ内容が MF の税区分表記(例:「課税仕入 8%(軽減)」)と取込レイアウトに変換されます。会計ソフトはそのまま、取り込むCSVだけを出し分ける設計です。
加えて、処理のサマリも出力します。
処理枚数: 7
自動処理: 6
要確認: 1
実装で工夫したこと
ここがこのシステムの肝です。設計の中心にあるのは、読み取りはAIに、仕訳の正確さは決まった処理にという役割分担です。

1. 読み取り(AI)と仕訳(決定的コード)を分離する
帳票から値を読み取る工程だけをAIに任せ、勘定科目の推定・税区分の判定・借方/貸方の組み立て・CSV変換・要確認の判定は、すべてローカルの決定的なコードに分けました。これにより「同じ帳票なら、いつ誰が実行しても同じCSVが出る」再現性が担保されます。記載する数字が再現可能であることも、この分離のおかげです。
2. 軽減税率8%を機械で区別する
手入力で最も間違えやすいのが「課税10%/軽減8%/対象外」の判定です。本システムは税区分を持ち、freee/MF それぞれの表記へマッピングします。上のサンプルでも、技術書籍は freee で「課対仕入8%(軽)」、MF で「課税仕入 8%(軽減)」と、軽減税率として自動で振り分けています。人が毎回判断していた取り違えやすい箇所を、機械側に寄せました。
3. 領収書と請求書で貸方を出し分ける
その場で支払う領収書は貸方を「現金」に、後日支払う請求書は貸方を「未払金」(翌月払い想定)に出し分けています。帳票の種類によって仕訳の形が変わる部分を、ルールとして組み込みました。
4.「分からない」を正直に出し、CSVは壊さない
判読不能な帳票は、推測で金額や科目を埋めず、別ファイルの要確認リストに「どのファイルの・どの項目が・なぜ怪しいか」を切り出します。実際の要確認リスト(架空データ)です。
file_name,field_name,ai_value,confidence,reason
blur_receipt.jpg,amount,0,0.42,金額が0または不正(読み取り不確実)
blur_receipt.jpg,tax_category,unknown→(仮)taxable_10,0.42,税区分が判別不能(標準/軽減の判定不可・仮の税区分を適用)
blur_receipt.jpg,account_category,消耗品費,0.42,取引先が対応表に未登録・税区分が判別不能(想定)
ここで大事なのは、要確認のフラグを仕訳CSV側には足さないことです。CSVに余計な列を増やすと会計ソフトの取込でエラーになりかねないため、仕訳CSVはそのまま取り込める形に保ち、確認情報は別ファイルに分けました。人は「例外の数枚」だけを見ればよくなります。
5. 取込前に、システム自身がCSVを検査する
生成した仕訳CSVを、検証用の処理(フック)が取り込む前にチェックします。金額が正の整数でないなど、形式が崩れた行があれば警告を出します。実際の実行ログがこちらです。
$ python3 -m receipt_journal.hooks.check_journal journal_freee.csv
警告: 1行目: 借方金額が正の整数ではありません('0')
警告: 1行目: 貸方金額が正の整数ではありません('0')
検証フック: 2 件の問題を検出しました。(終了コード: 1)
判読不能で金額0になった行を、取込前にフックが検出しています。「AI出力を人が全部見なくても、形式の穴は機械が拾う」を実装で担保しました。
6. 品質をテストで担保している
分類・税区分・仕訳・CSV整形・要確認・検証・バッチ・CLI・Web といった処理は、自動テストで品質を固めています(現在 61 件のテストが通過)。AIを呼ぶ抽出部分はモックに差し替えてテストできる構成にしてあり、外部APIに毎回つながなくても挙動を検証できます。
成果(想定モデルケース)
項目 | 導入前(Before・手入力) | 導入後(After・本システム利用時) |
|---|---|---|
1枚あたりの処理 | 数分(読み取り+会計ソフトへ手入力) | 数秒(AI抽出)+要確認分だけ目視 |
作業の中身 | 全件を人が転記 | 自信度の低い行だけ人が確認 |
入力ミス | 桁・科目・税区分(軽減8%)の誤り | 形式チェック+要確認フラグで早期発見 |
会計ソフト | 既存の freee/MF をそのまま利用 | 既存の freee/MF に CSV取込するだけ |
繁忙期の滞留 | 紙が溜まり入力が後回し | バッチでまとめて下処理 |
削減効果は「枚数 × 1枚あたりの手入力時間」で自社試算できます。週・月に処理する帳票が多いほど、積み重なる効果は大きくなります。
上記は中小企業で一般的な手作業を想定したモデルケースです。実際の効果は帳票の枚数・状態(撮影品質)・科目の複雑さによって変わります。数値はすべて想定値です。
データの扱い
サンプルはすべて架空のダミー帳票で、実在の社名・個人名・取引先・金額・口座は一切含みません。勘定科目の対応表(取引先→科目)は設定ファイルで外部化しており、御社の取引先や科目体系に合わせて追記・調整できます。
電子帳簿保存法(電帳法)について:本システムは帳票から仕訳CSVを生成するためのもので、電帳法が求めるスキャナ保存・タイムスタンプ・検索要件などへの要件適合は本システムの対象外です。電帳法対応が必要な場合は、対応済みの保存システムや専門家の確認と組み合わせてご利用ください。
御社の経理でも
このシステムは特定の会計ソフトに縛られず、freee/マネーフォワードの取込形式や、御社の勘定科目・取引先の対応表に合わせて形を変えられます。いまの会計ソフトを乗り換えることなく、既存のワークフローに「乗せる」形で導入できます。
「会計ソフトへの入力を軽くしたい」「軽減税率や科目の取り違えを減らしたい」——そんな課題があれば、お気軽にご相談ください。
