發薪日的手機裡有一則入帳通知,工資條上另有一排更小的數字。王顏(化名)入職六年,這兩組數字每個月準時出現,位置固定,金額穩定。代扣欄裡那筆「社會保險費」扣得規規矩矩,她從未細究過是按什麼基數扣的。直到被裁員前與同事核對,她才知道這筆扣款背後另有一個沒印出來的數字:繳費基數。她的月薪是兩萬,公司替她申報的基數是當地最低標準,四千。一算帳,退休後每月養老金短少約兩千元;一路追繳下來,總額二十萬。
這件事在熱搜上被當成職場權益的故事講,但它首先是一個版面的故事。一個決定未來幾十年待遇的參數,在當事人每個月都拿得到的文件上,整整六年沒有出現過。
代扣欄只給結果,不給算式
工資條是一種收據式的介面。無論紙本或電子薪資明細,版式大同小異:應發、代扣、實發三段,金額靠右對齊,代扣項底下壓著「社會保險費」「住房公積金」「個人所得稅」幾個欄位名。它給出結果,收起算式。一筆幾百塊的社保扣款,等於基數乘以費率;費率是公開的常數,基數才是唯一的變數,而這個變數不在紙面上。
這正是此類介面最安靜的地方。按四千申報,扣款金額確實等於四千乘以費率,數字本身沒有錯,每個月都對得上帳。金額不會說謊,它只是不說話。要看出問題,得把結果反推回參數,而反推這個動作,版面上沒有任何欄位或提示邀請你做。
「社會保險費」五個字還做了另一層壓縮。養老、醫療、失業、工傷、生育,幾個險種的個人負擔被合併成一個數字。想逐項核對的人,得先拆開這個打包欄位,找到各險費率,再回頭反推基數。三道手續,沒有任何一道被介面省下來。
五倍落差,如何縮成一個不起眼的月差額
兩萬對四千,是五倍的比例。落進養老金的計算,基礎養老金與個人帳戶都與繳費基數掛鉤,這個比例被換算成退休後每月約兩千元的差額;六年累積,成了二十萬的追回總額。但同樣的落差,落進每個月的工資條,只是代扣金額差了幾百塊。幾百塊掛在實發數字旁邊,視覺上是安靜的。
數字設計裡有一個常見現象:比例不變,尺度一換,嚴重性跟著換。月度版面讓差額看起來像零頭,年度與生涯的尺度才讓它顯出形狀。公司按最低基數申報所省下的成本,與員工未來少領的養老金,共用同一組乘法,只是被排在不同時間尺度的頁面上。前一頁每月翻一次,後一頁要到退休那天才翻開。
基數的申報在多數城市一年核定一次,這個節奏把問題再放大一層:錯誤一旦寫入,就安靜跑完一整年。六年下來,等於連續六次寫入同一個錯的參數,沒有任何一次被版面攔下。
定格:預設值一旦寫入,公式會忠實讀取
熱搜詞條裡有一個用得很準的詞:定格。不追繳,未來的養老金就按最低基數定格。這個借自攝影的詞,描述的正是參數寫回的機制。快門按下那一刻的設定值跟著底片走,基數申報那一刻的數字跟著個人社保紀錄走,退休金的計算公式日後忠實讀取,不加評論。
最低基數在制度設計裡原是一條保障的底線,讓收入偏低或浮動的人有個繳費下限。在這家公司的人事操作裡,底線被挪去充當預設值,一用六年。保障的下限成了成本控制最省事的選項,而預設值的位置,向來決定多數人停在哪裡。這與Snapchat 找好友功能在英國被重新設定的預設值屬於同一門學問。差別在於,社羣軟體的預設值改一次就全面生效,基數的預設值卻寫進一個又一個年度,直到有人去翻。
兩套排版,六年互不打擾
要核對基數,得離開工資條,另走一條路:地方社保的查詢服務,登入,翻到繳費明細,再找到繳費基數那一欄。這條路徑平日沒有人走,因為日常介面上沒有任何異常訊號。薪資按時入帳,扣款穩定,體驗流暢,錯誤是靜默的。
這有點像徠卡機背那套要按鍵密碼才叫得出的服務選單:使用者看到的日常版面與後臺紀錄是兩套排版,各自成立,互不打擾。工資條負責每月的體感,繳費紀錄負責真正的帳。六年間兩套版面並行運作,直到裁員這個外部事件把當事人推進後臺。
裁員在這個故事裡是一個觸發器。它中斷了每月重複的版面,強迫人結算,結算的動作才把基數從後臺調出來。同事的一句話則提供了六年來第一個對照組:別人的基數對得上月薪,她的對不上。資訊落差往往要到出現參照點的那一刻,才被察覺為落差。相似的故事在臺灣以高薪低報的名目存在,勞保投保薪資被壓在較低的級距,退休給付同樣被定格在偏低的基數上,劇情各異,版面邏輯相同。
收束:把參數印在結果旁邊
追回的二十萬,走的是補繳與爭議處理的程序。結果說明基數終究改得動,只是從發現到申訴的成本,全數墊在勞工這一側。若把制度看成一種大型介面,這件事給出的建議非常具體:金額不該是唯一的輸出欄位。在代扣金額旁邊印上當期申報基數,在社保查詢的首頁放上基數與月薪的對照,各是一行的成本,卻可能把發現錯誤的時間從六年縮到一個月。
好的排版把參數放在結果旁邊。一張只印輸出、不印算式的收據,設計上再乾淨,也只是把安靜維持得更久。