iT邦幫忙

2025 iThome 鐵人賽

DAY 26
0
Odoo

一起認識 Odoo:開源 ERP 的另一種選擇系列 第 26

《當客戶為了小錢而猶豫:Odoo 的樣品管理制度》|Day 26

  • 分享至 

  • xImage
  •  

🏁 開場:被退回的樣品

https://ithelp.ithome.com.tw/upload/images/20250926/20178346eOknPGOhTU.png

回到台灣後的第二週,德華正忙著整理巴西行的後續工作。

臨別前的會議上,客戶還特別叮囑:

「先寄一批樣品來吧,讓我們內部測試一下。」

德華一聽如獲至寶。雖然只是樣品,但他不想再失去機會,乾脆照正式訂單流程來做。

立刻在 Odoo Sales 建立了一張 樣品訂單 (Sample Order)

系統自動生成 Delivery Order,並指派到 Sample Location

他轉頭交代小李:「照單出貨,越快越好!」

小李雖然納悶:「樣品不算正式庫存吧?」

但還是依單撿貨、打包,並附上 Proforma Invoice,特別標註:

「No Commercial Value」

誰知一週後,德華的手機響起,客戶傳來冷冰冰的一句話:

「這稅比貨還貴,你們還是收回去吧。」

一場看似簡單的樣品寄送,瞬間演變成跨部門的麻煩。


🔑 制度的缺口

一般公司都有「樣本費」「推廣費」科目,但這次事件凸顯的問題在於:

  • 成本歸屬不清:有人掛推廣費,有人掛雜支,甚至沒人入帳。
  • 跨部門斷層:業務急著寄,倉庫照做,財務月底才發現對不上。
  • 市場知識缺口:像「巴西樣品幾乎一定被課稅」這種潛規則,如果沒有制度化紀錄,下次新人還會重蹈覆轍。

德華氣得直拍桌子:「稅比貨還貴,這單等於白做!」

小李小聲補了一句:「要是真的退回來,還得再付運費、再驗收,搞不好比樣品更貴。」

財務同事在月底核帳時,也只能苦笑:「這些費用到底該掛哪一科目?」

沈如蘭卻很冷靜,她提醒兩人:「有時候放棄反而划算,但前提是要把損失記清楚,別讓它消失在帳上。」

阿哲最後收斂全場:「重點不是退回或放棄,而是這些成本和經驗能不能被制度化,釐清了下次遇到的話就不會再亂了。」


💡 Odoo 解法:制度化樣品流程

① 樣品訂單(Sample Order)

  • 建立 Sample Product,定價 0,科目掛「推廣費」。
  • 出貨從 Sample Location,不影響正常庫存。

② 出貨單(Delivery Order)

  • Sales → 自動生成 Delivery → 倉庫照流程操作。
  • 避免「私下寄貨、無紀錄」的風險。

③ 退貨授權(RMA 模組)

if sample_picking.state == 'done':
    return_wizard = self.env['stock.return.picking'].create({
        'picking_id': sample_picking.id,
        'product_return_moves': return_lines,
    })
    return_wizard.action_validate()

💡 註:stock.return.picking 是 wizard,analytic_account 通常要在 stock.move 層級設定。

這裡的程式碼為簡化範例,主要凸顯流程概念。

樣品退回 Sample Location,費用掛專案 analytic。

④ 報關稅費處理(Landed Cost 模組)

landed_cost = self.env['stock.landed.cost'].create({
    'picking_ids': [(6, 0, [sample_picking.id])],
    'cost_lines': [
        (0, 0, {'name': 'Brazil Import Tax','account_id': tax_account.id,'price_unit': 2000}),
        (0, 0, {'name': 'Return Freight','account_id': freight_account.id,'price_unit': 800})
    ],
    'analytic_account_id': project_analytic.id
})
landed_cost.compute_landed_cost()
landed_cost.button_validate()

即使樣品標註「No Commercial Value」,巴西海關仍課稅。這些費用透過 Landed Cost 歸到專案,避免成為黑洞。


⚙️ 跨模組整合

阿哲展示 Dashboard:

  • 專案成本:樣品寄送+退運費用。
  • RMA 分佈:退貨原因、地區統計。
  • 匯率換算:確保費用按當日匯率入帳。
if expense.currency_id != expense.company_id.currency_id:
    expense.amount_company_currency = expense.currency_id._convert(
        expense.amount_currency,
        expense.company_id.currency_id,
        expense.company_id,
        expense.date
    )


🎯 結語:細節才是差距

寄樣品金額不大,但一旦制度化,就不再是小事。

它會變成能被追蹤、能被教、能被學的資產。

在跨國市場,小訂單能反映大問題。

沈如蘭看著桌上的單據,語氣格外冷靜:

「真正拉開差距的,不是訂單大小,而是企業對『細節』的管理深度。」


上一篇
《從巴拉圭看 Odoo:Community 到 Partner 的進階模式》|Day 25
系列文
一起認識 Odoo:開源 ERP 的另一種選擇26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言