# 食品物流庫存對帳自動化系統（去識別公開版）

為一間食品批發物流業者開發的 Google Sheets + Apps Script 庫存對帳系統，目前實際導入日常營運使用中。

本資料夾的 `inventory.gs` 是**去識別後的公開展示版**：已移除所有客戶名稱、店家名稱、商品名稱與內部商品編號，僅保留程式邏輯與架構供作品集展示。實際營運版本依保密原則不公開。

## 系統做什麼

- **每日自動扣帳**：讀取當日出貨明細，依到期日 FIFO 分批扣除庫存。
- **多種異動處理**：一般出貨、退貨入庫、換貨抵銷、司機回庫、補貨，全部自動分類。
- **跨日重算 / 一鍵補正**：手動改過某天後，可從指定日往後重新串聯計算。
- **稽核模式**：自動比對「庫存數字 ↔ 儲存格備註 ↔ 出貨明細」三者，找出對不上的列並標色、附上可能原因。
- **每週報表 + 提醒**：自動產生對帳表、快過期（30 天內）與低庫存提醒。

## 技術重點

- 以正則表達式解析人工手寫的中文備註（「店家 數量 單位」「+N(退回)」「+N-N(換貨)」），自動判斷加扣方向。
- 用不可見字元（U+200B / U+200C）標記區隔「系統自動寫入」與「人工手寫」備註，重算時不會覆蓋使用者的手寫內容。
- 庫存碼與出貨碼長度不一致時自動模糊比對。
- 新增日期欄一律插入空白欄並清除備註，避免舊資料被帶到新欄。

> 純 Google Apps Script，無外部依賴；透過試算表自訂選單操作。
