製品マスター800件をOdooに取り込んだ翌日、倉庫から電話がかかってきます。「冷凍食品が、乾物のカテゴリに入っていますよ」。調べると、300件の分類がずれていました。
しかもOdooのインポートは、取り消しができません(出典:Odoo公式ドキュメント「データのエクスポートとインポート」、2026年10月確認)。
それでも、インポートを怖がる必要はありません。取り込み直しの多くは、機能を知らないことから起きています。原因はほとんどが3つに分けられ、どれもファイルを作る段階で防げます。
Odoo(オドゥー)は、販売・在庫・会計などをひとつにつなぐERPです。インポートは、データを一括で登録・更新する機能です。導入時にも日々の運用でも欠かせません。
たとえば取り込みの画面には、登録せずにエラーだけを調べる「テスト」があります(テストで空打ちする)。
5つの型を押さえると、たとえば次のことが変わります。
- 取り込み直しても、同じIDの行は更新になり、取引先が二重になりにくい
- 取引先200社の支払条件の変更が、画面で1社ずつ直すより早く終わる
- Odoo 19なら、数万行のファイルも手で分けずに取り込める
- 赤い帯のエラー文をAIに貼り、Excelの直し方を日本語で聞ける
ただし、テストで青い帯が出ても、中身の誤りまでは防げません。型の良い点と手間は、この進め方の良い点と、気をつけることに並べました。
では、冒頭の300件のずれは、どの型で防げたのか。答えは同じ名前の子カテゴリはIDで指定するにあります。
Community版とEnterprise版について
この記事で扱うインポート機能は、無料のCommunity版と有償のEnterprise版の両方にあります。記事の最後に触れる外部モジュールだけは、自社でサーバーを運用する形(オンプレミス・Odoo.sh)が前提です。
Odooのインポートで取り込み直しが起きる3つの原因
取り込み直しの原因は、ほとんどが次の3つに分けられます。
| 原因 | 起きること | 防ぐ型 |
|---|---|---|
| 列の対応がずれる | 電話番号の列が、別の項目に入る | 型1 公式テンプレート |
| 参照先がまだない | 担当者の「会社」が見つからずエラー | 型3 親から子の順 |
| 同じものが二重になる・消える | 取り込み直すたびに取引先が増える。空欄で値が消える | 型2 ID列、型5 変える列だけ |
どれも、ファイルを作る段階で防げます。インポートの画面で慌てる前に、ファイルの形を整えておくのが近道です。
直す作業そのものは、ClaudeやChatGPTに任せられます。旧システムのファイルとOdooのテンプレートを一緒に渡し、「この列の形に組み替えて」と頼むだけです。文字化けや和暦、「▲」の付いた金額など、取り込む前の直し方はOdooに入れる前の下ごしらえをAIに任せるにまとめています。
型1:列名は考えず、公式テンプレートから始める
Odooの主な一覧(連絡先・製品など)には、インポート用のテンプレートが用意されています。テンプレートは項目との対応づけが済んだ状態です。中身を埋めれば、そのまま取り込めます(出典:Odoo公式ドキュメント「データのエクスポートとインポート」、2026年10月確認)。
さくら商事で、自社で作ったExcelと比べてみます。
| 自社で作ったExcelの見出し | テンプレートに合わせた見出し |
|---|---|
| 会社名/TEL/メアド/締め | Name/Phone/Email/… |
| 取り込み画面で1列ずつ項目を選び直す | 対応づけが済んでいて、そのまま取り込める |
テンプレートがないデータは、Odooで1件だけ手で作ってエクスポートすると列名が分かります。公式ドキュメントも案内している方法です。
テンプレートの見出しは英語のことがあります。見出しを日本語に書き換えると、Odooが自動で対応づけできなくなります。見出しはそのままにして、入れるのは中身だけです。
現場から集めるなら、選択肢を決めておく
営業や倉庫からExcelでデータを集めると、同じ意味の言葉がばらばらに入ってきます。
| 顧客名 | 区分(手入力) |
|---|---|
| あおば食品 | おろし |
| ひかり製菓 | 卸売 |
| つばさマート | 卸 |
Odooに登録済みの区分は「卸」だけなので、上の2行は「見つからない」扱いです。Excelのドロップダウン(入力規則)で選択肢を決めておくと、この手直しが消えます。
ClaudeのExcel連携機能(Claude for Excel)には、ドロップダウンを作る機能があります。ただし、使えるプランとExcelの版に条件があります(出典:Claude Docs「Use Claude for Excel」、2026年9月確認)。Excel 2016・2019の買い切り版では使えません。選択肢の値は、Odooの登録値と一字一句そろえます。
型2:ID列を付けて、重複と取り違えを防ぐ
Odooのインポートでは、各行に「External ID」という識別子を付けられます。2回目以降に同じIDの行を取り込むと、既存のデータを更新します(出典:Odoo公式ドキュメント、2026年10月確認)。
旧コードに表の名前を付けてIDにする
公式ドキュメントは、旧システムのコードに表の名前を付けてIDにする方法を勧めています。会社と担当者のように親子関係がある場合は、子の側に親のIDを書きます。
旧システムの2つの表
| 得意先CD | 得意先名 |
|---|---|
| 1001 | さくら商事株式会社 |
| 1002 | みどり精工株式会社 |
| 担当CD | 氏名 | 得意先CD |
|---|---|---|
| 1 | 山田 花子 | 1001 |
| 3 | 鈴木 次郎 | 1002 |
Odooに取り込む形
| External ID | Name | Is a Company | Related Company/External ID |
|---|---|---|---|
| tokui_1001 | さくら商事株式会社 | True | |
| tokui_1002 | みどり精工株式会社 | True | |
| tanto_1 | 山田 花子 | False | tokui_1001 |
| tanto_3 | 鈴木 次郎 | False | tokui_1002 |
得意先に「tokui_」、担当者に「tanto_」を付けたので、番号が重なっても衝突しません。移行後に旧システムと突き合わせるときも、旧コードで探せます。IDが重複すると、別のデータに上書きされるおそれがあります。
同じ名前の子カテゴリは、IDで指定する
冒頭の事故は、ここで防げました。製品カテゴリに同じ名前の子があると、Odooは最初に見つかった方に紐づけます(出典:Odoo公式ドキュメント、2026年10月確認)。
| 製品カテゴリ(階層) |
|---|
| 食品/冷凍/その他 |
| 食品/乾物/その他 |
| 資材/その他 |
製品のファイルに「その他」とだけ書くと、3つのうちどれに入るかを選べません。テストの確認は止まりますが、そのまま取り込むこともできてしまいます。見過ごすと、気づくのは倉庫から電話が来たときです。
対策は2つです。カテゴリの名前を一意に変えるか、カテゴリにIDを付けて、製品の側でIDを指定します。名前ではなくIDで指定するには、列の見出しの末尾に「/ ID」を付けるだけです。同じ名前のカテゴリがいくつあるかは、カテゴリ一覧をAIに渡せばすぐに洗い出せます。
型3:親から子の順に取り込む
取り込むデータが、別のデータを参照していることがあります。製品なら製品カテゴリ、担当者なら会社が参照先です。参照先が先に入っていないと、取り込みはエラーになります。
Odoo公式ドキュメントも、関連先のデータを先に取り込むよう求めています。製品カテゴリは製品より先です(出典:Odoo公式ドキュメント「会計:はじめに」、2026年10月確認)。
移行するデータが多いと、順番を考えるだけでもひと仕事です。移行するファイルの一覧と主な列をClaudeに貼り、「どの列が別の一覧を参照しているか」を洗い出させると、取り込み順の表がすぐにできます。
型4:取り込む前に、テストで空打ちする
インポートの画面には、登録せずにエラーだけを調べる「テスト」があります。問題がなければ青い帯、問題があれば赤い帯で、該当の箇所と直し方が表示されます(出典:Odoo公式ドキュメント「製品のインポート」、2026年10月確認)。
| 品名 | 製品種別 | 販売価格 | テストの結果 |
|---|---|---|---|
| 北海道バター450g | 在庫品 | 1,280 | 指摘:製品種別に「在庫品」という値がない |
| 讃岐うどん乾麺 | Goods | 1280円 | 赤い帯:数値に変換できない |
| 有機緑茶100g | Goods | 980 | 問題なし |
赤い帯のエラー文は、そのままClaudeやChatGPTに貼って「元のExcelのどこをどう直せばよいか」を聞けます。エラー文が英語でも、返ってくる直し方は日本語です。直したファイルでもう一度テストし、青い帯が出てから取り込みます。
見つからない値の扱いは、列ごとに選ぶ
テストで「見つからない値」があると、Odoo 19では列ごとに処理を選べます(出典:Odoo 19のソースコード、2026年9月確認)。
| 選べる処理 | 向いている場面 |
|---|---|
| インポートしない | 取引先・勘定科目など、重要なマスター |
| 新しく値を作成 | タグなど、増えても害が小さいもの |
| 空白の値をセット/レコードをスキップ | 必須でない項目で、あとで直せばよいもの |
さくら商事の製品ファイルで、2つの列に見つからない値が出た場合です。
| 列 | 見つからない値 | 選んだ処理 | 理由 |
|---|---|---|---|
| タグ | 新商品 | 新しく値を作成 | タグは増えても困らない |
| 仕入先 | ㈱讃岐製麺 | インポートしない | 既存の「讃岐製麺株式会社」と同じ会社。表記をそろえて取り込み直す |
取引先で「新しく値を作成」を選ぶと、表記ゆれのまま取引先が増えていきます。重要なマスターほど、選ぶのは止めて直す方です。取引先の表記ゆれや重複を日々点検する方法は、取引先マスターを毎日きれいに保つにまとめています。
テストを通っても、内容が正しいとは限りません。同じ名前の子カテゴリのずれは、テストで確認が止まっても、そのまま取り込めてしまいます。テストの後に数件を画面で開いて確かめるのは、そのためです。
型5:更新するときは、変える列だけを残す
インポートは、新しく登録するだけでなく、既存データの一括更新にも使えます。取引先200社の支払条件を一斉に変えるような作業は、画面で1社ずつ直すより、ずっと早く終わります。
更新用のエクスポートを使う
エクスポートのときに更新用の出力(import-compatible export)を選ぶと、ID列が自動で入ります(出典:Odoo公式ドキュメント)。このファイルを直して取り込めば、既存のデータが更新されます。
| External ID | 名前 | 支払条件(変更後) |
|---|---|---|
| (自動で入るID) | サクラ商事株式会社 | 月末締め翌月末払い |
| (自動で入るID) | みどり精工株式会社 | 月末締め翌月末払い |
IDの列を消したり書き換えたりすると、更新ではなく新しいデータとして登録されます。ID列には手を触れません。
空欄の列は、既存の値を消す
更新でいちばん多い事故が、これです。Odooは、ファイルにない項目には手を付けません。ところが、列があってセルが空欄だと、空の値で上書きします(出典:Odoo公式ドキュメント「データのエクスポートとインポート」、2026年10月確認)。
電話番号だけ変えたいのに、メールの列を空欄で残したファイル
| External ID | 電話(変更) | メール |
|---|---|---|
| partner_12 | 03-1111-9999 | (空欄) |
このまま取り込むと、登録済みのメールアドレスが消えます。変えない項目は、セルを空にするのではなく、列ごと削除します。
正しいファイル
| External ID | 電話 |
|---|---|
| partner_12 | 03-1111-9999 |
変更前と変更後のファイルをAIに渡し、「変わった列だけを残して」と頼めば、この絞り込みは確実です。
形の決まりごとを押さえる
インポートのファイルには決まった書き方がいくつかあり、知らないとエラーにならずに意図と違う形で入ります。
明細のある伝票は「1明細=1行」
受注や発注のように明細がある伝票は、1行目に伝票の情報と1つめの明細を書きます。2つめ以降の明細は、伝票の列を空けた行として続けます(出典:Odoo公式ドキュメント「データのエクスポートとインポート」、2026年10月確認)。
| External ID | Customer | Order Date | Order Lines/Product | Order Lines/Quantity |
|---|---|---|---|---|
| so_J001 | あおば食品 | 2026-09-01 | 北海道バター450g | 10 |
| 讃岐うどん乾麺 | 5 | |||
| 有機緑茶100g | 2 |
2行目以降にも受注番号を繰り返すと、明細ごとに別の受注ができてしまいます。旧システムが「伝票の表」と「明細の表」に分かれていれば、AIに数行を見せて、この形に組み替えさせます。
複数のタグは「半角カンマ・空白なし」
1つの取引先に複数のタグを付けるときは、同じセルに半角カンマで区切って書きます(出典:同上)。Odoo 19のソースコードでも、区切りとして扱うのは半角カンマだけでした。
| 元の書き方 | Odooでの扱い | 直した書き方 |
|---|---|---|
| 卸/小売 | 「卸/小売」という1つのタグ | 卸,小売 |
| 卸、小売 | 「卸、小売」という1つのタグ | 卸,小売 |
| 卸, 小売 | 「卸, 小売」という1つのタグ | 卸,小売 |
製品の画像は、ファイル名でまとめて紐づける
製品の画像を1枚ずつ登録する必要はありません。ファイルの画像の列にファイル名を書き、インポートのときに画像をまとめて選ぶと、ファイル名で紐づきます(出典:同上)。
| Name | Image |
|---|---|
| 北海道バター450g | butter450.jpg |
| 讃岐うどん乾麺 | udon_dry.jpg |
画像の列に空欄があると、画像を選ぶ欄が使えません。画像のない製品は、別のファイルに分けて取り込みます。画像フォルダと製品一覧の照合は、AIに任せられる作業です。
数万行は、分けずに取り込める
Odoo 19では、100行を超えるファイルを読み込むと、分割取り込みの設定が表示されます。初期値では2,000行ずつ順に取り込み、途中で止まっても、その行から再開できます(出典:Odoo 19のソースコード、2026年9月確認)。ファイルを手で12個に分けて、どこまで入れたかを数える作業はいりません。
Odooに取り込む前のチェックリスト
インポートの前に、担当者と一緒に確かめてください。1つでも「いいえ」があれば、取り込むのはまだ早い状態です。
- □ 公式テンプレート(または1件エクスポートしたファイル)の列名を使っている
- □ 見出しを日本語に書き換えていない
- □ すべての行にIDがあり、重複していない
- □ 同じ名前のカテゴリや取引先がないかを洗い出した
- □ 参照先のデータを先に取り込んだ
- □ 明細のある伝票は「1明細=1行」の形になっている
- □ 更新のファイルに、空欄のまま残した列がない
- □ テストで青い帯が出た
- □ テスト後、数件を画面で開いて中身を確かめる担当者を決めた
データ移行のインポート計画を立てるまでの進め方
ベンチャーネットが、システム移行のインポートを計画するときの順番です。
- 取り込むデータの一覧を作る:マスター・残高・伝票ごとに、ファイルの名前と行数を並べる。捨てるデータもここで決める
- 参照関係を洗い出す:どのデータがどのデータを参照しているかをAIに出させ、人が確かめて取り込み順を決める
- IDの付け方を決める:表ごとの接頭語(tokui_、tanto_ など)を決め、全ファイルで統一する
- 少ない件数で通しの練習をする:各ファイル10件ほどで、取り込み順どおりにテストと取り込みを行い、画面で結果を見る
- 本番の取り込みを予行どおりに行う:練習と同じ順番・同じファイルの形で、件数だけを増やす
手順4の練習は、テスト用のデータベースで行います。取り込みは取り消せないので、本番のデータベースで練習しないことが大前提です。移行全体の進め方は、Odooへのデータ移行の進め方にまとめています。製品を問わないクレンジングや並行稼働の考え方を解説したのが、NetSuiteの教科書の基幹システムのデータ移行ガイドです。
OCA(Odooの有志団体)には、External IDがなくても指定の項目で照合して更新するモジュールもあります。ただし、2026年9月時点でOdoo 19版は公開されておらず、使えるのも自社でサーバーを運用する場合だけです。
この進め方の良い点と、気をつけること
5つの型とこの計画の順番には、得られることと、先に見込んでおきたい手間があります。テンプレート、External ID、テスト、分割取り込みは、Community版とEnterprise版の両方にある標準の機能です。
良い点は、次の5つです。
- 取り込み直しが減る:列のずれ、参照先の不足、重複と上書きを、ファイルを作る段階で防ぐ
- 取り込み直しても二重になりにくい:同じExternal IDの行は、既存のデータの更新として入る
- 一括の更新が早く終わる:取引先200社の支払条件も、画面で1社ずつ直すより早い
- 大きなファイルも分けずに入る:Odoo 19では初期値で2,000行ずつ取り込み、止まってもその行から再開できる
- 組み替えと洗い出しをAIに任せられる:列の組み替えや、参照関係・同じ名前のカテゴリの洗い出しを頼める
気をつけることは、次の4つです。
- 取り込みは取り消せない:練習はテスト用のデータベースで行い、本番のデータベースでは練習しない
- テストを通っても中身は保証されない:空欄の列による上書きは、テストでは止まらない
- 決めることは人に残る:IDの付け方、取り込む順番、見つからない値の扱いは、人が決める
- バージョンで変わることがある:分割取り込みの初期値や、見つからない値の処理の選択肢
両方を1枚の図に並べました。
2つ目の注意点は、取り込む前のチェックリストの最後の3項目で確かめられます。
バージョンと機能の更新について
この記事の内容は、2026年9月時点のOdoo 19の公式ドキュメントとソースコードにもとづいています。分割取り込みの初期値や、見つからない値の処理の選択肢は、バージョンアップで変わることがあります。Odoo 20を使う場合は、テスト用のデータベースで画面を確かめてから本番の作業に入ってください。
よくある質問
インポートを間違えたら、元に戻せますか?
戻せません。Odooのインポートは取り消しができないと、公式ドキュメントに明記されています。直すには、正しいファイルで取り込み直すか、画面で1件ずつ直します。だからこそ、テストと少ない件数での練習が欠かせません。
テストで青い帯が出れば、安心して取り込めますか?
形の誤りは防げますが、中身の誤りまでは防げません。空欄の列による上書きは、テストでは止まりません。同じ名前のカテゴリのずれも、テストで確認が止まるだけで、取り込めてしまいます。テストの後に、数件を画面で開いて確かめてください。
Community版でも、同じようにインポートできますか?
できます。テンプレート、External ID、テスト、分割取り込みは、Community版とEnterprise版の両方にある標準の機能です。
インポート用のファイル作りを、AIに任せても大丈夫ですか?
組み替えや洗い出しは任せられます。ただし、IDの付け方、取り込む順番、見つからない値をどう扱うかは、人が決めてください。AIには、決めたルールどおりにファイルを作らせ、テストの結果を人が見る形が安全です。
既存のデータを、インポートで一括更新できますか?
ID列のあるファイルで取り込めば更新できます。更新用の出力(import-compatible export)でエクスポートすると、ID列が自動で入ります。そのファイルの値を直して取り込みます。変えない項目は、セルを空欄にせず、列ごと削除してください。手順は更新するときは、変える列だけを残すにまとめています。
まとめ:取り込みは、ファイルを作る段階で決まる
Odooのインポートで取り込み直しが起きる原因は、列のずれ、参照先の不足、重複と上書きの3つです。どれも、公式テンプレート、ID列、親から子の順番、テスト、変える列だけを残す更新の5つの型で防げます。
インポートは取り消せません。だからこそ、画面で慌てるのではなく、ファイルを作る段階で勝負が決まります。組み替えや洗い出しはAIに任せ、決めることと確かめることは人が持ちます。
1年後、月に一度の価格改定は、エクスポートしたファイルの価格の列を直して取り込むだけの作業になっているはずです。新しい仕入先の製品200件も、テンプレートに貼ってテストを押せば入る。取り込みを怖がらなくなった会社では、Odooのデータは古びずに回り続けます。
もう少し詳しく知りたい方へ
移行のデータが多くて取り込み順が決められない、取り込み直しが続いているといった悩みがあれば、実際のファイルを見ながら一緒に計画を立てます。
あわせて読みたい記事
- ブルシットジョブを消し去る|国産SaaS×Odoo×AIの組み合わせ術
- Odooに入れる前の下ごしらえをAIに任せる|CSVの文字化け・和暦・「▲」・半角カナをまとめて直す
- 取引先マスターを毎日きれいに保つ|登録番号・法人番号の照合と重複・表記ゆれの自動チェック
- Odooへのデータ移行の進め方
- Excel管理からOdooへ|脱スプレッドシートの進め方
- 顧客・仕入先・届け先を一つの連絡先で管理する|マスター設計の考え方
- 入力の二度手間をなくす|「一度入れたら全部に反映」の仕組み
- OCAとは?Odooコミュニティモジュールの活用
- Odoo Community版とEnterprise版の違い|アプリ別の機能一覧つき
