ERP 匯入

解析在本機以 python-calamine 執行;NAS 端只以標準庫套用(決策 #15:每月底重匯 3 份)

每月重匯(決策 #15)

每月底重匯這 3 份即可:進貨應付款帳款明細表.xls(材料實際單價,取價主來源)、 產品資料.xls(品項主檔)、庫存狀況.xls(庫存成本)。 匯入採 upsert 去重:以唯一鍵比對,分「新增 / 更新 / 略過」三態,重複匯出不會重複計價。
客戶自動新增規則:xls(客戶資訊.xls)內出現的客戶,每次匯入都會比對,資料庫沒有的自動新增; 在「系統設定 › 新增/刪除客戶」建立的是 xls 裡沒有的客戶(標記為人工建立,無 ERP 編號),不會被匯入覆蓋。

10 份檔案與樣板

有效列數為 2026-09-14 實測值
檔案樣板類型總列數有效列數 唯一鍵(去重)目標頻率
進貨應付款帳款明細表.xls報表式+續行6,0386,037單號+品項+行序price_history(主)每月
產品資料.xls單表頭15,3733,843產品編號items每月
庫存狀況.xls單表頭3,5953,594產品編號+倉庫item_stock每月
客戶資訊.xls單表頭2,705679客戶編號customers一次性
進貨廠商資料.xls單表頭310309廠商編號vendors一次性
應付款明細表.xls單表頭32,03332,032單據號碼+產品編號price_history(備援)一次性
應收帳款明細表.xls單表頭44,88444,883單據號碼+產品編號sales_history一次性
銷貨憑單日報表.xls交錯式129,54387,214單號+行號sales_history一次性
已收帳款明細.xls交錯式8,0612,018收款單號payments_in一次性
已付帳款明細.xls交錯式17,36312,247付款單號payments_out一次性

匯入批次紀錄

可整批回滾
檔案工作表原始列數解析後時間狀態

解析引擎(重要)

方案結果
openpyxl❌ 只能讀 .xlsx
xlrd 2.0.2 這批 ERP 檔全部回報 0 列(三種讀法皆同)
python-calamine✅ 10 檔全通,40MB 檔 0.6 秒
續行陷阱進貨應付款帳款明細表 同一張單據的第 2 行以後,幣別/日期/單別/單號留空, 解析時必須向下填充,否則單價對不到單據。
虛擬科目$- 補差額、PS 備註、D-UF001 運費 → 一律標為 virtual,禁止進 BOM 展開。