一間公司會用到的功能
以下為各項功能之實際內容說明。所寫的都是系統確實做得到的事,連「刻意不做的部分」與「尚未完成的部分」也一併列出,請詳細閱讀。
【請注意】下列幾項尚未以真實帳號實測,文中將個別標明:綠界金流與電子發票依公開文件實作但未經沙盒驗證、寄信服務未經真實服務商驗證、折讓尚未對外傳送、稽核鏈之外部見證端點尚未接上。
報價與訂單管理作業
報價單與訂單各自有一套狀態機。哪些狀態能轉到哪些狀態是寫死的規則,非法的轉移會被後端擋下。例如已出貨的訂單不能作廢,因為庫存已經動了,那要用沖銷,單據不會消失。
- 客戶線上確認機制
- 產生免登入連結寄給客戶,客戶自己按接受或婉拒,還能附上一句話。決定帶著時間與來源 IP 進入稽核鏈。
- 有限授權連結
- 有期限、只對應那一張報價單,而且只能回覆一次。就算連結外流,能做的也只有看那一張單。
- 到期自動處理作業
- 過了有效期限的報價自動標記為過期;快到期的會發通知提醒您跟進,每張只提醒一次。
- 一鍵轉訂單服務
- 接受後轉成訂單,金額與明細整組複製過去。之後報價單再怎麼改都不影響已成立的訂單。
- 舊單複製功能
- 每月開一樣的單不必從頭建。複製的是當時的快照。商品後來漲價或改名,複製出來的仍是原本的價格與名稱。
- 列印與寄送功能
- 報價單可直接列印或存成 PDF,版面為單據格式而非網頁截圖。
現金流管理作業
未收餘額一律由「訂單金額 − 已收款」即時算出,不存快取欄位。快取會與來源不一致,而「帳上顯示已收款、實際沒收到」比慢一點嚴重得多。
- 營運總覽儀表板
- 登入後看到的第一個畫面:本月開立發票金額、未收款總額、逾期未收、待跟進報價、負庫存商品、下次申報倒數。
- 應收帳款帳齡分析
- 按客戶彙總並分成 1–30、31–60、61–90、90+ 天四桶,一眼看出該先催誰。可展開看每張單。
- 客戶對帳單產製
- 指定期間產生對帳單,含期初餘額、期間內的單據與收款、期末餘額。可直接列印寄給客戶。
- 收付款登記作業
- 現金與匯款可人工登記,綠界的線上收款會在確認金額無誤後自動寫入。
進銷存管理作業
庫存量不存在任何欄位裡,而是由異動流水帳即時加總得出。這樣不可能出現「快取值與流水帳對不上、沒人知道哪個對」的情況。
- 以流水帳為準之原則
- 進貨、出貨、調整都是一筆異動紀錄,append-only,寫錯用反向沖銷,原本的紀錄不動。
- 不阻擋出貨之設計
- 庫存不足時允許負庫存並在畫面標紅。現實中貨可能已經出去了,擋住只會讓帳與實際脫節。
- 進項憑證登錄作業
- 登打進貨發票,可順帶入庫,並自動計入 401 的進項稅額。
金流與電子發票作業
串接綠界(ECPay)的線上收款與電子發票。收款回拋不只驗簽章,還會二次核對金額與本地訂單一致才更新狀態。只驗簽章等於信任對方傳來的數字。(串接依綠界公開文件實作,尚未在沙盒環境以真實交易驗證。)
- 線上收款服務
- 產生付款連結,客戶刷卡或轉帳後自動更新訂單與收款紀錄。
- 電子發票開立作業
- 從訂單開立發票,支援載具與愛心碼。發票一律以台幣開立(法規要求),外幣訂單用開單當時的匯率換算。
- 作廢與折讓作業
- 開錯就作廢重開;部分退款或售後折價則開銷貨折讓,折讓會在開立當期扣減銷項,不必回頭改上一期。(折讓目前只做本地紀錄與稅務計算,尚未對外傳送給財政部。)
稅務申報作業
不另建報表資料表。銷項來自已開立且未作廢的發票,進項來自進項憑證,每次查詢都重新算,所以報表不可能與單據對不起來。
- 稅別分開計算
- 應稅、零稅率、免稅依單據明細的稅別快照分別彙總,各有自己的小計。
- 折讓自動扣減
- 折讓依原發票的稅別比例分攤扣減,捨不盡的那一分錢有明確歸屬,各稅別加總永遠等於總額。
- CSV 檔案匯出
- 匯出 401 申報用的 CSV。匯出內容會中和試算表的公式注入,不會把危險字串直接送進 Excel。
- 申報期限倒數提醒
- 營運總覽顯示下一期的截止日與剩餘天數,剩一週內會標紅。
會計師協作機制
報稅季最常見的做法是把帳號密碼交給會計師。那等於把所有權限連同稽核紀錄的可信度一起交出去,之後每一筆操作都分不清是誰做的。
- 邀請制加入機制
- 寄出邀請連結,對方用自己的帳號加入。連結綁定 email、有期限、單次使用、可撤銷。
- 三種角色權限說明
- 擁有者可管理成員;會計師可讀寫單據與報表但不能動成員;唯讀只能看。
- 成員移除立即生效
- 移除成員後對方立即失去存取權,不必等 token 過期。
- 操作人員明確區分
- 因為每個人用自己的帳號,操作紀錄才能真的回答「誰做的」。
資訊安全與稽核機制
append-only 如果只是一句承諾,那它就只是一句承諾。拿得到資料庫寫入權的人可以安靜地改掉一列,事後沒有任何人察覺得到,除非紀錄本身有辦法自證。
- 雜湊鏈稽核機制
- 每筆稽核紀錄都把前一筆的雜湊算進自己的雜湊。改任何一筆,其後每一筆都會對不上;刪任何一筆,序號會出現缺口。
- 外部見證機制(尚未啟用)
- 光有鏈擋不住有寫入權的人整條重算,所以鏈頭要定期送到平台控制不到的第三方留存。機制已實作完成,但測試站目前還沒接上外部端點,現階段只有本機檢查點。
- 驗證結果自行查核
- 操作紀錄頁顯示驗證結果與最近一次外部見證的時間,並明說它驗得到什麼、驗不到什麼。
- 管理員調閱通知機制
- 平台管理員不得存取業務資料;真要調閱必須填寫事由,取用本身會寫成一筆紀錄,而且會通知您。
- 公司資料完全隔離
- 業務資料的查詢由資料存取層強制加上公司識別;少數跨表彙總(報表與稅務)依規定自行加上條件,並有專門的跨公司隔離測試覆蓋。
- 帳號安全防護措施
- 密碼用 argon2id 雜湊;登入失敗會鎖定;平台管理員支援 TOTP 兩階段驗證,密鑰加密存放、備援碼只存雜湊。
其他便民服務功能
- 統一編號自動帶入
- 建立客戶時輸入統一編號,自動帶入公司抬頭與地址,減少發票開錯抬頭的機會。查不到也不會擋住您建檔。
- 多幣別處理
- 外幣單據存下開單當時的匯率快照,日後匯率變動不影響已開立的單據。報表與申報一律換算台幣後彙總。
- 郵件服務設定引導
- 引導您把自有網域接上第三方郵件服務(Cloudflare、Resend、Postmark)並記錄轉寄規則。刻意不自建郵件伺服器。那需要處理 IP 信譽與退信申訴,對一人公司完全不成比例。實際的收發仍由該服務商執行。
- 站內通知服務
- 報價快到期、管理員取用資料等需要您知道的事,都會留在系統裡,有時戳也有已讀狀態。