iT邦幫忙

2025 iThome 鐵人賽

DAY 18
1
Odoo

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

《補助不是魔法:用 Odoo 當 SIIR 計畫的藍圖》|Day 18

  • 分享至 

  • xImage
  •  

🏁 開場:想拿補助,先做一堆作業?

https://ithelp.ithome.com.tw/upload/images/20250918/201783462q6EM80KBj.png

前一天才剛說「知識不能跟著人跑」,

今天晨會一開始,老闆沈如蘭 就拍桌:

「既然 ERP 已經導到一半,就把它升級成補助專案!」

「不是說政府鼓勵數位轉型嗎?我們也來拿一筆,補上這段資金缺口。」

會議室一陣騷動。

  • 採購阿美 皺眉:「補助不是免費錢吧?要寫計畫書嗎…」
  • 財務小王 低聲:「寫了會不會被查帳啊…」
  • 人資芳芳 緊張:「如果要我一個人寫,我真的會爆炸。」

🔑 阿哲的說明:補助不是紅包,是專案

祕書阿哲 翻出幾本補助簡章,開始劃掉不適合的:

SBIR(中小企業處)

  • Phase 1 可行性研究:最高 100 萬/6 個月

  • Phase 2 技術研發:最高 500 萬/年,最長兩年最高 1,000 萬

  • 偏重 技術研發與智財佈局,需具備研發團隊與研發能力

    👉 我們非技術型公司,目前不適合

SITI(臺北市產發局)

  • 地方型創新、品牌、育成補助

  • 小型升級案約 十萬級,也有個別創新案達 百萬級

  • 偏重品牌行銷、數位應用、初創育成,金額與子項目差異大

    👉 若要導入整套系統,難以負擔,不太適合

✅SIIR(經濟部商業發展署|原商業司)

  • 服務業創新研發計畫是目前針對服務業的補助中規模最大

  • 補助額度:

    • 一般型最高 100 萬
    • 主題式最高 200 萬
    • 國際化進階創新方案最高可達 1,000 萬
  • 偏重 服務流程與商業模式創新不需技術研發部門,只要有專案團隊

    👉 我們未來想做的幾個創新構想裡,這類服務創新型補助最有機會切入。

阿哲 推了推眼鏡,語氣平靜:

「補助不是天上掉下來的錢,是一場要通過審查的專案。」

人資芳芳 補一句:

「還要交預算書、WBS、排工時、做審計結案……

不是免費錢,是一個完整專案。」

📌 各項補助金額與規範會依年度公告異動,最新資訊請參考官網


💡 Odoo:用 SIIR 要求來設計專案藍圖

阿哲拿出白板,開始規劃:

Odoo SIIR 補助專案藍圖
 ├── Project:專案任務與 WBS(需附時程與負責人)
 ├── Timesheet:工時記錄(審查必備)
 ├── Purchase:採購流程(比價→報價→發票)
 ├── Accounting:專案分析帳(成本報表、核銷)
 ├── Documents:合約、會議紀錄、佐證文件雲端歸檔

阿哲邊畫邊喃喃:「這份專案藍圖,看起來比我博士論文還厚……」

芳芳翻白眼:「但這次至少會有錢進來。」


📊 SIIR 補助專案流程圖

阿哲畫完白板,整套流程終於成形。為了讓大家一目了然,他把 SIIR 專案從申請到核銷畫成了流程圖:

提出計畫書(建立 Odoo Project)
   ↓
審查通過
   ↓
分解任務 → Timesheet 記工時
   ↓
採購流程 → 分攤成本至分析帳
   ↓
Documents 上傳會議紀錄/合約/測試報告
   ↓
期中查核 → 成本報表 / 查核點資料
   ↓
期末結案 → 撥款入帳

小王拿著甘特圖低聲說:「感覺在準備一場戰爭。」

阿美皺著眉:「我們要把每張報價單、驗收單都掃進系統,還得對到專案帳。」

小王揉著眉心:「對啊,報表要是亂了,補助核銷整包都會被退。」


🧩 查核點未完成不得封存

阿哲還額外寫了一段程式,讓專案如果有查核點任務未填工時,就無法封存,避免期末審查時被退件:

# 本段以 Odoo v16 為基準,v17/v18 可依實際欄位名微調
# 假設 task 有自訂布林欄位 is_milestone,用來標記查核點任務

from odoo import models, _
from odoo.exceptions import UserError

class ProjectProject(models.Model):
    _inherit = 'project.project'

    def action_archive(self):
        for project in self:
            # 篩選出被標記為查核點的任務
            milestone_tasks = project.task_ids.filtered(lambda t: getattr(t, 'is_milestone', False))
            if milestone_tasks:
                # 使用 read_group 一次查出有填工時的任務,效能佳
                lines = self.env['account.analytic.line'].read_group(
                    [('task_id', 'in', milestone_tasks.ids)],
                    ['task_id'],
                    ['task_id']
                )
                have = {l['task_id'][0] for l in lines if l.get('task_id')}
                missing = [t.name for t in milestone_tasks if t.id not in have]

                # 如果有查核點任務沒填工時,擋下封存動作
                if missing:
                    raise UserError(_("下列查核點任務未填工時,無法封存專案:%s") % ", ".join(missing))

        # 所有檢查通過後,執行原本的封存動作
        return super().action_archive()

阿哲敲下 Enter,看著視窗跳出紅字警告,嘴角微微上揚:

「這樣,就沒人能混過查核點了。」


📝 審查與核銷關鍵

  • 查核點設計:每月至少 1 個,對應 WBS 任務,需產出 SOP、截圖、程式碼、測試報告
  • 文件鏈管理:合約/報價、會議紀錄、工時、交付物版本與憑證(Vendor Bill)要綁在 analytic_account,方便一鍵匯出
  • 核銷規範:發票需蓋「SIIR 計畫專用」章,禁止重複報支,文件不齊會退補助

小王抱著印章跑來跑去:「拜託大家用這顆章!上次忘蓋被退件,我被老闆盯了一週…」


💡人才配置策略

芳芳扶著額頭:「這麼多事,還得找人來做…」

阿哲說:「我會把系統的規則和流程建立好,確保所有紀錄都能被追蹤。

但專案開始後,日常的進度追蹤、文件匯整、報告撰寫會佔掉大量時間。

建議等計畫通過,我們就上 104 開專案職缺,找一位 PM 來專職負責跑這個計畫。」

沈如蘭緩緩開口:

「補助是加速器,不是魔法。要做得來,才請得進人,也留得住人。」


🎯 結語:補助只是起點,系統才是底盤

補助不是紅包,而是一場要交出成果的專案;

人才不是解答,而是要有系統才能留下來。

我們不是為了補助才導 ERP,而是要讓正在進行的數位轉型更有資源與後盾。

阿哲 看著 Odoo 後台的專案藍圖,鬆了口氣

至少,這次不是從零開始。

補助計畫通過只是開始,結案後還要能無縫接軌實際營運。


👉 藍圖才剛畫完,沈如蘭的目光,已經望向更遠的地方。


📌 參考資料


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

尚未有邦友留言

立即登入留言