快速答案:訂單匯出出錯,多半是「欄位從哪裡取」選錯:通路碼、推薦碼這類會變動的歸屬資料要取自訂單,不是取自會員帳號;收件人電話要取運送欄位,不是帳單欄位。自動匯出沒送到先查排程;Excel 打不開或亂碼,多半是編碼與格式問題。
為什麼會這樣 #
匯出外掛只是把欄位排成表格。同一個「通路碼」可能存在兩處:會員帳號上的綁定碼,以及下單當下寫進訂單的碼。匯出設定如果讀的是帳號,客人日後換綁,過去的訂單在報表上都跟著變;分潤算的是「下單當下」的歸屬,只能取自訂單。
電話與地址同理:帳單資料是付款人,運送資料是收件人,由店家代訂、寄給個人時兩者不同。欄位缺漏也常來自狀態篩選:只勾「完成」,自訂的「運送中」訂單就整批不見。
一張訂單變成好幾列,是外掛預設「每個品項一列」,折價券、紅利折抵也各佔一列。自動匯出靠 WordPress 排程,沒人造訪、排程被關或記憶體不足中斷,檔案就不會產生。Excel 報「格式與副檔名不符」,常是輸出的其實是 CSV 卻存成 .xls;報檔案損毀,常是 PHP 警告訊息混進了檔案。
怎麼處理 #
- 列出倉庫、分潤系統要的欄位,逐一標註來源是訂單、商品還是會員帳號;會變動的歸屬資料一律取自訂單。
- 通路碼、推薦碼要在結帳時寫進訂單;目前只存在帳號上的,先補進歷史訂單,再改匯出設定。
- 收件人電話、地址改取運送欄位;結帳頁沒有收件人電話的,補上這個欄位。
- 狀態篩選把所有「已付款待出貨」的狀態都勾進去,包含自訂狀態。
- 選「每張訂單一列」或「訂單欄位只填第一列」,商品明細另出一份。
- 自動匯出:到 WooCommerce → 狀態 → 排程動作看有沒有失敗紀錄;請主機用系統排程觸發 WordPress 排程;匯出範圍往前多抓幾天,由接收端用訂單編號去重,漏一晚也補得回來。
- Excel:CSV 用含 BOM 的 UTF-8,或用「資料 → 從文字/CSV」匯入;電話、統編、物流單號欄設成文字,避免開頭的 0 被吃掉或變成科學記號。
我們實際遇過的情況 #
一家電商每天把訂單自動匯出給分潤系統。店家在後台改了一張訂單的通路碼,報表卻還是舊的,查到匯出設定讀的是會員帳號上的碼;改成取自訂單後就正確了,客人換綁也不會動到歷史業績。同一家的倉庫檔曾經把收件人電話印成訂購店家的電話,就是帳單與運送欄位沒分清楚的典型症狀。
這家的分潤系統有幾次說沒收到檔案,我們從排程紀錄查哪一段沒跑;之後把每天的匯出範圍改成往前抓一段時間,某晚失敗,隔天也會補上。客人同時用折價券和紅利點數,報表一張訂單變兩列,則要從匯出外掛的列設定處理。
什麼時候該找人 #
匯出資料牽涉分潤與業績結算,發現歷史訂單的歸屬錯了,先把原始資料匯出備份,再批次修正,不要在後台一張張改到一半。需要寫補值程式、改結帳欄位或調整主機排程時,交給熟悉 WooCommerce 資料結構的人。註冊時通路碼沒綁上,見 會員角色與必填欄位被跳過。
WPTOOLBEAR網站工具熊