Odoo の会計連携 — MF・freee とつなぐ
Odoo 19 Community で立った仕訳を、マネーフォワード クラウド会計や freee 会計へ渡すには。仕訳明細の書き出し(CSV・Excel)と外部 API を見本のデータで実際に試し、各社の取り込みの形と比べて、足りない所を整理します。
目次
目次
このページには目次がありません

受注から請求・入金までを Odoo で回し、記帳と申告はいまの会計ソフトのまま。この分け方をするとき、いちばん手間がかかるのは「Odoo の仕訳を、会計ソフトへどう渡すか」です。
Odoo Community には、マネーフォワード クラウド会計(以下 MF)や freee 会計へ直接つなぐ部品は入っていません。入っているのは、仕訳を書き出す道具(CSV・Excel)と 外部 API です。この記事では、見本のデータの入った Odoo 19 Community で両方を実際に試し、各社が受け取る形と比べました。
Odoo では、伝票を記帳した時点で仕訳が立つ
Odoo の請求書や入金は、それ自体が仕訳です。記帳(確定)すると、借方・貸方の明細が会計の帳簿に入ります。見本のデータでは、請求 5・仕入先請求 2・入金 2 の 9 件 が記帳済みで、明細は 31 行 ありました。
明細の一覧は 会計の「確認」→「仕訳明細」にあります。
仕訳明細の場所(画面は見本のデータです)
記帳済みの仕訳の明細(画面は見本のデータです)
ここで1つ注意があります。Community の初期の状態では、請求の管理者の権限を持つ人でも 「会計」「確認」のメニューと「勘定科目」の列が出ません。利用者の設定(開発者モード)で 「全会計機能を表示」を付けると出てきます。書き出しを担当する人には、先にこの権限を付けておきます。
方法1:一覧から CSV・Excel に書き出す
仕訳明細の一覧で行を選び、アクション → エクスポート を押します。
選んだ行を書き出す(画面は見本のデータです)
書き出す列を選ぶ画面が開きます。形式は XLSX と CSV から選べます。
書き出す列を選ぶ(画面は見本のデータです)
最初から選ばれているのは、一覧に出ている 8 列 です。左の一覧には 103 項目 が並び、足したい列を + で加えます。「仕訳帳」「税金」「起票元の税」の 3 列 を足して書き出すと 11 列、行は 31 行 でした。
書き出したファイルの中身は、こうなっています(請求書 1 件の分)。
| 勘定科目 | ラベル | 借方 | 貸方 | 税金 | 起票元の税 |
|---|---|---|---|---|---|
| 売上高 | 精密ブラケット A型 | 360,000 円 | 10% | ||
| 売上高 | 保守点検サービス(年間) | 60,000 円 | 10% | ||
| 仮受消費税 | 10% | 42,000 円 | 10% | ||
| 売掛金 | 受注の番号・請求書の番号 | 462,000 円 |
試して分かったことを3つ挙げます。
- 1 行に、借方か貸方のどちらか片方しか無い。請求書 1 件が 4 行 になり、売上は品目ごとに 2 行 に分かれます
- 消費税は、独立した行として立つ。売上の行には税率(税金の列)だけが付き、税額は「仮受消費税」の行にあります
- 勘定科目は「コード 名前」が 1 つの列に入る。科目の名前だけが欲しいときは、分けて取り出します
もう1つ、入金の仕訳は、借方が「預金」ではなく 「未消込入金」でした(237,600 円 の入金の例)。入金を登録しただけでは、まだ銀行の明細と突き合わせていない、という扱いです。会計ソフトへ渡すときに、この科目を何として扱うかを先に決めておきます。
方法2:外部 API で取り出す
Odoo 19 には、外部から呼ぶための API(/json/2/<モデル>/<メソッド>)が入っています。個人設定 → セキュリティ → API キーを追加 でキーを作り、そのキーを付けて問い合わせます。キーの有効期間は、最初は 1 日 が選ばれていました。
curl -X POST http://<Odoo のアドレス>/json/2/account.move.line/search_read \
-H "Authorization: bearer <API キー>" \
-H "X-Odoo-Database: <データベース名>" \
-H "Content-Type: application/json" \
-d '{"domain":[["parent_state","=","posted"]],
"fields":["date","move_name","account_id","partner_id","name","debit","credit","tax_ids","tax_line_id"],
"context":{"lang":"ja_JP"}}'
見本のデータでは 31 行 が返り、借方と貸方の合計は 1,484,780 円で一致しました。仕訳明細で取り出せる項目は 108 項目 あります。エクスポートの画面の 103 項目 より多いのは、エクスポートの画面が書き出せない印の付いた項目を一覧から外すためです(配布物の web/controllers/export.py。どの 5 項目かまでは確かめていません)。context に言語を付けないと、勘定科目の名前が英語で返る点に気をつけます。
使えるモデルとメソッドは、Odoo の中の /doc という画面で確かめられます。
Odoo の中にある API の説明の画面。右のモジュールの選び方で、Fields の表に出る項目が変わります(画面は見本のデータです)
なお、以前からある /xmlrpc・/jsonrpc の呼び方は、Odoo 19 で「非推奨・Odoo 22 で削除予定」と書かれています。新しく作るつなぎは /json/2 で作ります。
MF・freee が受け取る形
各社の公式のヘルプで読めた範囲をまとめます(2026年10月26日に確認)。
| MF クラウド会計 | freee 会計 | |
|---|---|---|
| 取り込む画面 | 会計帳簿 → 仕訳帳 → インポート | 取引入力 → 振替伝票 → インポート →「他社会計ソフト仕訳のインポート」 |
| 形 | 指定のサンプルフォーマット(27 列・うち 4 列 は入力不要=取り込みで使う列は 23 列) | 指定のテンプレート。各行の先頭に「[明細行]」 |
| 必須 | 取引日・勘定科目・金額 | 表題行・日付・伝票番号・借方勘定科目・借方金額・貸方勘定科目・貸方金額(7 列) |
| 1 つの仕訳のまとめ方 | 取引No と取引日が同じで、貸借の合計が合う行 | 伝票番号が同じ行 |
| 税 | 借方・貸方それぞれに税区分と税額の列 | 税抜経理なら借方税額・貸方税額が必須 |
| 文字コード | ヘルプのページには記載なし | Shift-JIS 版と UTF-8 版のテンプレート |
| 上限 | 現在の会計年度の取引日だけ | 64MB・50,000 行 |
| 二重の取り込み | 取り込むたびに新しい仕訳になり、登録済みは更新できない | 取り込み履歴から削除すると、取り込んだデータも消える |
出典:MF『「仕訳帳」をインポートする』・freee「他社会計ソフトから仕訳データを移行する」
どちらも、借方と貸方を 1 行に横に並べる形 を受け取ります。勘定科目の名前が会計ソフトの登録名と一致しないと、取り込みの途中で対応づけを聞かれます。
そのままでは渡せない所と、当社が足す物
Odoo の書き出しと、各社の取り込みを並べると、差は次の4つです。
| 差 | Odoo の書き出し | 会計ソフトが受け取る形 |
|---|---|---|
| 行の形 | 1 行に借方か貸方の片方 | 借方と貸方を 1 行に |
| 消費税 | 仮受・仮払消費税が別の行 | 売上・仕入の行に税区分と税額 |
| 科目の名前 | Odoo の勘定科目(コード 名前) | 会計ソフトの登録名 |
| 二重の防止 | 書き出しても仕訳に印は付かない | 取り込むたびに新しい仕訳 |
この差を埋める 変換 を、当社が足します。
- 会計ソフトごとの形に並べ替える:仕訳の番号でまとめ、借方と貸方を横に並べ、税の行を売上・仕入の行の税額へ寄せます。MF 用・freee 用の形を用意します
- 科目と税区分の対応表:Odoo の勘定科目・税を、会計ソフトの科目名・税区分へ置き換える表を、Odoo の中に持たせます。対応表に無い科目がある仕訳は書き出さずに止めます
- 書き出し済みの印:書き出した仕訳に印を付け、同じ仕訳を二度渡さないようにします
- 期間で区切る:会計ソフト側で締めた月の仕訳を、あとから混ぜないようにします
API で会計ソフトへ直接送る形も作れますが、まずはファイルで渡し、会計ソフト側で取り込み前に目で確かめる形をおすすめしています。
使い始める前に決めておくこと
- どちらで記帳を締めるか。Odoo で仕訳を立て、会計ソフトで締めて申告する、という分け方を先に決めます。会計ソフト側で直した仕訳は Odoo に戻りません
- 入金を預金として渡すか。未消込入金のまま渡すか、銀行の明細と突き合わせてから渡すかを決めます
- 渡す単位。毎日・毎週・月末にまとめて、のどれにするか。月末にまとめるほど、取り込みの前の確認が重くなります
- 書き出す人の権限。「全会計機能を表示」を付けた人だけが、仕訳明細を書き出せるようにします
Odoo Community と Enterprise の違いは「Community と Enterprise、何が違う?」で、自社の追加部品の置き場は「アップデートしても壊れない — Odoo の拡張の作り方」で紹介しています。




