前言
手寫發票的資料輸入是營業稅申報流程中最費時的一環,傳統人工輸入容易出錯又耗時。
本文將介紹,如何透過 Dify API 結合 Azure AI,把這段流程完全自動化,大幅減少人工作業時間與錯誤風險。
延續我在 使用 Dify 自動辨識高鐵票 的實作經驗,
在 Dify 中只要加入 LLM 節點,使用 gpt-4.1-mini 模型來辨識高鐵票,又快又準確。
但是當我將高鐵票改成手寫發票時,有些手寫的數字就有可能會辨識錯誤,例如9
,有可能會被辨識成7
,
這時候要怎麼辦呢?
解法
GPT 雖然強大,但在辨識手寫內容上仍有一定限制。
此時我們可以改用Azure AI Content Understanding先進行辨識,再將結果交給 LLM 處理成我們需要的 JSON 格式。以下是完整流程:
1.在 Dify 中安裝 dify-plugin-azure-ai-document-intelligence 插件
在 Dify 中,點擊外掛,點擊安裝插件,選擇Github 的,貼上dify-plugin-azure-ai-document-intelligence的 url,選擇版本及套餐,再按下一個即可,如下圖:

2.建立 Azure AI Content Understanding
建立好 Azure AI Foundry project 後,請點選My assets中的Models + endpoints,切到Service endpoints Tab,如下圖:

3.設定 dify-plugin-azure-ai-document-intelligence 插件的授權
複製 Azure AI Content Understanding 的 endpoint 及 Primary Key, 設定到 dify-plugin-azure-ai-document-intelligence 插件的授權,如下圖:


4.設定流程
在 Dify 中,先使用dify-plugin-azure-ai-document-intelligence插件,再將它的輸入結果給下個 LLM 節點來整理我們要的資訊,最後再輸出 LLM 整理後的結果,如下圖:

插件的 Text 設定給 LLM 節點 的 上下文參數,LLM 節點的 Prompt 如下,
1 | 你是發票文字辨識專家,請從下列 OCR 文字中抽取統一發票資訊,並以 JSON 格式輸出以下欄位: |
完成後,拿三聯式發票怎麼開?複寫紙用法?手把手開給你看!的圖片來解析,結果如下圖:

辨識結果準確,處理時間約 6.5 秒,且推論成本低,可滿足企業對效能與成本控管的需求,具備導入價值。
結論
如果是非手寫圖片,例如車票、名片等等可以用 gpt-4.1-mini 大部份都可以精準地辨識出來。
但遇到手寫圖片時,僅靠 GPT 模型的能力可能會有所限制,此時可透過 Azure AI Content Understanding 先進行辨識,再交由 LLM 結構化輸出資訊。
手寫發票的資料輸入是營業稅申報流程中最費時的一環,
本文介紹的解法,透過 Dify API 結合 Azure AI,即可將這段流程自動化,大幅減少人工作業時間與錯誤風險。
綜合來看,只要結合 Azure AI Content Understanding 插件 與 LLM 節點,就能有效完成手寫發票的文字辨識與結構化輸出,成為自動化營業稅資料建檔的強大工具。
而整個設定過程在 Dify 中不到 1 分鐘即可完成。
加入處理 三聯式發票
如果要加入處理三聯式發票可以在 Prompt 中加入 補充說明 如下,
1 | 補充說明: |
這樣 三聯式發票 也可以很快的辨識出來,使用打了統編 可報帳抵稅// 捶心肝…發票中千萬 不能領的圖片來測試,如下:

參考資源
使用 Dify 自動辨識高鐵票
三聯式發票怎麼開?複寫紙用法?手把手開給你看!
Azure AI Content Understanding
dify-plugin-azure-ai-document-intelligence
打了統編 可報帳抵稅// 捶心肝…發票中千萬 不能領