WP Manifestindependent plugin directory
manifest / utilities / finance

WUMETAX Finance

家庭與公司共同財務管理:獨立首頁、前台登入、家庭共用記帳、信用卡、分析報表及完整後台管理。

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/jimmy-is-me/finance/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

v1.5.3

  • 新收據改為 JPG,最長邊 2200px,優先壓縮至 1 MB 內(硬上限 5 MB)
  • 透明圖片使用白底,既有 JPG/PNG/WebP 收據保持原樣
  • 保留私人儲存、加密與家庭權限檢查

v1.5.2

  • 訂閱新增選填美金原價(最多兩位小數),於備註欄及新產生收支備註顯示
  • 原價只做備註,統計仍使用新台幣入帳金額,不自動換匯
  • 強化操作按鈕獨立間距,保持訂閱八欄排列與共用風格
  • 貸款預設由所選月份顯示三期,可展開全部

v1.5.1

  • 訂閱列表依指定八欄排列,顯示備註與付款工具
  • 操作按鈕以獨立框線與間距排列
  • 貸款預設顯示三期,支援展開與收合
  • 統一訂閱與貸款頁首、表格、操作及狀態樣式

v1.5.0

  • 已停止訂閱可刪除設定,歷史收支保留;訂閱可複製後修改,副本預設由今天起算
  • 貸款到期自動新增未繳費收支,每貸款每期唯一;家庭管理員可在兩個頁面同步標示/取消已繳
  • 未繳費不計入實際支出;貸款分類自動建立,付款工具可在收支編輯補上
  • 貸款會依首次日期補登已到期月份(每批 24 期),更新前已有手動記帳者請核對避免重複
  • 信用卡付款工具新增「登記清償」,使用轉帳沖減未清償金額,不重複列支
  • 每筆清償可記錄實際出帳日、繳款期限;固定每月日期可在付款工具編輯
  • 修正編輯標題排版

v1.4.0 更新

  • Bauhaus 幾何介面:紅藍黃、粗邊框、硬陰影;保留響應式、鍵盤焦點與減少動態效果
  • 記帳順序:帳本、類型、日期、整數金額、備註、分類、付款方式、付款/收款工具、收據
  • 紀錄順序:日期、分類、備註、金額、類型、記帳人/帳戶、操作
  • 修正貸款與逐期繳款表單未攔截送出的錯誤
  • 新增訂閱管理:項目、整數金額、首次到期日、結束日期、每日/每週/每月/每年及間隔、帳本、分類、付款方式、工具、備註、停止續記
  • 到期建立未繳費支出,家庭管理員可在收支紀錄標記/取消已繳;備註和實際金額可透過編輯收支修改。未繳費不計入總覽、圖表或信用卡未償金額;一般記帳與既有資料預設已繳
  • 每小時 WP-Cron 與開啟收支頁補登;以網站時區為準,沒有網站流量時可能延後。每輪最多 100 項訂閱、每項最多補登 24 期,長期歷史逐輪補齊;每家庭管理畫面最多列 500 項
  • 每期資料庫唯一索引及資料庫鎖防重;修改金額或付款設定只影響未來新紀錄。已產生紀錄獨立保存,停用不刪歷史,重新啟用會補登停用期間到期的紀錄
  • 起日與週期建立後固定,若要更改,停止舊訂閱後建立新訂閱,並注意交接日期,避免兩筆不同訂閱重疊記帳
  • 訂閱是本機人工管理,不會向銀行或服務商扣款、取消方案、取得付款結果或寄送提醒
  • 舊的小數金額保留,不會在升級時四捨五入;新記帳使用整數輸入。收據加密與權限維持原設計

更新前請備份資料庫與收據檔案,更新後先在測試站確認。以下為歷史版本說明。

WUMETAX Finance|家庭財務管理

繁體中文 WordPress 家庭財務 Web App,預設採 Minimalist Monochrome(黑白極簡) 視覺設計。無第三方訂閱服務,交易及設定儲存在 WordPress 資料庫,收據圖片存放於網站公開根目錄外的主機私人目錄。

特色

  • 家庭空間:成員登入、邀請、擁有者/編輯者/檢視者權限;每位成員可共同查閱家庭和公司收支
  • 雙帳本:家庭和公司分開統計,整體總覽可一次檢視
  • 記帳:收入、支出、轉帳;分類、帳戶、日期、備註、成員操作紀錄
  • 信用卡:信用卡消費當時記支出,償還帳單以轉帳記錄,避免重複支出
  • 分析:月度統計、支出分類、六個月走勢、近期交易
  • 資料:CSV 匯入/匯出(含 Google Sheet A–M 欄位版面匯入支援),所有財務資料僅存在 WordPress
  • 介面:手機優先 RWD、黑白單色系、襯線字體、清晰線條、零陰影、桌面側邊欄與手機底部導覽、免付費 SaaS 訂閱

v1.3.1 iPhone 記帳與今日紀錄

  • iPhone 日期欄位:採用仍可操作的原生日期輸入元件,外層固定顯示居中的繁體日期文字,不再依賴 iOS 對 date input 文字與框線的原生排版
  • 不強制縮放:所有手機表單文字至少 16px,避免 Safari 因小字自動放大;仍保留使用者自行雙指縮放(沒有設定 user-scalable=no)。彈窗具有內部捲動、固定頂部 X 和足夠觸控範圍
  • 欄位排序:「分類」安排在「備註」之前,切換付款方式時局部更新,不跳回表單頂端
  • 收據 WebP 壓縮:手機選擇照片時先在瀏覽器 Canvas 去除原始 EXIF 並轉 WebP,長邊先縮至最多 2400px,依序降低品質直到 5MB 以內(原始照片最多 40MB)。若 Safari 無法解碼 HEIC 或轉 WebP,明確提示先轉 JPG
  • 服務端 5MB:WordPress 私人收據儲存上限同步從 3MB 提升到 5MB,仍驗證影像真實格式、私人路徑與家庭權限;舊收據與媒體庫紀錄保留
  • 存檔自動關閉:記帳成功就關閉編輯視窗;照片上傳若單獨失敗,不重複建立交易,顯示通知可稍後編輯補傳
  • 今日記帳:總覽在統計卡下方、圖表之前顯示今天最新 20 筆交易、筆數與收入/支出金額,依 WordPress 網站時區,不受目前選擇月份影響

注意:實際 iPhone 日期選擇器/相機選取行為需在目標手機與 Safari 上進行最後驗收。照片轉檔在手機本機完成,因裝置 RAM 或 HEIC 相容性可能失敗;失敗不會把未轉檔的大型原圖直接上傳。

v1.3.2 免設定收據加密儲存(適用無法建立站外資料夾的 Nginx 主機)

  • 自動判斷模式:優先使用舊版已建立的主機私人資料夾;如果目前主機無法寫入網站公開根目錄外的資料夾,則自動切換成 AES-256-GCM 加密收據儲存。一般不需要修改 wp-config.php、不必開放 777 權限
  • 加密模式不是將圖片原圖公開:每張圖片先加密,實際存放 WordPress 媒體目錄內的隨機 .enc 檔案;不產生公開原圖、縮圖或可直接開啟的 JPG/PNG/WebP。媒體庫只有安全的附件索引,Finance 經登入、Nonce 和家庭權限驗證後才解密顯示
  • 安全界限要知道:某些 Nginx 設定可能允許直接下載 .enc 檔案,但下載到的是經認證加密的密文,無法不持有金鑰就還原照片。若業務要求連密文本身都不能透過網站下載,須由主機管理員另外提供完全站外的私人資料夾,不可只靠 .htaccess
  • 金鑰與備份:網站首次使用加密模式時自動生成獨立 256-bit 金鑰並寫入 WordPress 資料庫 option wff_receipt_aes256_key,不隨一般 WordPress salts 變動。務必同時備份 WordPress 資料庫(包含金鑰) 和 收據目錄。若資料庫金鑰遺失,系統偵測到仍有加密檔案時會拒絕偷偷產生新金鑰;遺失原金鑰無法還原原照片
  • 與舊版相容:原有 v1.2.8 Base64 與 v1.2.9/v1.3.0 的站外私人 JPG 檔案不會自動刪除;舊資料庫收據僅在新檔寫入及驗證成功後清空 Base64。既有站外照片維持原路徑讀取,新版加密照片使用 .enc 辨識
  • 儲存狀態:WordPress「家庭財務 → 網站與登入設定」會顯示目前使用的是站外私人資料夾、AES 加密模式或儲存無法使用。若兩種模式都無法安全運作則拒絕照片上傳,不會保存明文到公開 uploads

v1.3.0 收據整合 WordPress 媒體庫(私人影像)

  • 在 Finance 記帳時直接拍照、選擇圖片或替換收據,並建立 WordPress 媒體附件索引,管理員可在 WordPress「媒體」查看收據;操作方式與一般媒體項目類似
  • 圖片實體檔案絕不存進公開的 wp-content/uploads,也不產生可公開直接存取的原圖/縮圖。媒體附件是資料索引;實際圖片存放於私人目錄,透過 admin-ajax.php?action=wff_receipt_image、有效登入 Cookie、Nonce 和家庭成員權限驗證後提供
  • 一般訪客、其他家庭成員即使知道附件 ID 或圖片預覽 API,也不能查看收據。每次取圖都驗證目前登入者的家庭成員身分,避免只封鎖 REST API 卻洩露原始媒體 URL
  • 首次使用會自動尋找 WordPress/DOCUMENT_ROOT 之外可寫入的私人路徑,不需要使用者先編輯 wp-config.php。若主機權限/目錄結構無法建立安全目錄,拒絕照片上傳,不會改存公開媒體庫
  • 之前教學用的 /home/account/private/finance-receipts 與 /home/example/private/finance-receipts 兩個範例路徑會自動忽略,避免誤貼後持續失敗。如你自行設定了實際專屬路徑,仍以該設定為準
  • 原有的 v1.2.8 Base64 收據、v1.2.9 私人檔案與收支紀錄均保留;背景排程會分批遷移、補齊媒體附件索引
  • 圖片上傳須符合 JPG、PNG、WebP、單張最多 5MB(v1.3.1 起由 Finance 表單轉 WebP),家庭權限及不公開原圖的限制依舊。縮圖預覽仍透過登入驗證路由讀取原圖,不會另在公開資料夾產生縮圖
  • 勿直接使用 WordPress 一般「新增媒體檔案」上傳私人收據:一般 WordPress 媒體上傳會放到公開 uploads,只有由 Finance 記帳上傳的圖片才有上述私人保護
  • 備份提醒:必須同時備份 WordPress 資料庫和私人收據實體目錄。主機若有 Nginx Alias 或其他網域映射到私人路徑,管理員仍需確認所有虛擬主機設定

v1.2.9 安全收據檔案(資料庫不再儲存圖片)

  • 新收據存於實際網站公開根目錄之外的私人主機目錄;資料庫只記錄隨機檔名、SHA-256、檔案長度、MIME 與相關資訊

  • PHP 會驗證私人路徑不在 WordPress 根目錄、實際伺服器 DOCUMENT_ROOT、wp-content、uploads 內,不依賴 Apache .htaccess(Nginx 不會讀取 .htaccess)

  • 檔案以 48 位十六進位隨機名稱、0600 權限寫入,資料不提供直接圖片公開 URL;查看經 WordPress 家庭成員 API 授權,上傳/刪除需家庭編輯權限

  • 安全失敗:找不到能驗證的私人儲存路徑,就拒絕新圖片上傳,不會將照片放進公開目錄。舊版資料庫收據仍可經登入授權查看

  • 主機特殊路徑:在 wp-config.php 的結束註解前加入下列設定,改為主機上真正位於所有 Nginx/Apache 虛擬主機公開根目錄及 Alias 之外的路徑

    define('WFF_PRIVATE_RECEIPTS_DIR', '/home/example/private/finance-receipts');

  • 若此路徑不存在,請先由主機管理員建立父目錄並確認 PHP 有寫入權限。不要選 public_html、htdocs、www 或任何 WP uploads 內的路徑。預設會嘗試使用 WordPress 安裝根目錄上一層的私人資料夾

  • 舊照片安全搬遷:排程每小時搬移最多 3 張,也能在 WordPress 後台「家庭財務 → 網站與登入設定」手動搬移。確認檔案寫入及 SHA-256 驗證後,才把舊 Base64 清空;失敗不會刪除原照片,後台會顯示錯誤

  • 備份必須同時包含資料庫與私人收據目錄:只備份 SQL 不會備份新照片。換主機/更改目錄時請同步搬移檔案和更新設定

  • 以前 MySQL 實體檔案大小不一定因清空 Base64 立即減少。請等待待搬移數歸零、備份驗證完成後,再由主機管理員評估資料表空間整理;不要直接刪除舊欄位或無備份操作資料庫

  • 請排除 Finance REST API 的 Cloudflare/主機快取,避免私人收據資料被快取。若同一台主機還有其他網站映射到此目錄,務必自行確認路徑沒有被 Nginx alias / Apache Alias 對外公開

v1.2.8 收據照片與 iPhone 日期欄位

  • 新增或編輯收支紀錄時,可使用手機拍攝收據或選擇相簿圖片,先預覽,再與該筆交易一起儲存;列表會顯示收據圖示,亦可查閱或移除
  • 允許 JPEG、PNG、WebP,單張限制 3 MB,並校驗實際影像內容及最大解析度
  • 收據照片以 base64 儲存在 WordPress 私有資料表,不使用公開媒體庫網址;查看需要登入並具有該家庭成員身分,上傳/刪除需要編輯權限;刪除交易時會移除收據
  • 收據保存在 WordPress 資料庫備份中,請評估磁碟/資料庫容量、主機 PHP 上傳大小限制並將資料庫備份妥善加密
  • 修正 Safari / iOS 日期欄位的直向排列、行高、內距與原生日期顯示,表單在手機下改用全寬排列
  • 不支援 HEIC 直接上傳,請由相機或相簿提供 JPG、PNG、WebP;必要時先在裝置上轉成 JPG

v1.2.7 簡易每月繳款備忘

  • 只記錄有沒有繳:新增時只需名稱、固定繳款日期;每月預計金額可留白,所屬帳本預設家庭,機構與備註選填。不再要求本金、年利率或貸款總期數
  • 循環月曆:依第一次繳款日每月循環(例如 10/5、11/5、12/5);若原日為 31 日而當月沒有 31 日,自動採當月最後一天,次月仍恢復 31 日
  • 快速標記已繳:每期可一鍵標記已繳/取消,或進入詳細視窗補充實際日期、金額和備註,沒有預設金額也可以記錄
  • 查閱過去及未來:只產生畫面附近最多 18 個月份,使用「較早月份」「較晚月份」查看,不依賴固定期數、不預先產生無限筆資料
  • 舊資料保留:原本 1.2.6 記錄的本金、利率與期數仍留在資料庫且維持原有試算;新的簡易紀錄使用 tracking_mode=simple,由 WordPress dbDelta 增加欄位,兩類資料都能查看及登錄繳款
  • 非自動扣款:不會讀取銀行、不會自動扣款或自動新增「收支紀錄」交易,避免帳目重複

用途提醒: 這裡只作為人工繳款提醒與備忘,未標記已繳會顯示待確認/逾期,並不代表銀行真的沒有扣款。更新 WordPress 外掛前先備份資料庫。

v1.2.6 每月貸款紀錄與防誤關閉

  • 新增「貸款紀錄」選單:在「收支紀錄」下方,家庭與公司貸款可分開管理。可登錄車貸、房貸、信貸等,填入貸款名稱、機構、開始追蹤本金、年利率、剩餘期數、首次扣款日期,月繳金額可自行指定或用等額本息公式預估
  • 自動推算每月扣款日:例如 10/5 → 11/5 → 12/5。若每月 31 日扣款,遇到 2 月則按月末日期(28/29 日),3 月再恢復 31 日。無須排程工作、cron 或預先寫入整年的未繳交易
  • 繳款管理:逐期顯示預定扣款日、預估利息/本金、應繳金額、已繳/部分繳款/未繳/逾期。可登錄實際繳款日、金額、額外還本及備註;重複保存同一期只會更新一筆,亦可取消誤登錄的付款
  • 概況:可查看下一期應繳日期與金額、已繳/總期數、已登錄繳款合計、未償本金粗估,並可展開完整歷史期數
  • 不重複計帳:貸款「預計應繳」與「登錄已繳」皆儲存在獨立的 wff_loans、wff_loan_payments 資料表,不會自動新增任何一般收支紀錄。若使用者已在收支紀錄手動登記銀行扣款,貸款頁面仍可確認其繳款狀態,且不會重複加總
  • 安全限制:資料按 household_id 做隔離,僅 owner/editor 可新增編輯及登錄付款;viewer 可查看。已經記錄繳款的貸款不可擅自改動本金、利率、期數、月繳金額及首次扣款日,以免歷史排程遭到追溯變更
  • 彈窗防誤關閉:點擊灰色遮罩或 Esc 均不會關閉有編輯內容的彈窗,只能按右上角 X 或順利儲存後關閉
  • 升級:只新增資料表,不會修改或刪除既有家庭、付款工具、收支紀錄。部署前請先備份 WordPress 資料庫,更新後清除快取

本金與利息僅為估算,不是銀行正式還款明細。 本版本以固定年利率與每月扣款估算,沒有自動處理浮動利率、違約金、保險費、銀行實際攤還規則與提前還款後重新計期。如實際扣款或剩餘本金與銀行不同,以銀行資料為準。本工具不會替銀行發動扣款或主動寄送到期通知。

v1.2.5 記帳效率與家庭名額

  • 複製記帳:收支列表每筆新增「⧉ 複製」操作,帶入原日期、金額、分類、帳戶和付款資訊,使用者可修改後新增一筆,原交易 ID 與資料不變
  • 付款方式不跳頂:付款方式、支付通路、帳本或收支類型變更時,僅在前端局部更新相關分類與付款工具選項,不再重繪整個頁面;已填日期、金額、備註及彈窗捲動位置保留
  • 分類顏色同步:記帳列表、最近交易、分類清單、記帳下拉邊線、分類甜甜圈與排行長條都顯示分類設定的顏色,仍維持黑白 UI 基礎
  • 尺寸一致:調整電腦與手機版表單高度、模組卡片、按鈕、側欄項目與表格操作欄位,改善不同螢幕下的擠壓
  • 每個家庭預設五人:含擁有者及所有角色,邀請名額也會納入尚有效未接受的邀請;伺服器在接受邀請時重新檢查且以家庭鎖避免同時加入超額
  • 管理員開通名額:WordPress 後台 → 家庭財務 → 家庭與成員,可為每個家庭分別調整人數上限。既有超額成員保留,不會自動刪除
  • 頁尾:Finance 前台頁尾僅顯示 © WUMETAX FINANCE

升級前建議先備份網站資料庫;本版使用 dbDelta 新增 member_limit 欄位,既有家庭預設值為 5。WP 管理員可以自行調整名額,不涉及訂閱或第三方金流。

v1.2.4 分類排序與瀏覽器圖示

  • 分類自訂排序:家庭支出、家庭收入、公司收入、公司支出各自保存排列順序。桌面可拖曳分類卡片;手機及鍵盤可使用 ↑、↓ 按鈕操作。
  • 同步記帳選單:排序會儲存在 wff_categories.sort_order,分類管理清單與新增/編輯記帳下拉選單採相同順序。
  • 完整性與權限:只有該家庭 owner/editor 能排序;API 驗證分類 ID 是否完整且全屬同一家庭與收入/支出群組,避免不慎移動其他家庭的資料。唯讀成員只會看到結果。
  • 無損升級:透過 dbDelta 新增排序欄位(預設 0),已存在的分類依原 ID 順序顯示,不會變更分類 ID 或歷史記帳。
  • Finance Favicon:新增黑底白色 F 的獨立 SVG 瀏覽器圖示,登入頁、忘記密碼與 Finance 主頁均會載入。圖示 URL 帶版本參數避免瀏覽器快取。
  • 更新後:清除 Cloudflare/WordPress 快取,若分頁仍顯示舊圖示,可關閉再開啟分頁或清除瀏覽器網站圖示快取。

v1.2.3 付款工具與財務分析改版

  • 付款工具:現金、信用卡、行動支付、銀行。可建立多張信用卡及多個支付品牌,設定機構、備註、排序、啟用狀態、結帳日與繳款日
  • 不重複支出:行動支付通路與真正扣款來源分開保存,支付通路對應 payment_channel_id,扣款卡片/帳戶對應 account_id,一筆消費不因兩者同時存在而計算兩次
  • 信用卡還款:kind=transfer,既有還款不影響收入與支出合計
  • 總覽:近六個月四系列收支折線、近 30 天支出折線、家庭雷達圖、家庭與公司甜甜圈圖、支付工具占比、前十大分類、信用卡與行動支付排行
  • 互動 RWD:原生 SVG、CSS、滑鼠 Hover、鍵盤 Focus 和手機 Touch 查看金額;不使用外部圖表服務
  • 舊資料相容:dbDelta 僅增加原有 wff_accounts 和 wff_transactions 的欄位,保留原交易 ID、分類、帳戶及成員權限;未被指定的支付通路保持空白
  • CSV:相容舊版 Google Sheet/標準 CSV,另在尾端增加「付款通路」欄位;歷史交易不強制修改
  • 停用:付款工具停用不刪除歷史記錄;已被交易使用的付款工具不能改成不同類型

重要:信用卡未清償淨額是依站內交易估算,非銀行正式帳單,可能不包括前期未匯入交易、分期、循環利息、手續費或真實帳單週期。更新前先備份 WordPress 資料庫;請在測試站驗證付款工具、信用卡還款與 CSV 數據。

v1.2.2 登入、密碼重設與家庭邀請

  • 修正登入無反應:原全域 submit 監聽器攔截所有表單(包括登入表單),卻未處理其送出;新版只攔截有處理流程的表單,並以專用 REST 驗證登入。
  • 明確登入提示:登入中狀態、帳密錯誤、逾期、嘗試次數過多及 Cookie/HTTPS 相關排查;保留 admin-post 作為同站備援登入。
  • 專屬密碼流程:在 Finance 申請重設,接收 Finance 樣式郵件,於 Finance 輸入新密碼;使用 WordPress 核心的安全重設金鑰與驗證機制。
  • 家庭邀請:使用 HTML 信件(黑白極簡、家庭名稱、權限、到期資訊和按鈕);登入與加入家庭頁面統一版型,若登入的 Email 不符會提醒切換帳號。
  • 免費新會員:透過 Finance 註冊後收到同風格的設定密碼郵件,不再寄送跳至 WordPress 藍色頁面的預設註冊信。
  • 不含訂閱:保留家庭+公司共享帳目、成員權限、免費自助註冊,無付費方案或第三方訂閱服務。

部署/測試:需要 HTTPS、啟用 WordPress REST API 及正常的 SMTP/WordPress 寄信服務。請排除網站首頁(啟用首頁模式時)及 `/wp-json/wff/v1/*` 的 Cloudflare、主機與外掛快取。上線前在測試網站驗證:登入、登出、忘記密碼寄信與重設、受邀 Email 建立帳號、已存在帳號加入及 Email 不符提示。本次自動化測試涵蓋語法與流程規則,並不等同實際網站或 SMTP 整合驗收。

v1.2.0 網站模式(參考寵物管理 2.25.0)

Finance 現在是完整的 WordPress 網站入口,不需要額外部署 Cloudflare Pages 或掛載短碼才能進入:

  • 預設首頁模式:啟用外掛後,訪問 WordPress 網站首頁 / 即顯示 Finance(包含訪客登入/免費註冊)。
  • 後台管理:WordPress 控制台新增「家庭財務」主選單,下設「控制台、網站與登入設定、家庭與成員、收支紀錄查詢、最近操作紀錄」。
  • 可調整首頁模式:後台「家庭財務 → 網站與登入設定」,取消勾選「網站首頁直接顯示 Finance」即可恢復原有 WordPress 首頁;外掛改在已指定的財務頁面顯示。
  • 一般會員:可以在 Finance 前台登入,首次登入建立家庭;一般會員預設不需要進入 WordPress 後台。
  • 免費註冊:可在後台開關,透過 WordPress 寄送設定密碼的郵件,註冊後建立自己的家庭。受邀加入家庭的用戶也能透過邀請連結註冊。
  • 無訂閱功能:沒有方案限制、付款閘道、訂閱授權或付費帳單管理。
  • 隱私:每個家庭獨立的資料授權;WordPress 網站管理員可在後台稽核所有家庭的資料,請只信任必要的站點管理員。

⚠️ 此外掛預設接管目前 WordPress 網站的首頁。如果你要保留原有品牌官網,應安裝在 Finance 專用的 WordPress 子網域,或在後台關閉首頁模式。

安裝

  1. 下載本儲存庫原始碼 ZIP,或由 GitHub Actions 的 Build Plugin 工作流程下載 wumetax-finance.zip
  2. WordPress → 外掛 → 安裝外掛 → 上傳 ZIP 並啟用(透過 GitHub Source ZIP 安裝時可能需要先確保 ZIP 頂層為單一外掛目錄)
  3. 啟用後自動建立 家庭財務管理 頁面(預設路徑 /family-finance/),並預設由外掛接管網站首頁 /
  4. 直接開啟網站首頁,即進入 Finance 登入或註冊介面;已有帳號可直接登入
  5. 進入 WordPress 後台 家庭財務 → 網站與登入設定,可調整首頁呈現與開放註冊
  6. 首次登入建立家庭、開始記帳;在「家庭成員」產生邀請連結,讓家人共同管理

安全與備份

  • REST API 使用 WordPress 登入、REST nonce、家庭成員 ACL、欄位驗證及預備陳述式
  • 財務資料不會自動傳到此公開 GitHub 儲存庫
  • 建議在導入真實資料前先備份 WordPress 資料庫,並先用測試網站驗證;站點務必啟用 HTTPS
  • 禁止共享站點管理員帳號;成員應各自登入

CSV 匯入

支援一般標準化欄位:日期,範圍,類型,分類,金額,備註,付款方式,帳戶,轉入帳戶,以及目前 Google Sheet 每月工作表常見的 A–M 欄位版型,匯入時須指定西元年份。E–G 每日合計欄位不重複計入,信用卡還款匯入為轉帳。先預覽再確認匯入,避免重覆匯入。

日期格式可為 YYYY-MM-DD 或 M/D,僅有月/日的日期使用所選年份。

技術架構

WordPress 6.2+、PHP 7.4+、MySQL / MariaDB(InnoDB)、原生 JavaScript、CSS、WordPress REST API、自訂資料表。無前端編譯需求。

主要檔案:

  • wumetax-finance.php:外掛入口與前台路由
  • includes/class-wff-storage.php:資料表及預設分類
  • includes/class-wff-api.php:權限、REST API、報表與匯入
  • assets/css/app.css:Neo-brutalism 設計
  • assets/js/app.js:RWD 前台互動
  • templates/app.php:獨立網站入口
  • includes/class-wff-frontend.php:首頁模式、獨立登入和免費註冊
  • includes/class-wff-admin.php:WordPress 管理控制台與設定
  • includes/class-wff-mail.php:統一風格 HTML 邀請信、密碼重設、新用戶設定密碼郵件
  • assets/css/admin.css:後台管理介面

版本

v1.3.1 — iPhone 日期文字固定位置、避免 Safari 輸入自動放大、分類調到備註上方、收據手機轉 WebP 並允許 5MB、記帳成功自動關閉視窗、總覽新增今日記帳。

v1.2.9 — 收據移至網站公開根目錄外的私有資料夾;新資料庫只保留檔案索引,舊 Base64 每批三張安全搬移,後台可檢視進度。

v1.2.4 — 分類可拖曳與按鈕排序,排序永久保存於資料庫並同步記帳下拉選單;新增 Finance SVG 瀏覽器圖示。

v1.2.3 — 付款工具分類、行動支付與扣款來源分開記錄、資料表安全遷移、圖表與 CSV 更新。

v1.2.2 — 修正前台登入表單被 JavaScript 無條件攔截,加入 REST 登入/Cookie 排錯,整合 Finance 忘記密碼、重設頁與 HTML 邀請信及新使用者郵件。

v1.2.1 — 修正新增記帳/編輯記帳表單的左右欄位高度與起始線不一致:標籤固定 22px,輸入/日期/金額/下拉選單固定 52px,移除欄位預設 margin,手機單欄保持相同高度,僅修改表單介面不變動資料庫。

v1.2.0 — 比照寵物管理的獨立網站首頁架構;新增首頁模式(預設開啟)、WP 後台控制台、網站設定、家庭查詢、交易稽核、操作紀錄、前台會員登入及可關閉的免費註冊;原有共用記帳和 CSV 功能保留,無訂閱。

v1.1.0 — 以使用者提供的 Minimalist Monochrome 規範作為預設外觀,參考 pet-management 2.25.0 的獨立前台、側欄與手機導覽方式;修正超大標題、卡片橫向溢出、窄螢幕多欄和文字擁擠;加上金融管理頁面 no-cache 標頭。保留 v1.0.0 全部記帳與共同家庭功能。

v1.0.0 — 初版。正式資料導入前請先在測試環境完成權限、資料匯入及帳單核對。

排版與部署

  • Desktop: 232px 側欄(中等螢幕 210px),財務數字卡自動依可用寬度換欄。
  • 手機(800px 以下): 隱藏常駐側欄,顯示底部五個入口與可關閉的側邊抽屜。
  • 520px 以下: 2 欄統計卡,表格可單獨橫向捲動,不影響頁面整體寬度。
  • 只使用黑、白與輔助灰,不使用彩色面板或陰影,重點以黑底反白、字級和粗線表示。
  • WordPress 若使用 LiteSpeed、Cloudflare 或其他快取,請將 /family-finance/ 和 /wp-json/wff/v1/* 排除快取,並檢查防護與登入 Cookie 正常;任何真實站點都應先在測試環境確認記帳權限、手機排版及 CSV 匯入。
  • pet-management ZIP 僅作為介面結構參考,未複製其付費模組、字型、私人資料或綑綁依賴。

License

GPL-2.0-or-later.