財伴 oSave
我們做錯過一次。發票醫生自動抓得到你花了多少錢,卻答不出「所以我的財務健康嗎」。財伴改成用會計邏輯記帳:前台只問三個問題,後端把它翻成 13 項金流方向,再算出六項財務健康指標。

- App 規模
- 397 個 Dart 檔 · 84,978 行 · 16 個功能模組
- 後端規模
- 31 個 Python 檔 · 7,996 行
- 版本
- v1.1.5,第 32 次建置
- 競賽與補助
- 6 項獎項 + 教育部 U-Start 補助
在解什麼問題
我原本以為記帳的門檻是輸入太麻煩,所以第一版去串了能自動抓資料的來源。後來發現不是——資料進來了,使用者還是不知道自己財務好不好。一堆分類完的消費紀錄回答不了「這個月我是變好還是變壞」。
真正的門檻是「有記等於沒記」:紀錄本身沒有結論。而要有結論,每一筆就必須帶著會計上的意義,不能只是一個金額加一個標籤。問題於是從「怎麼讓人少打幾個字」變成「怎麼在使用者只願意點三下的前提下,拿到足以做財務判斷的結構化資料」。
架構決策
01 2025.06
前台只問「金流程序 × 結算型態」,13 項金流方向由後端推導。
- 沒選的
- 讓使用者直接選會計科目
- 為什麼
- 完整的會計分類使用者選不動,但沒有會計分類就算不出財務健康。所以前台只問兩個他答得出來的問題:錢是進來、轉換還是出去,以及走的是現金、信用卡還是儲值。兩者的組合能唯一決定的,後端直接判;不能唯一決定的,再用科目與交易語意收斂。使用者的操作成本沒有上升,資料的結構化程度上升了一整級。
- 代價
- 後端多一層轉譯規則要維護,而且「哪些組合可以唯一對應」必須有一份文件是唯一真相,否則前後端會各自長出一套理解。
02 2026.04
品項分類走三層串接,只有最後一層才呼叫模型。
- 沒選的
- 每一筆都問一次 LLM
- 為什麼
- 使用者打「星巴克」的時候在等一個下拉選單填好,不是在等 AI 思考。第一層記憶體快取(毫秒內)、第二層本地規則(關鍵字完整比對、正則、模糊相似度,五毫秒內)、第三層才呼叫模型。前兩層擋掉絕大多數請求,成本與延遲都留給真正需要判斷的那幾筆。
- 代價
- 規則表要人維護,而且會漏;漏掉就往下一層走,代價只是慢一點與貴一點。
03 2026.04
分類失敗一律回空結果,App 不顯示錯誤。
- 沒選的
- 回傳錯誤碼,讓前端提示「分類服務暫時不可用」
- 為什麼
- 分類是輔助,不是必要路徑。三層全部沒有結果、或任何一層炸掉,端點都回空物件,App 靜默處理,使用者自己選類別,記帳流程一秒都不停。一個因為 AI 掛掉而記不了帳的記帳 App,比沒有 AI 更糟。
- 代價
- 線上分類失敗率不會從使用者端浮出來,只能靠後端指標盯。
04 2026.05
六項財務健康指標用門檻線性轉換成分數,不讓模型評分。
- 沒選的
- 把使用者的財務資料丟給模型,請它給一個健康分數
- 為什麼
- 分數要能解釋、要能重算、要能在兩個月之間比較。門檻表是寫死的,同樣的輸入永遠得到同樣的分數,而且看得出來是哪一項把分數拉下去。模型評分做不到其中任何一項。模型只負責把算完的數字翻成一句人話。
- 代價
- 門檻是 MVP 的假設值,要靠真實使用者資料、收入分布、城市與租屋狀態持續校準;校準之前只有趨勢可信,絕對值的意義有限。
05 2025.09
整套建在 Firebase 上,不自架後端。
- 沒選的
- 自己的伺服器 + 自架資料庫 + 自架推播
- 為什麼
- 團隊沒有人可以當半個 SRE。驗證、資料庫、雲端函式、推播、當機回報、遠端設定一套解決,換來的是所有人的時間都花在「使用者會不會回來用」上面。
- 代價
- 被平台綁住,而且用量成長時的單價不會比自架便宜。
資料怎麼流
- 01
記一筆
使用者在 App 選金流程序與結算型態,輸入品項名稱與金額。
這一步的操作成本決定整個產品的留存率。
- 02
品項分類
呼叫後端分類端點,三層串接依序嘗試,回傳建議類別自動填入。
任何一層失敗都回空結果,記帳流程不中斷。
- 03
金流判斷
後端把「金流程序 × 結算型態」推導成 13 項金流方向之一,必要時再用科目與語意收斂。
- 04
入帳
寫入 Firestore,同時標記後續指標計算需要的旗標。
- 05
指標計算
依帳戶科目編碼表彙總,算出收支結餘、必要支出、非必要支出、固定支出、債務負擔、預算達成。
全部是確定性的算術,不經過模型。
- 06
呈現
雷達圖健康分數、熱力圖與桑基圖,加上固定收支自動入帳與財務健康週報。
- 07
說人話
只有到這一步才再次呼叫模型,把算完的數字翻成一句使用者看得懂的建議。



得獎
- 2025.09臺東創新創業大賽 - 最佳創新創業大獎
- 2025.02第七屆社會企業創業提案競賽 後起之秀組 - 優選
- 2025114 年度 U-Start 創新創業計畫 - 第一階段入選
- 2024.12臺北市智慧城市青年舉政徵件提案競賽 - 佳作(第四名)
- 2024.11臺灣數創大賞 數位+組 - 金獎
- 2024.09桃園新創之星 X 創天下競賽 - 入圍決賽(前 10)
- 2024.06第六屆 Startup 創業競技場 國內組 - 第一名
- 2024.06桃園青創力學生創業競賽 - 佳作
- 2024.05第七屆致青春・創未來全國選拔大賽 科技應用組 - 優等獎
- 2024.01中央新創擂台賽 - 優選
技術
- Flutter
- Dart
- BLoC
- GoRouter
- GetIt
- Drift
- Firebase Cloud Functions
- Python
- 三層分類串接
- 本地規則比對
- LLM
- Cloud Firestore
- Cloud Storage
- Firebase Auth
- Cloud Messaging
- Remote Config
- Crashlytics
- Codemagic