毎月決まった取引先から、請求書がメールで届いている方は多くいらっしゃいます。
添付PDFを開き、内容を確認し、Odooに仕入先請求書として入力。
月に数十件などなど、会社の取引規模によってはマチマチかと思います。
誰でもできる作業で、しかも間違えると支払いを忘れてしまったりで後処理が大変な作業。
本記事は「Outlookに届いた請求書メールを自動でOdooに取り込めないか」を実際にやってみたです。
結論、Odooへの取り込みは自動化できました。
そこまでに踏んだ失敗などを含めて、順番に記載していきます。
環境は、
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に届き、ドラフトも正しく作られました。
ブロックされるのは「ルールによる自動転送」。
この差を知らないで構築してしまうと実現できません。
管理者側でブロックを解除する設定は存在します。
ただ、月数十通の請求書のために組織全体の情報漏洩対策を外すのは。。。
なので、別の方法を模索。
Power Automateの「メールの転送(V2)」はOutlookのルール機能ではなくGraph API経由の操作で、同じ「転送」でもExchangeから見れば別の経路を通ることになります。
実際にフローを組んで流した結果 — 実験成功。
Odoo側にPDFが添付され、バイト数も元ファイルと完全一致。
ルールベースの自動転送はブロックされるが、Power Automateの転送アクションは通る。
これで組織のセキュリティポリシーを一切変えずに目的を達成できます。
ただ、これって「セキュリティホール」?はどうなんでしょ。
Power Automateのフロー作成にはライセンスが必要で、監査ログと実行履歴が残ります。ルールによる何も履歴がなど残らない転送よりは追跡はできます。
更に実験。
同じ請求書メールを2回転送するとどうなるか。
判断はメールヘッダのReferencesでした。
新しいスレッドとして送ればOdooは新規レコードを作り、既存スレッドへの返信・転送として送ると既存レコードに添付を追加するだけでドラフトは作られません。
検証中、これで同じPDFが2つぶら下がったレコードができました。
Odooには参照番号の重複を警告する仕組みもありますが、警告するだけで作成はされます。
「同じ請求書を二度取り込む」可能性ははらみつつ、月次チェック機能を組み込む必要があります。
結果はマチマチでした。
一方(クラウド請求システム発行のPDF)はほぼ完璧。
取引先の特定・請求日・支払期日・参照番号・本体価格と消費税の分離・勘定科目の推定まで全部正しく、手直しゼロでした。
もう一方(専用システム発行のPDF)は全滅。
取引先が空欄、日付は実際と違い、参照番号は「8」という謎の一文字、税抜欄に税込金額が入って消費税ゼロ、勘定科目は売上原価 — 確認すべき6項目すべてが間違っていました。
つまり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のプライバシーポリシーによると、送信されるのは請求書ファイルに加え、自社の会社名・VAT番号・ユーザー言語・メールアドレス。サーバーはベルギーとフランス(Odooの本部)にあり、ファイルと解析結果は6か月保管され、サービス改善に利用されると明記されています。
テキスト化の工程ではGoogle Visionに渡ることもあるそうです。(EU域内処理制限つき・処理後数時間以内に削除)。
取引先名と金額の載った請求書を毎月数十件そこに置く — 許容できるかどうかは、コストとは別の判断が必要となります。
少々怖いです。
作業中、今回で作成したフローではない既存フローの一覧で目に留まった表示があります。
「14日間一貫してフローが失敗しています。2025/11/24に無効にしました。」
Microsoftは連続失敗するフローを自動停止します。そして誰も気づいていませんでした。
今回のフローも無関係ではないです。
取り込みが止まってもメール自体は受信トレイに届くので、日常業務では気づきにくく、失敗時にだけ担当者へアラートメールを送る仕組みも組み込みました(復旧手順と「14日で自動停止する」という警告文つき)。
Odoo側にも、ドラフト作成をトリガーに担当者へTo-Doと確認依頼メールを飛ばす自動化ルールを入れています(仕入先請求書には標準の承認ワークフローがないため、この形で代替)。
成功時は無言。失敗時はアラートだしまくる。よくある設計ですが、ないと後々面倒。
請求書メール受信 → Power Automateが差出人と添付有無で判定してエイリアスへ転送 → Odooがドラフト作成+AI読み取り → 自動化ルールで担当者にTo-Do+確認依頼 → 人が確認・修正して記帳。転送失敗時のみアラート。
自動化されたのは「転送」と「起票」と「通知」です。
当社はOdooの公式パートナーとして、会計・購買まわりの業務自動化やMicrosoft 365等の外部サービスとの連携設計を支援しています。「うちの請求書フローでもできるか?」といったご相談はOdoo導入・開発・業務統合支援をご覧ください。
できます。Odooの仕訳帳ごとに発行されるメールエイリアス宛にPDF添付メールを送ると、仕入先請求書のドラフトが自動作成されます(標準機能・設定不要)。課題になるのはOdoo側ではなくメール側で、Microsoft 365の外部転送ブロックをどう越えるかが本記事の主題です。
Outlookの受信ルールによる自動転送はブロックされますが、Power Automateの「メールの転送(V2)」アクションはGraph API経由のため通ります。組織のセキュリティポリシー(外部転送ブロック)を変更せずに自動転送を実現でき、フローには監査ログと実行履歴が残ります。
精度は取引先のPDF形式によって大きく異なり、手直しゼロの場合もあれば、確認6項目すべてが誤りの場合もありました。読み取り結果は必ず人が検算する前提の運用を推奨します。費用はIAPの従量課金で1,000件120ユーロ(1件0.12ユーロ)。月数十件の規模ならコストは実質的に論点になりません。
あります。Odooのエイリアスはメールヘッダ(References)でスレッドを判定しており、新規スレッドなら新しいドラフトが作られます。参照番号の重複は警告されますが作成自体はブロックされないため、月次での重複チェックを運用に組み込むことを推奨します。