Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

票易合是 Apache-2.0 開源的跨平台桌面工具(Python+PySide6,GitHub 約 93 顆星),專門把多張電子發票 PDF 合併排版成指定格式,支援 1×1 到 10×10 自訂佈局、按開票日期或金額排序、依發票欄位批次重命名、合併前查重、Excel 匯出與一式兩份列印。它鎖定中國電子發票的報銷場景,欄位與監製章都是中國發票規格;台灣統一發票格式不同,通用合併排版能用,但欄位自動重命名與查重需要在地化調整。適合在中國報稅報銷的財務行政,或想借鏡發票自動化的開發者。
用 AI 摘要這篇文章:
票易合是一款專門把多張電子發票 PDF 合併、排版成指定格式的開源桌面工具,目標使用者是每月要整理一大疊發票去報銷的財務與行政人員。它和一般 PDF 工具的差別在於「專為發票而生」:能依發票上的欄位批次重命名、合併前自動檢查有沒有重複發票、還能印成一式兩份方便抵扣與存檔,這些是通用 PDF 軟體不會替你想到的功能。專案在 GitHub 有九十多顆星,Apache-2.0 授權,用 Python 加 PySide6 寫成,提供 Windows 與 macOS 兩個平台的桌面版。對每月要整理幾十張發票去報帳的人來說,這類專用工具能把一段反覆的手工流程壓成幾次點擊。
TL;DR:票易合(GitHub 約 93 顆星,Apache-2.0 開源,Python 3+PySide6+PyMuPDF,2026 年 5 月建立、6 月底仍在更新,release 0.1.6)是一套跨平台桌面應用,把多張發票 PDF 合併排版成指定格式,支援 1×1 到 10×10 的自訂佈局、按開票日期或金額排序、依發票欄位批次重命名、合併前查重,並能匯出 Excel 清單與一式兩份列印。它鎖定的是中國電子發票(發票)的報銷場景,欄位與監製章都是中國發票的規格;台灣統一發票的格式不同,通用合併排版能用,但欄位自動重命名與查重需要在地化調整。適合在中國報稅報銷的財務行政,或想借鏡發票自動化流程的開發者。
目錄
把發票 PDF 丟進〈ChatPDF〉或〈EasyPDF〉這類通用 PDF 工具,你能做的是合併、分割、轉檔這些標準動作,它們不認識「這是一張發票」,對報銷才在意的細節也幫不上忙。票易合從一開始就假設你丟進來的是一疊發票,會把每張發票上的關鍵欄位當成可操作的資料,讓你依欄位排序、批次重命名,並在合併前查重。
這層「懂發票」的設計,是它和通用 PDF 軟體最根本的距離。它和同樣鎖定中國商業文書的〈OpenBidKit 易標〉是同一類思路:OpenBidKit 專做標書、票易合專做發票,兩者都是把某個繁瑣的商業文書流程,收進一個有紀律的專用工具裡,而不是讓你拿通用工具硬拼。把幾種處理發票的方式擺在一起比較,差異更清楚:
| 方式 | 依發票欄位重命名 | 合併前查重 | 一式兩份列印 | 適合場景 |
|---|---|---|---|---|
| 票易合 | 有 | 有 | 有 | 大量發票報銷 |
| 通用 PDF 工具 | 無 | 無 | 手動 | 一般 PDF 編輯 |
| 手動合併 | 無 | 自己盯 | 自己印 | 少量發票 |
票易合把發票報銷最花時間的幾個動作做成內建功能。排版上,你可以從 1×1 到 10×10 之間自由選擇每頁要排幾張發票,即時預覽合併後的長相,還能滾輪縮放檢查;列印順序能依列表順序、開票日期或開票金額三種方式排,報銷單據的排序需求基本都能對應。

這層排序彈性在實際報銷時很實用。例如會計部門要求發票依開票日期先後排列以利勾稽,就選「開票日期」;若要依金額由大到小呈現方便主管快速掌握大額支出,就選「開票金額」;想保留自己整理的順序,則維持「列表順序」。配合右側面板的檔案數量與金額即時統計,整批發票的總額在合併前就能確認,不必等到印出來才算,能提早發現金額對不上的問題。
批次重命名是另一個實用點。你能依發票欄位(發票類型、商品類型、開票日期、買方名字、銷方名字、金額)自訂命名規則,例如設成「開票日期-銷方名字-金額」,幾十張發票一次重新命名成有意義的檔名,省下手動一張張改的功夫。命名規則支援的欄位都是中國發票上實際存在的欄位,組合起來能對應多數報銷歸檔的需求,例如想依專案、月份或廠商分類,都能用欄位組合表達出來。

合併前它還會自動檢查有沒有重複發票,避免同一張發票印兩次、報銷時被退件,這在月底一次整理幾十張發票時特別有用,人眼很容易漏掉重複的那一張。合併後的清單也能匯出成 Excel,欄位齊全,方便後續對帳、做摘要或交給下一個流程處理。報銷常見的「一式兩份」需求,它直接做成一個選項,勾了就一次印兩份,一份用於抵扣、一份留底存檔,把報稅報銷的標準動作也照顧到。
發票 PDF 合併有個麻煩:有些資訊(例如發票監製章)是以向量形式內嵌在 PDF 裡,單純把多張 PDF 拼起來,向量資訊可能跑掉或失真,影響報銷時的核驗。票易合提供兩種處理模式來應對這個問題,讓你依報銷單位的要求挑選最合適的輸出方式。
普通模式會盡量保留 PDF 的向量資訊和發票監製章,合併後的檔案品質最貼近原始發票,檔案通常也較小,放大檢視也不會失真;圖像模式則把發票轉成高精度圖片再合併,犧牲一點檔案大小,換來跨裝置顯示一致、不容易因字型缺漏而走樣的穩定度。實務上,若報銷單位要求嚴格保留原始發票樣貌、或需要事後在合併檔裡選取文字,普通模式較合適;若擔心合併後在某些環境顯示異常、或對方系統對向量 PDF 相容性差,圖像模式更保險。兩種模式能依報銷對象的要求來挑,沒有絕對的好壞,建議兩種都試過一次再定案。
票易合的介面是典型的桌面工具邏輯,講究把檔案清單顧好。你把發票 PDF 拖進視窗、或點新增檔案按鈕選檔,檔案會以清單形式列出,每張顯示檔名、金額、開票日期、路徑、修改日期與大小;右側面板同時彙總檔案數量和金額統計,讓你一眼掌握這批發票的總額。清單裡的檔案能用上移、下移調整順序,也能右鍵直接開啟檔案或在資料夾裡顯示,刪除時可選刪除選中或全部清空。

即時預覽是它比手動拼 PDF 省心的地方。每加進一張發票,它就自動更新合併後的預覽圖,你可以用滾輪縮放檢查排版細節,確認無誤再點「合併 PDF」正式輸出;也能勾「合併後列印」直接送到印表機。整個流程從丟檔、預覽、合併到列印在同一個視窗完成,不必在多個工具之間來回切換。
票易合有兩種取得方式。一般使用者可直接從 GitHub 的 release 頁下載 Windows 或 macOS 的打包版本(目前 release 0.1.6),裝了就能用,不必碰原始碼;Windows 7 的使用者搭配 VxKex Next 也能正常執行。開發者則可從專案原始碼clone 下來,它用 Python 3 開發,PDF 處理靠 PyMuPDF(fitz)、介面用 PySide6(Qt 的 Python 綁定),本機跑只需 pip install PySide6 PyMuPDF 再執行 code/main.py,想自己打包則用 PyInstaller 產生安裝檔。

因為它是純本機的桌面應用,發票檔案從頭到尾不會上傳到任何伺服器,這對處理公司報銷憑證的人是重要的隱私優勢:財務資料留在自己電腦上,比丟給某個線上 PDF 網站處理踏實得多。它最近一次更新在 2026 年 6 月,仍處於活躍維護狀態,從九十多顆星的規模看,屬於剛起步但持續在做的實用小工具。
要誠實講的是,票易合從中國的電子發票環境長出來。它認得的欄位(買方名字、銷方名字、開票日期、發票類型、商品類型)、它在乎的「發票監製章」、還有「一式兩份抵扣」這套報銷邏輯,都是中國發票(增值稅發票、電子普通發票那一套)的規格。它不是設計來處理台灣統一發票的。
台灣能不能套用,要分兩層看。通用那一層,也就是把多張 PDF 合併、排成 A4 佈局、即時預覽、合併後列印,這些功能對台灣統一發票的 PDF 一樣能用,因為它本質上就是 PDF 的幾何排版,和發票格式無關。發票專屬那一層,像是依欄位批次重命名、重複發票查重,則是針對中國發票的欄位結構做的,台灣統一發票的欄位(賣方統編、買方統編、交易日期、稅額等)不一樣,直接套會對不上,需要改程式去解析台灣發票的格式才能發揮作用。換句話說,把它當「發票 PDF 排版工具」用,台灣可行;要享受它全自動的欄位流程,就得動手在地化。
一個台灣財務人員務實的用法是:把電子計算機發票或電子發票證明聯的 PDF 丟進票易合,用它的 1×2 或 2×2 佈局排進 A4,即時預覽確認沒歪,再合併列印成一本送去報帳,這段「排版合併」的效率提升是實實在在的;至於想自動依統編、月份把檔名整理好,或自動揪出重複報帳的發票,這部分就得等社群補上台灣發票的解析,或自己 fork 一份改寫欄位讀取邏輯。對會 Python 的人,這反而是一個明確、範圍有限的改寫標的。
票易合最對口的是在中國要處理大量電子發票報銷的財務、行政、或業務人員,每月幾十張發票要整理成冊去報帳,手動合併排版既慢又容易出錯,這套工具能把那段流程壓成幾分鐘。對台灣讀者來說,若你手上的發票是統一發票、而且需求只是把多張 PDF 整齊排進 A4 列印,它的通用排版功能就夠用;若你需要的是依統編、日期自動重命名這類發票專屬自動化,那就得等它或社群補上台灣發票的解析支援,或自己 fork 改一份。
它門檻不高,桌面版裝了就能跑(Windows 7 搭配 VxKex Next 也能用),原始碼也在 GitHub 上,對想把發票處理流程接進自家系統的開發者來說,是個可以直接參考的起點。把它理解成「發票版的專用排版機」,大概就抓準了它在整個工作流程裡的位置。
票易合用的是 Apache-2.0 授權,這是相對寬鬆的開源條款,企業內部拿來用、改來符合自家報銷流程、甚至整合進財務系統,授權上的顧慮都比 AGPL 之類的條款小很多。對台灣的開發者或財務 IT 團隊來說,這也意味著:與其等它官方支援台灣統一發票,不如把它當一份現成的 Python+PySide6 模板,fork 下來把欄位解析換成台灣發票的結構,就能做出一套在地版本。它的程式碼規模不大、邏輯清楚,改寫的工程成本是可控的,這對有內部開發資源的團隊是個務實的選項。