
適用範圍
適用 Odoo 19;各流程須具備相應應用、訂閱、權限及郵件設定。例子均為虛構,介面翻譯可能不同。
研究方法
僅核對 Odoo 19 官方文件;本輪沒有新增 Odoo 產品實測。來源核對僅涵蓋下列 scope。
匯入之前,先保留穩定的 External ID。本文依據 Odoo 19 官方文件,協助團隊判斷每行資料應建立公司、建立相關聯絡人,還是更新既有記錄。以下名稱均為虛構,沒有使用即時聯絡人資料庫。
目錄
先判斷每行代表甚麼
公司與採購聯絡人是有關聯的兩筆記錄。第二位員工應是另一位聯絡人,不應取代公司名稱。整理檔案前,先決定公司名稱、電郵及電話以哪個來源為準,以及誰有權批准修正。
本例的虛構公司有一位採購聯絡人,目標是建立兩筆互相關聯的記錄,而非兩位互不相關的客戶。External ID 用於跨次匯入辨認同一記錄,與資料庫內部數字 ID 不同;首次載入後應保持穩定。
複製兩份檔案例子
公司檔案:
External ID,Name,Is a Company
migration_company_001,Harbour Sample Limited,True
個人檔案:
External ID,Name,Is a Company,Related Company/External ID,Email
migration_person_001,Alex Sample,False,migration_company_001,alex@example.com
先匯入公司,再匯入個人。關聯欄位指向公司的 External ID。請使用目前資料庫的匯入範本或可相容匯入的匯出檔,核對欄位名稱及映射。這些標題沿用官方 19.0 文件例子,不代表所有翻譯介面都顯示相同名稱。
先檢查受控小批次
在 Contacts 清單的動作選單選 Import records,載入公司檔,逐欄映射,按 Test,處理錯誤後才按 Import;個人檔亦採相同方式。Test 驗證資料是否可接受,不能代替業務關係核對。
本例的驗收結果應是恰好兩筆記錄,Alex 關聯至 Harbour Sample Limited,電郵位於 Alex 的記錄。擴大至完整清單前,逐筆查看這兩項成果。保留原始檔案,記錄匯入映射及結果。
明確選擇更新還是新增
更新既有 Odoo 聯絡人時,先匯出目標記錄,勾選 I want to update data (import-compatible export)。保留其中的 External ID,只改動已批准欄位。遺漏整欄與映射空白儲存格不同:官方匯入指南指出,明確的空值會清空欄位,而不是填入預設值。更新既有聯絡人前,應先檢查空白儲存格。以相同穩定 ID 再匯入會更新原記錄;移除或改動 ID 則可能新增重複資料。
同名或同電郵不能可靠地代替更新識別。不要每次儲存來源試算表時重新產生 ID 編號。如果出現重複,先停止下一批,找出哪些行取得新 ID,再比較相關報價等資料,決定應保留哪筆記錄。
先排查第一個錯誤
| 現象 | 先問的問題 | 下一項檢查 |
|---|---|---|
| 找不到關聯公司 | 公司是否已先匯入? | 核對公司 External ID 原文及關聯映射 |
| 公司名稱有多個配對 | 是否以名稱代替識別? | 改用所需公司的關聯 External ID |
| 映射找不到欄位 | 前幾行是否令系統推斷了較窄類型? | 查看進階關聯欄位及樣本匯出 |
| 中文姓名亂碼 | CSV 是否以正確編碼讀取? | 核對匯入格式及原始文字 |
| 再匯入後數量增加 | External ID 是否消失或改動? | 與原有相容匯出檔比較 |
不要刪除關聯欄位來消除錯誤,否則匯入看似成功,聯絡人卻沒有公司關係。修正既有批次時,匯出檔可供核對,但不是完整資料庫還原工具。大量變更前應有已議定的備份及復原方法;官方文件提醒匯入不能直接撤銷。
決定是否可以匯入完整清單
只有當小批次的數量、識別、公司關聯及已批准欄位都符合核對表,才擴大範圍。保留來源檔、映射及結果的批次記錄,讓後續更新使用相同識別。如果客戶與供應商來源互相矛盾,先決定資料負責規則,不要將兩個版本直接載入。
需要遷移協助時,可向 APAA 提供預期記錄結構及虛構樣本。先說明關聯與更新問題,毋須先分享完整客戶名單。
參考來源
- Export and import data
公司與個人 CSV 例子、關聯 External ID、Test 及更新識別
來源查核日期