庫存扣減觸發時機的差異 – OpenCart vs WooCommerce

有時候網站上某件商品的最後一件已經賣掉,庫存卻沒有歸零,使得後面來的客戶仍可以下單結帳,結果是商家必須取消後面的訂單,相當捆擾,所以了解正確的庫存扣減觸發時機,是商家必備的功課。

OpenCart 與 WooCommerce 這 2 套購物網站系統,都是在訂單狀態變更的時候,觸發商品庫存的扣減動作,所以必須控制好訂單狀態與商品庫存扣減的關聯性,才能正確控制庫存數。

OpenCart 的庫存扣減觸發時機

OpenCart 提供了 2 組訂單狀態組別,[屬處理中之訂單狀態] 以及 [屬已完成之訂單狀態] 這 2 組,商家可以自行設定某個訂單狀態屬於某個訂單狀態組別。而庫存扣減時機是,當訂單狀態由本來不屬於前面這 2 個狀態組別,變成屬於 2 個狀態組別中的狀態時,就會觸發庫存數的扣減。又如果訂單狀態由本來屬於前面這 2 個狀態組別,變成了不屬於 2 個狀態組別中的狀態時,就會觸發庫存數的回補。

另外,OpenCart 的每種付款方式,都可以個別設定結帳後的訂單狀態,當客戶選用某種付款方式結帳時,訂單狀態就會由預設的訂單狀態,切換成該付款方式所指定的狀態。假設商家設定了 [貨到付款] 的結帳訂單狀態為 [待付款],且都不屬於 2 個狀態組別,所以在客戶下單結帳之後,庫存並不會馬上扣減。

如果希望客戶下單後就馬上扣減庫存,只要將 [待付款] 也勾選設定為 [屬處理中之訂單狀態] 或 [屬已完成之訂單狀態] 之其中一種,系統就會依照設定在客戶結帳時立即扣減庫存。

WooCommerce 的庫存扣減觸發時機

WooCommerce 的新訂單的狀態內定為 [等待付款中],除非安裝外掛,否則無法自訂。

當使用 [貨到付款] 結帳後,訂單會被變更為 [處理中(Pending payment)],除非安裝外掛,否則無法自訂。

若使用 [銀行轉帳] 結帳後,訂單會被變更為 [保留(On-Hold)],除非安裝外掛,否則無法自訂。

不管訂單被變更為處理中或保留,都會立即被扣庫存,除非安裝外掛,否則應該是無法自訂。

簡單結論

WooCommerce 雖然沒有內建便利的庫存控管機制,但不代表 WooCommerce 就不適合需要控管庫存的商家,WordPress 的外掛群中,一定會有適合的庫存管理外掛,建議爬一些教學文章、或是安裝測試幾個外掛試試,或許就能解決這個問題。