拓銷團剛落地墨西哥,當地人熱情地用西語打招呼,
沈如蘭 立刻流暢地回話,業務德華 則笑著用「hola (嗨) 」 「amigo (朋友)」「gracias (謝謝)」加上比個讚,現場氣氛瞬間熱絡起來。
阿哲 原本準備當翻譯,結果一句都沒插上嘴,
心裡默默想:……原來我才是那個多餘的。
就在這時,拓銷團裡一位來自台中的機械零件廠商突然接到報關行來電:
「那批樣品卡在美墨邊境,因為報關文件缺了稅則編碼(HS Code),CFDI 電子發票也少了廠商稅務號碼。」
對方滿臉懊惱地補一句:「倉庫說等不下去了,如果明天還不放行就要退運。」
整車人瞬間安靜。
沈如蘭 面無表情地說:「還沒開始談生意,就先被制度打趴。」
阿哲 默默記在筆記本:我們還沒賣,但不能不知道怎麼賣。
午餐時間,陪同參訪的墨西哥經銷商朋友也補充:「其實這些都是台灣廠商最容易踩到的坑」:
① 報關文件極度繁瑣
② CFDI 電子發票制度嚴格
③ 邊境物流與政治風險
德華 忽然皺著眉,打開筆記本一邊翻一邊嘟囔:
「如果以後真的要賣到墨西哥,這些清關費、報關服務費……也得一起算進售價成本吧?」
他居然在台灣的半夜傳 LINE 問財務小王,
小王竟然秒回,訊息只有一句話:
「我會先幫這筆費用掛在 analytic account,看實際影響多少毛利。」
阿哲 看著兩人跨時差的討論,默默補了一句:
「這些變數,也得列進制度風險清單裡。」
回到飯店後,阿哲並沒有打開電腦寫程式,而是拿出筆記本,開始畫流程圖。
他想著:
「如果哪天我們真的要把產品賣進墨西哥,
光是報關、證明、電子發票就足以把團隊壓垮。
也許能先在 Odoo 裡搭一套『拓銷專案 × 文件清單 × 任務追蹤』,
把流程先演練一次,等真的要出貨再正式導入。」
他在紙上寫下幾個要點:
📍 模組規劃
project
建立拓銷專案與任務documents
集中存放證書、發票 XMLapprovals
管控出貨文件審核stock
、delivery
串接 DHL / FedEx API 追蹤貨況l10n_mx
、l10n_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 以 模組化 × 在地化 × 低成本,
讓中小企業也能用最短時間完成「制度演練」,預備正式進軍海外。
這不只是關乎效率,更是關乎企業能否在海外市場立足的生存課題。
沈如蘭 合上筆電,語氣冷靜:
「等我們真的要來這裡賣的那天,不能再犯他們犯過的錯。」
👉下一站,是哪個國家呢?阿哲在心裡輕輕哼起森巴節奏…