自動辨識收據與ChatGPT彙整至Moze記帳的捷徑

appleseed
Jan 13, 2024

--

從以前就一直希望記帳的內容可以盡可能加入購物明細,這樣對於日後尋找支出非常有用,記帳軟體現在可以從電子發票中匯入明細其實已經幫助很大了。

不過有時候因為店家的關係,電子發票的內容時常過於簡略,或是有的不提供電子發票,所以支出的明細就得自己紀錄,當然因為懶,常常就沒記啦XD

前不久發現 iOS 的捷徑提供照片轉文字的指令,實際用起來超快辨識完成,中文字的正確率也高,於是又動起念頭把收據內容自動轉成文字。

一開始遇到最大的問題是,文字的正確率很高,但是文字的排版慘不忍睹,後來突然想到,或許ChatGPT可以幫上忙,經過幾番調整Prompt之後,沒想到輸出的結果還算令人滿意!!

接下來就是要把ChatGPT整理好的內容,轉成變數給Moze使用,這地方對於不會寫程式的我來說,卡了一整天,中間還問了Bard AI,它真的頗聰明,給了我幾條有用的修改方向XD

但我用的方式實在太土砲,所以GPT產出的內容變化太多的時候,Moze 新增記帳那邊就會錯誤,因為它要求用URL Scheme傳入的變數格式非常嚴格…

本來想放棄了,但是又覺得只差一步,厚著臉皮去問推友阿刃,沒想到三兩下就把數值正規化的部分解決了!!(放煙火)

測試了一陣,運作還算順暢~

第一步:開啟相機拍照收據

接下來,捷徑會把ChatGPT整理好的內容先複製到剪貼簿,然後把商家名稱跟總金額轉成變數傳送到Moze使用,再自己手動把明細貼到附註裡面即可。

品項的數量還是有錯誤,不過通常正確率頗高就是了

需要修改的地方是捷徑中的最後一段文字

moze3://new?amount=已更新的文字&account=錢包&subcategory=其他&project=生活開銷&store=已更新的文字

其中「account=錢包」把錢包改成你自己想預設的支出帳戶名稱(必須跟Moze中用的相同),「subcategory=其他」這個改成你想使用的支出類別,例如「早餐」,我選用其他是方便我事後再決定歸類,「project=生活開銷」則是你想預設的專案名稱,如果沒有用到其中幾項也可以刪掉。當捷徑執行到這邊的時候,就會把想記帳的金額、支出帳戶、分類、專案與商店名稱都替你自動填入,最後你可以視情況把複製到剪貼簿的明細內容貼到附註中,這樣就搞定了!

2024/1/18更新:

關於支出的類別我後來決定冒險一試,也請ChatGPT在分析明細的時候同時幫我判斷這張收據是屬於什麼類型的消費,然後我列出Moze裡面常用的支出類別讓它選擇(例如早餐、飲料、日常用品等,這裡的用字一定要符合Moze裡面自己設定的既有分類)實際測試結果還不錯!

2024/2/4更新:

新增判斷收據日期填入Moze的日期時間欄位
新增彙整內容自動貼上到Moze的備註欄位
新增捷徑內的註解

捷徑可由這邊下載,務必要修改最後一段文字才能正確執行喔!

https://www.icloud.com/shortcuts/3a49192b6c5e4f4ba62cd999906ef5ab

附上ChatGPT的Prompt

請你扮演我的記帳助手,我會給你收據的交易明細,請你幫我重新排版文字,前後對照明細中的品項與價格,只保留商家名稱交易內容與交易時間,總金額改寫為「總計」。其餘如會員資訊、紅利點數、數字後綴詞T、TX等則不用保留,不用額外說明,最後根據明細的內容,例如消費的時間、商家類型綜合評估這個收據適合歸類在何種支出類別,請用以下指定的類別歸類:

早餐
午餐
晚餐
飲料
市場
日常用品
其他

請根據綜合評估最後僅只給我一個類別,不要加入任何其他文字;另外,消費時間請使用yyyy.MM.dd HH:mm格式表示。

請按照以下範例:

商家名稱:店名
消費時間:
支出類別:
交易明細:
品項 單價 數量 總價 折扣

總計:NT$總金額

以下是收據交易明細:

--

--

appleseed
appleseed

Written by appleseed

Bio裡該要寫點體面的格言才是。

No responses yet