Odooについて

請求書メールをOdooに自動取り込み — Microsoft 365での転送と失敗検知

毎月決まった取引先から、請求書がメールで届いている方は多くいらっしゃいます。

添付PDFを開き、内容を確認し、Odooに仕入先請求書として入力。
月に数十件などなど、会社の取引規模によってはマチマチかと思います。
誰でもできる作業で、しかも間違えると支払いを忘れてしまったりで後処理が大変な作業。

本記事は「Outlookに届いた請求書メールを自動でOdooに取り込めないか」を実際にやってみたです。

結論、Odooへの取り込みは自動化できました
そこまでに踏んだ失敗などを含めて、順番に記載していきます。

Odooの仕入先請求書一覧(メール経由で自動作成された2件のドラフト)

Odooの環境と、課題の棚卸

環境は、

  • Odoo 19 Enterprise(Odoo Online)
  • Microsoft 365のExchange Online
  • Power Automate

Odoo側には「会計」「購買」「ドキュメント」そして請求書のAI読み取り(Account Invoice Extract)がインストール済み。

Odooにはメールエイリアスという機能があり、仕訳帳ごとに専用メールアドレスが割り当てることができます。
購買仕訳帳のエイリアス宛にPDF添付メールを送ると、Odooが受け取って仕入先請求書のドラフトを自動生成。
ここまでは標準機能で、設定すら不要でした。
つまり課題は「Outlookに届いたメールを、そのエイリアス宛に自動転送できるか」だけでした。

購買仕訳帳のメールエイリアス設定画面

第一の壁。自動転送ブロック設定

Outlookの受信ルールで転送を設定。
5分で終わる作業に見えましたが、テストメールに返ってきたのは配信不能通知でした。

550 5.7.520 Access denied, Your organization does not allow external forwarding.

Microsoft 365にはテナント全体で外部への自動転送をブロックする設定があります。
乗っ取られたアカウントからの情報流出を防ぐ通常のセキュリティ機能となります。
そしてOdooのエイリアスは、Microsoft側からは「外部」扱い。

注目したのは「手動の転送ボタンは通る」ということ。
手動で転送したメールはOdooに届き、ドラフトも正しく作られました。
ブロックされるのは「ルールによる自動転送」。
この差を知らないで構築してしまうと実現できません。

Outlookの受信ルールでOdooエイリアスへリダイレクトする設定

管理者側でブロックを解除する設定は存在します。
ただ、月数十通の請求書のために組織全体の情報漏洩対策を外すのは。。。
なので、別の方法を模索。

Power Automateの転送は通る

Power Automateの「メールの転送(V2)」はOutlookのルール機能ではなくGraph API経由の操作で、同じ「転送」でもExchangeから見れば別の経路を通ることになります。

実際にフローを組んで流した結果 — 実験成功。
Odoo側にPDFが添付され、バイト数も元ファイルと完全一致。
ルールベースの自動転送はブロックされるが、Power Automateの転送アクションは通る。
これで組織のセキュリティポリシーを一切変えずに目的を達成できます。

Power Automateのフロー(メール受信→転送→アラート送信)
Power Automateの実行履歴(861ミリ秒で成功)

ただ、これって「セキュリティホール」?はどうなんでしょ。
Power Automateのフロー作成にはライセンスが必要で、監査ログと実行履歴が残ります。ルールによる何も履歴がなど残らない転送よりは追跡はできます。

Odooのエイリアスは、スレッドを見ている

更に実験。
同じ請求書メールを2回転送するとどうなるか。

判断はメールヘッダのReferencesでした。
新しいスレッドとして送ればOdooは新規レコードを作り、既存スレッドへの返信・転送として送ると既存レコードに添付を追加するだけでドラフトは作られません。
検証中、これで同じPDFが2つぶら下がったレコードができました。

Odooには参照番号の重複を警告する仕組みもありますが、警告するだけで作成はされます。
「同じ請求書を二度取り込む」可能性ははらみつつ、月次チェック機能を組み込む必要があります。

AI読み取りの精度は、取引先ごとにまったく違う

結果はマチマチでした。

一方(クラウド請求システム発行のPDF)はほぼ完璧
取引先の特定・請求日・支払期日・参照番号・本体価格と消費税の分離・勘定科目の推定まで全部正しく、手直しゼロでした。

AI読み取りがほぼ完璧だった仕入先請求書ドラフト

もう一方(専用システム発行のPDF)は全滅
取引先が空欄、日付は実際と違い、参照番号は「8」という謎の一文字、税抜欄に税込金額が入って消費税ゼロ、勘定科目は売上原価 — 確認すべき6項目すべてが間違っていました。

AI読み取りが全項目誤りだった仕入先請求書ドラフト(修正後)

つまりAI読み取りは「入力の変わり」ではなく「入力テスト」のようです。
どちらのパターンに転ぶかは、実際に流してみるまで分かりません。
なお修正内容が学習にフィードバックされるのは記帳(validate)時のようで、ドラフトを放置しているだけでは精度は上がらない可能性があります。

コストと、データの置き場所

AI読み取りはOdooのIAP(In-App Purchase)の従量課金で、単位は「ページ」ではなく「ドキュメント」(請求書は8ページまで1件扱い)単位です。

パック 価格
100件 15ユーロ
1,000件 120ユーロ
10,000件 1,000ユーロ
100,000件 5,000ユーロ

月50件なら年600件、1,000件パックで1年8か月。月あたり6ユーロ — コストは論点になりません

IAP Document Digitizationの料金パック一覧

引っかかったのはデータの行き先です。
IAPのプライバシーポリシーによると、送信されるのは請求書ファイルに加え、自社の会社名・VAT番号・ユーザー言語・メールアドレス。サーバーはベルギーとフランス(Odooの本部)にあり、ファイルと解析結果は6か月保管され、サービス改善に利用されると明記されています。
テキスト化の工程ではGoogle Visionに渡ることもあるそうです。(EU域内処理制限つき・処理後数時間以内に削除)。
取引先名と金額の載った請求書を毎月数十件そこに置く — 許容できるかどうかは、コストとは別の判断が必要となります。
少々怖いです。

IAPプライバシーポリシー(収集情報と利用目的)
IAPプライバシーポリシー(保管期間6か月とGoogle Vision処理)

自動化は止まっても気づけない

作業中、今回で作成したフローではない既存フローの一覧で目に留まった表示があります。

「14日間一貫してフローが失敗しています。2025/11/24に無効にしました。」

Microsoftは連続失敗するフローを自動停止します。そして誰も気づいていませんでした。

14日間の連続失敗で自動無効化されたフロー

今回のフローも無関係ではないです。
取り込みが止まってもメール自体は受信トレイに届くので、日常業務では気づきにくく、失敗時にだけ担当者へアラートメールを送る仕組みも組み込みました(復旧手順と「14日で自動停止する」という警告文つき)。
Odoo側にも、ドラフト作成をトリガーに担当者へTo-Doと確認依頼メールを飛ばす自動化ルールを入れています(仕入先請求書には標準の承認ワークフローがないため、この形で代替)。

仕入先請求書ドラフト作成時の自動化ルール(To-Doと確認依頼)
担当者に届く確認依頼メール

成功時は無言。失敗時はアラートだしまくる。よくある設計ですが、ないと後々面倒。

完成した構成

請求書メール自動取り込みの全体構成図
請求書メール受信 → Power Automateが差出人と添付有無で判定してエイリアスへ転送 → Odooがドラフト作成+AI読み取り → 自動化ルールで担当者にTo-Do+確認依頼 → 人が確認・修正して記帳。転送失敗時のみアラート。

自動化されたのは「転送」と「起票」と「通知」です。

得られた原則

  1. 推測を結論として扱わない — 「手動で通ったから自動でも通るはず」はひっかかりそうなポイントです。実際動くかどうかは、やってみないと分かりません
  2. 失敗を検知できない自動化は作らない — 失敗時に無音なら、危ういです。

当社はOdooの公式パートナーとして、会計・購買まわりの業務自動化やMicrosoft 365等の外部サービスとの連携設計を支援しています。「うちの請求書フローでもできるか?」といったご相談はOdoo導入・開発・業務統合支援をご覧ください。

よくある質問

メールで届いた請求書をOdooに自動で取り込めますか?

できます。Odooの仕訳帳ごとに発行されるメールエイリアス宛にPDF添付メールを送ると、仕入先請求書のドラフトが自動作成されます(標準機能・設定不要)。課題になるのはOdoo側ではなくメール側で、Microsoft 365の外部転送ブロックをどう越えるかが本記事の主題です。

Microsoft 365の外部転送ブロック(550 5.7.520)はどう回避しましたか?

Outlookの受信ルールによる自動転送はブロックされますが、Power Automateの「メールの転送(V2)」アクションはGraph API経由のため通ります。組織のセキュリティポリシー(外部転送ブロック)を変更せずに自動転送を実現でき、フローには監査ログと実行履歴が残ります。

OdooのAI請求書読み取りの精度と費用はどのくらいですか?

精度は取引先のPDF形式によって大きく異なり、手直しゼロの場合もあれば、確認6項目すべてが誤りの場合もありました。読み取り結果は必ず人が検算する前提の運用を推奨します。費用はIAPの従量課金で1,000件120ユーロ(1件0.12ユーロ)。月数十件の規模ならコストは実質的に論点になりません。

同じ請求書メールを二重に取り込んでしまう心配はありませんか?

あります。Odooのエイリアスはメールヘッダ(References)でスレッドを判定しており、新規スレッドなら新しいドラフトが作られます。参照番号の重複は警告されますが作成自体はブロックされないため、月次での重複チェックを運用に組み込むことを推奨します。

弊社ではOdoo(オドゥ)を利用した業務システムの一元管理・オールインワンな仕組みの構築・開発をして企業様をサポートしています。
ご興味ある方は是非お問い合わせください。

※注意

本ブログの投稿内容に関するお問い合わせをして頂いてもご返信できませんので、何卒ご了承ください。