智慧發票解析與自動化複式記帳系統
融合 OCR 、 NLP 與 LLM 的個人財務管理解決方案
成員:陳 O 靜、陳 O 軒、張 O 勝、蕭 O 宸、陳 O 、張 O 學、李 O 輝
2024/03/11 購買平板 12510 元( Samsung 平板)
2024-03-11 購買 Samsung 平板
資產 : 平板 13,900 元 ; 原價入帳
支出 : 折扣 -1,390 元 ; 折扣扣除
支出 : 稅金 596 元 ; 稅額成本
資產 : 現金 -12,510 元 ; 實際支付金額
流水帳
複式記帳
0
為什麼要複式記帳?
反映真實消費狀況
日期 科目 借方 貸方 備註
07/05 餐飲費用 2,000 聚餐
信用卡應付帳款 2,000
07/20 信用卡應付帳款 2,000 信用卡繳款
銀行存款 2,000
07/05 至 07/20 期間,現金帳面上的流動資產,會比實際能用的多 2,000
0
為什麼要複式記帳?
複式記帳能幫助個人做財務決策,但要記借方和貸方,好麻煩 ...
0
Catcountant :自動化複式記
帳
Catcountant
0
Catcountant :自動化複式記
帳
個人化科目自動填入
0
目標:自動化 & 個人
化
A
自動化
B
個人化
1. YOLO segmentation 細部截取發票
2. 將拍攝的發票照片擺平成 0 / 90 / 180 / 270 度
3. YOLO classifier 判斷角度並轉正
4. 讀取發票的文字資訊
5. 依發票內容建議科目
依據使用者帳本,給予個人化科目建議
照片 科目
A
自動化科目建議:發票 ➞ 科目
RJ89169715114071698540
000003d000000400000000
053436741g/
3WF8S7IVFwDfY0dTXFoA
==:**********:2:2:0:PD-
KW003/3P 轉 2P 電源轉接
頭 :1:35:JA-2868/mj300 搓
澡巾 30*90cm:1:29
YOLOv11
segmentation
QR Code scanner
&
OCR
Classifier
[
費用 : 購物 : 生活用
品 ,
費用 : 餐飲 : 飲料
]
轉正、裁切
YOLOv11
Classifier
保留重點
中間發生了什麼事
怎麼變這樣的 ?
A
YOLO 發票偵測 與 角度判斷 / 擺正 / 裁
切
發票偵測
合併
A-1
YOLO 發票偵測 與 選取 原本的照片通過 YOLOv11 做
segment
可以得到我們需要的範圍
把我們不需要的範圍從原本的圖蓋起來
就會只剩我們需要的範圍的圖
YOLO v11
Segment
合併後
原圖
取得
mask
mask
角度
依角度做旋轉 依角度做旋轉擺平
可是這樣
還沒有轉正
啊 ?
A-2
擺平
人類的視角
電腦的視角
使用 OpenCV 只能知道夾角是多少度
角
無法知道人類所謂的 ' 正 ' 是什麼
取得
角度
YOLO 角度判斷 / 擺正 / 裁
切
YOLO v11
Classify
判斷角度
角度 0 / 90 / 180 / 270
依角度旋轉
A-3
經過 OpenCV 擺平後
原本的角度 ( 不加小數點 ) 有 -
360 個
只剩下 0 / 90 / 180 / 270 - 4 個
如此訓練機器人分類角
度
容易了非常多
判斷也能更準確
判斷
角度
依角度旋轉
裁切多
餘部分
A-4
讀取發票的文字資訊
zxing-cpp
RJ891697151140716985400
00003d00000040000000005
3436741g/
3WF8S7IVFwDfY0dTXFoA==
:**********:2:2:0:PD-
KW003/3P 轉 2P 電源轉接
頭 :1:35:JA-2868/mj300 搓澡
巾 30*90cm:1:29
Tesseract
OCR
18:19:54
發票內容
A-5
依發票內容建議科目
AI 模型
個人化
科目建議
訓練集 ?
RJ891697151140716985
40000003d00000040000
0000053436741g/
3WF8S7IVFwDfY0dTXFo
A==:**********:2:2:0:PD-
KW003/3P 轉 2P 電源轉
接頭 :1:35:JA-2868/mj300
搓澡巾 30*90cm:1:29
18:19:54
太困難,不如直接向使用者學習
A-5
K-NN
向量化
0.3425
0.3290
0.1141
0.2130
…
0.0829
0.3455
0.1242
0.3418
個人化
科目建議
K-Nearest Neighbor
Classifier
• 金沙牛奶鍋
• 滷肉飯 + 蛋
( 份 )
• 黑糖粉圓烏龍
• 飲料費
• ONE OK ROCK 演唱會周邊
RJ891697151140716985
40000003d00000040000
0000053436741g/
3WF8S7IVFwDfY0dTXFo
A==:**********:2:2:0:PD-
KW003/3P 轉 2P 電源轉
接頭 :1:35:JA-2868/mj300
搓澡巾 30*90cm:1:29
18:19:54
依發票內容建議科目
Sentence
Transformer
PD-KW003/3P 轉 2P 電源轉接
頭
RJ891697151140716985
40000003d00000040000
0000053436741g/
3WF8S7IVFwDfY0dTXFo
A==:**********:2:2:0:PD-
KW003/3P 轉 2P 電源轉
接頭 :1:35:JA-2868/mj300
搓澡巾 30*90cm:1:29
18:19:54
JA-2868/mj300 搓澡巾
30*90cm
SBERT
multi-qa-MiniLM-L6-cos-v1
384 dimensions
A-5
提取品項
發票向量化 - Sentence
Transformer
Sentence
Transformer
40 元盤子
賣方: 76858539
時間: 2025/06/05 21:50:00
品項: 40 元盤子
1100261604
SBERT
multi-qa-MiniLM-L6-cos-v1
384 dimensions
A-5
發票向量化 - 特徵建立的困
難
賣方: 83478107
時間: 2025/06/12 21:35:00
品項: 1100261604
提取品項
營業人名稱 行業 1 行業 2 品項
台灣壽司郎股份有限公司台北松江長安店 餐廳 經營網路購物(食品、飲料類商品) 40 元盤子
主富服裝股份有限公司忠孝旗艦分公司 服裝零售 110026160
4
A-5
發票向量化 - 查找營業人資
訊
賣方: 76858539
品項: 40 元盤子
賣方: 83478107
品項: 1100261604
查找營業人資訊
全國營業 ( 稅籍 ) 登記資料集
Sentence
Transformer
company: 家家買生活百貨有限公司中和分公
司
business scope: 未分類其他綜合商品零售
item: PD-KW003/3P 轉 2P 電源轉接頭
RJ891697151140716985
40000003d00000040000
0000053436741g/
3WF8S7IVFwDfY0dTXFo
A==:**********:2:2:0:PD-
KW003/3P 轉 2P 電源轉
接頭 :1:35:JA-2868/mj300
搓澡巾 30*90cm:1:29
18:19:54
SBERT
multi-qa-MiniLM-L6-cos-v1
384 dimensions
company: 家家買生活百貨有限公司中和分公
司
business scope: 未分類其他綜合商品零售
item: JA-2868/mj300 搓澡巾 30*90cm
A-5
發票向量化 - 查找營業人資
訊
建立特徵字串
全國營業 ( 稅籍 ) 登記資料集
A-5
發票向量化 - 查找營業人資
訊
只有品項資訊: 38% 包含營業人資訊: 60%
A-5
建立特徵:時間
晚餐
午餐
宵夜
x
y
A-5
建立特徵:時間向量化
01:00
23:00
12:00
01:00 12:00 23:00
1 12 23
直接使用小時的數值當作特徵
HH:MM [HH]
➞
01:00 與 23:00 之間的距離
大於
01:00 與 12:00 之間的距離
Cyclic Transformation
HH:MM [x, y]
➞
01:00 與 12:00 之間的距離
大於
01:00 與 23:00 之間的距離
A-5
提取特徵:時間
晚餐
午餐
宵夜
A-5
提取特徵:金額
expenses:discount
營業人名稱 品項 金額 科目
正能量運動股份有限公司 MW0000032 防潑水衣保袋 紅 250 費用 : 購物 : 服飾 : 袋
子
統康生活事業股份有限公司忠孝分公司 北市兩用袋中 2 費用 : 購物 : 生活用
品
新加坡商蝦皮娛樂電商有限公司台灣分公司 蝦皮折扣 ( 蝦幣 ) -30 收益 : 折扣 : 商品折
A-5
提取特徵:金額
金額 sigmoid( 金額 )
3 0.9525774
2 0.8807971
1 0.7310586
0 0.5000000
-1 0.2689414
-2 0.1192029
-3 0.0474259
A-5
提取特徵:金額
expenses:discount
company: 家家買生活百貨有限公司中和分公
司
business scope: 未分類其他綜合商品零售
item: PD-KW003/3P 轉 2P 電源轉接頭
RJ891697151140
71698540000003
d0000004000000
00053436741g/
3WF8S7IVFwDfY
0dTXFoA==:******
****:2:2:0:PD-
KW003/3P 轉 2P
電源轉接
頭 :1:35:JA-
2868/mj300 搓澡
巾 30*90cm:1:29
18:19:54
SBERT
特徵字串
A-5
依發票內容建議科目
時間
35
金額
Cyclic
Transformation
Sigmoid
0.3425
0.3290
0.1141
0.2130
…
0.0829
0.3455
0.1242
0.3418
K-NN
個人化
科目建議
AI 模型
全國營業 ( 稅籍 ) 登記資料集
B
個人化科目建議:使用者帳本 ➞ 個人化科目
A
自動化
B
個人化
1. YOLO segmentation 截取發票
2. 將拍攝的發票照片擺平成 0 / 90 / 180 / 270 度
3. YOLO classifier 分類角度並轉正
4. 讀取發票的文字資訊
5. 依發票內容建議科目
依據使用者帳本,給予個人化科目建議
照片 科目
B
個人化科目建議:使用者帳本 ➞ 個人化科目
AI 模型
發票
個人化
科目建議
使用者帳簿
初始時,無任何帳本記錄
B
個人化科目建議:使用者帳本 ➞ 個人化科目
使用者帳簿
AI 模型
發票
個人化
科目建議
樣板帳簿
多個樣板帳簿,讓使用者
選擇較符合習慣的樣板
B
個人化科目建議:使用者帳本 ➞ 個人化科目
使用者帳簿
AI 模型
發票
個人化
科目建議
樣板帳簿
漸漸取代樣板帳簿
使建議完全個人化
2
Tech Demo
2
Tech Demo
3
UI Design
3
UI Design
GitHub |
Figma |
Team Lead |
YOLO, 發票辨識 / 裁切 / 轉正 |
QR Code 掃描 |
Tesseract OCR |
Machine Learning, 科目建議 |
Ledger-cli 帳本格式讀取 / 輸出 |
UI/UX Design |
UI Implementation |
指導老師 |
4
Credits
https://github.com/fast-ledger/fast-ledger
https://www.figma.com/design/9RODrR6UY7w49wn8Q12imY
李 O 輝
張 O 勝
陳 O 靜、張 O 勝
張 O 學、蕭 O 宸
李 O 輝
張 O 學、蕭 O 宸
陳 O 軒、李 O 輝
陳 O 、李 O 輝、張 O 勝
Joseph 、鮪魚老師
A3
傳統發票讀取
A3
利用 LLM 處理非結構化發
票
Genimi API JSON Pandas DataFrame
Prompt : “Analyze the provided
invoice image and extract the
merchandise information. Respond
ONLY with a valid JSON ….”
Invoice Image
Invoice parser
傳統舊式電子發票缺乏統一的格式,其商品資訊並無固定的描述規則,因此難以透過 Regular
Expression 有效擷取相關內容。目前較為理想的解決方案,是藉助大型語言模型( LLM )進行
語意理解,解析發票文字內容並準確提取商品資訊。
A3
Invoice
Parser
利用 LLM 處理非結構化發
票
日期 科目 借方 貸方 備註
01/05 預付費用(資產) 12,000 年繳保費
銀行存款 12,000
每月月底 保險費用(損益) 1,000 攤提支出
預付費用(資產) 1,000
只看流水帳,會以為 1 月份支出比其他月份多 12,000 ,但實際上這是預付款
項,攤平至每個月才是真實的財務狀況
0
為什麼要複式記帳?
Since 2016, 412k on Reddit
Since 2020, 233k on Reddit
2024-03-11 購買 Samsung 平板
資產 : 平板 13,900 元 ; 原價入帳
支出 : 折扣 -1,390 元 ; 折扣扣除
支出 : 稅金 596 元 ; 稅額成本
資產 : 現金 -12,510 元 ; 實際支付金額
https://ledger-cli.org/
https://plaintextaccounting.org/
https://www.reddit.com/r/plaintextaccounting/

智慧發票解析與自動化複式記帳系統:融合 OCR、NLP 與 LLM 的個人財務管理解決方案