openbudget OpenBudget:從 PDF 打開台灣完整的預算世界
OpenBudget:從 PDF 打開台灣完整的預算世界
一道卡了十年的題
2012 年 twbudget 出現之後,台灣的預算開放一直停在同一個地方:中央政府總預算。
這份資料是整個政府預算的「目錄」。真正記載錢花在哪裡的,是各機關的單位預算——衛福部的社福支出細目、教育部的各項補助、各縣市政府的工程預算——這些數字才是預算監督的核心。但單位預算散落在各機關,主計總處沒有集中提供,格式也不一致。
Ronny 試過 XML 方向:2016 年國發會推動開放資料標章之後,部分機關確實把預算書轉成 XML,但各機關各做各的,格式超過數十種,沒有辦法整合。這題每次嘗試都撞牆,只好擱著。
2025 年的風波,重燃興趣
2025 年,立法院的預算審查吵得沸沸揚揚,社會上對預算透明的需求一下子被放大。Ronny 再次對這個題目燃起興趣。
這一次,有了新的底氣:做 lawtrace、lyapi、pdf-table-extractor 這些年,他對處理 PDF、DOCX 這類非結構化格式有了更紮實的經驗。
第一步,他把目標放在立委的凍結與刪除預算提案書。這些 DOCX 格式的提案資料,感謝 lyapi 早就把立法院的資料存在資料庫裡,不用重爬。Ronny 把凍刪資料清理出來,後來促成了 READr 基於這份資料做出「中央政府總預算案審查監督平台」,被大量讀者使用。
換個角度:PDF 每個機關都有
有了清理凍刪資料的經驗,Ronny 想通了一件事:
- Excel、XML?不是每個機關都有。
- PDF?所有機關都有。
每年每個機關都必須出一本預算書,而且幾乎全部都是 PDF。那就從 PDF 下手。
他開始研究怎麼從 PDF 把預算數字還原成結構化資料。這不是新鮮題,難的是政府 PDF 的品質參差不齊——掃描檔、排版各異、表格合併不一致。他一一攻破,寫出了資料清理工具,成功從 PDF 把資料逆向還原出來。
國會松搭起的橋
故事的另一條線,是國會松。
在國會松的預算場次裡,時代力量和台南新芽都曾參與,接觸到歐噴公司正在研究預算書的事。支持這些倡議團體的民主基金會因此知道了歐噴,主動來電,希望資助資金,讓 Ronny 能專心把預算開放這題往前推。
就像當年 lawtrace 有了資源才能全力投入,這一次,OpenBudget 也走上了同樣的路:有了資金,找來 lawtrace 的 UI/UX 設計師 Sandra 做使用者研究和介面設計,讓這個平台不只是工程師的玩具,而是真正能被倡議者、記者、議員助理用上的工具。
OpenBudget 做到了什麼
舊的起點: budget.g0v.tw,只有中央政府總預算,資料量不到中央政府整體預算的 5%。
新的終點:
- 中央政府各機關單位預算(真正記載錢花在哪裡的細目)
- 台灣二十幾個縣市政府的總預算和單位預算
從 5% 到趨近完整,這一步花了 13 年才走到。
誰在用
OpenBudget 上線後,Ronny 開始推廣給倡議型 NGO——讓他們能從預算角度理解跟自己議題相關的政府支出,找到可以施力的槓桿點。縣市議員和立法委員的助理也開始使用,能更完整掌握預算全貌,做出品質更高的預算監督問政。
從 2012 年 clkao 在 Yahoo Hackday 展示「預算可以被看見」,到 2018 年 Ronny 讓 twbudget 的資料不再老化,到 2025 年 OpenBudget 打開整個政府的預算世界——這條線一直都在,每一段由不同的人、不同的方式接起來。