iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
Odoo

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

《墨西哥:制度嚴苛、文件繁瑣,Odoo 怎麼幫 SME 跨過第一道門?》|Day 20

  • 分享至 

  • xImage
  •  

🏁 開場:還沒開始賣,樣品就卡在邊境

https://ithelp.ithome.com.tw/upload/images/20250920/201783467GTaUTMGi0.jpg

拓銷團剛落地墨西哥,當地人熱情地用西語打招呼,

沈如蘭 立刻流暢地回話,業務德華 則笑著用「hola (嗨) 」 「amigo (朋友)」「gracias (謝謝)」加上比個讚,現場氣氛瞬間熱絡起來。

阿哲 原本準備當翻譯,結果一句都沒插上嘴,

心裡默默想:……原來我才是那個多餘的。

就在這時,拓銷團裡一位來自台中的機械零件廠商突然接到報關行來電:

「那批樣品卡在美墨邊境,因為報關文件缺了稅則編碼(HS Code),CFDI 電子發票也少了廠商稅務號碼。」

對方滿臉懊惱地補一句:「倉庫說等不下去了,如果明天還不放行就要退運。」

整車人瞬間安靜。

沈如蘭 面無表情地說:「還沒開始談生意,就先被制度打趴。」

阿哲 默默記在筆記本:我們還沒賣,但不能不知道怎麼賣。


🔑 拓銷團的震撼教育:墨西哥的制度防火牆

午餐時間,陪同參訪的墨西哥經銷商朋友也補充:「其實這些都是台灣廠商最容易踩到的坑」:

① 報關文件極度繁瑣

  • 出口前需備妥產品稅則編碼、原產地證書、商業發票、裝箱單、檢疫證明
  • 少一張就會卡在邊境,無法排報關

② CFDI 電子發票制度嚴格

  • 所有交易都必須透過 PAC 平台生成 XML 並上傳 SAT
  • 少一個欄位就整筆作廢、無法清關
  • 就算只是買瓶水,店員也可能問你:「要不要發票?」(也就是 CFDI)」

③ 邊境物流與政治風險

  • 美墨邊境是世界最繁忙的貨運通道
  • 節慶像亡靈節,卡車能塞到十公里長
  • 更麻煩的是碰上美國大選,臨時收緊政策、查驗變嚴,整批貨櫃就可能被卡在邊境

德華 忽然皺著眉,打開筆記本一邊翻一邊嘟囔:

「如果以後真的要賣到墨西哥,這些清關費、報關服務費……也得一起算進售價成本吧?」

他居然在台灣的半夜傳 LINE 問財務小王

小王竟然秒回,訊息只有一句話:

「我會先幫這筆費用掛在 analytic account,看實際影響多少毛利。」

阿哲 看著兩人跨時差的討論,默默補了一句:

「這些變數,也得列進制度風險清單裡。」


⚙️ 阿哲的腦內演練:拓銷專案 × 文件清單 × 任務追蹤

回到飯店後,阿哲並沒有打開電腦寫程式,而是拿出筆記本,開始畫流程圖

他想著:

「如果哪天我們真的要把產品賣進墨西哥,

光是報關、證明、電子發票就足以把團隊壓垮。

也許能先在 Odoo 裡搭一套『拓銷專案 × 文件清單 × 任務追蹤』,

把流程先演練一次,等真的要出貨再正式導入。」

他在紙上寫下幾個要點:

📍 模組規劃

  • project 建立拓銷專案與任務
  • documents 集中存放證書、發票 XML
  • approvals 管控出貨文件審核
  • stockdelivery 串接 DHL / FedEx API 追蹤貨況
  • 後續若真的進軍墨西哥,再加上 l10n_mxl10n_mx_edi 生成 CFDI

📌 欄位構想

  • project.task 增加 x_hs_code(稅則編碼)、x_origin_cert(原產地證書)、x_invoice_xml(電子發票檔)
  • approvals.request 增加「出口出貨審核」類型,核准後才能觸發出貨

📌 流程草圖

拓銷專案 (Project)
     ↓
任務 (project.task) → 填寫 HS Code / 證書 / 發票檔
     ↓
approvals 審核通過 → 綁定 analytic_account
     ↓
觸發 stock.picking 出貨
     ↓
倉庫面板即時更新 DHL / FedEx 貨況

📌 阿哲的筆記驗證邏輯草稿

from odoo.exceptions import UserError
from odoo import models

class StockPicking(models.Model):
    _inherit = 'stock.picking'

    def button_validate(self):
        for pick in self:
            for task in pick.sale_id.task_ids:
                if not (task.x_hs_code and task.x_origin_cert and task.x_invoice_xml):
                    raise UserError(f"任務 {task.name} 缺報關文件,禁止出貨。")
        return super().button_validate()

在頁角,他特地補註了一行:

前期演練可用 project × documents × approvals 等通用模組;
等真的要進墨西哥市場,再追加 l10n_mx、l10n_mx_edi 等在地化模組(需 Enterprise 版)。

最後,阿哲在頁角寫下大大的幾個字:

「流程先畫出來,技術回國再決定」


🎯 結語:墨西哥不是觀光,是戰場預演

墨西哥的嚴苛制度,讓 ERP 不再只是「內部管理工具」,

而是能否 踏進市場的第一步門檻

Odoo 以 模組化 × 在地化 × 低成本

讓中小企業也能用最短時間完成「制度演練」,預備正式進軍海外。

這不只是關乎效率,更是關乎企業能否在海外市場立足的生存課題。

沈如蘭 合上筆電,語氣冷靜:

「等我們真的要來這裡賣的那天,不能再犯他們犯過的錯。」


👉下一站,是哪個國家呢?阿哲在心裡輕輕哼起森巴節奏…


上一篇
《第一次海外拓銷就混亂到爆:Odoo 出差任務 × 預算》|Day 19
系列文
一起認識 Odoo:開源 ERP 的另一種選擇20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言