Phase 0 — 規格與對齊(本文件,進行中)
- 盤點現況與命名
- 銷項憑證欄位清單(MIG 4.1 表頭/表身;見欄位對照)
- 確認第一批交易類型:僅 Invoice + Credit Memo(§6)
- 開立銷項發票與「PCE 銷項資料」:一張開立=一筆主檔+N 筆商品子明細(§9.2 A)
- 格式代碼 31–36 種子已加入安裝腳本(31/32/35 各兩筆;37–38 暫不種子);發票本管理與開立取配號已交付
產出:本藍圖 +(建議)欄位對照表 Excel/Markdown 附錄。
用途:查「目前做到哪、還缺什麼」,不必翻 commit 或問人。
維護:凡 銷項相關 功能/SDF/行為文件有交付意義的變更,CP/CPD 前更新本頁「摘要一句」+「變更紀錄」至少一列(可附 commit hash)。
對象:產品/顧問/開發
Phase 1 已可上線使用(主檔、開立、發票本、取配號、作廢 UI/核心、發票本 CSV);模組通用系統設定+營業人主檔 已 gate 銷項;Invoice/Credit Memo 表身欄位與檢視頁開立 已交付(不做 AP 式 1:N 子列表);Phase 4–6 與 Phase 7 自動/批次開立(設計規劃)皆規劃中、尚未開始。
依本頁 Markdown 表格自動計算;更新 PCE_GUI_MODULE_ar-status.md 後執行 npm run build:status-html 同步。
自 PCE_GUI_MODULE_ar-blueprint.md 自動嵌入;編輯藍圖後執行 npm run build:status-html 同步。
請點選上方「階段藍圖(摘要)」中的 Phase 以顯示細項。
產出:本藍圖 +(建議)欄位對照表 Excel/Markdown 附錄。
目標:使用者可在 PCE GUI → 銷項 維護銷項資料,並用「開立銷項發票」畫面建立一筆銷項。
| 工作項 | 說明 |
|---|---|
| Custom Record | customrecord_pce_ar_invoice+…_line(§9.2 A);欄位見 MIG 4.1 對照 |
| 發票本 | customrecord_pce_ar_invoice_book+發票本管理(模組設定);開立時依 §9.5 取配號 |
| 導覽 | custcentercategory_pce_ar:「PCE 銷項資料」「開立銷項發票」;發票本管理在模組設定 |
| 開立銷項發票 Suitelet | prototype 作版面起點;查詢 Invoice/Credit Memo 後以「單張/合併開立」建立主檔;清單僅顯示 issue_invoice=T、發票/折讓單狀態空白、未鎖定、發票號碼空白;賣方/買方規則見 §9.3/§9.4 |
| Client/UE | 檢核、連動、feature flag;賣方依子公司 mapping 不可覆寫 |
| Lookup/字軌 | 格式代碼 31–36 種子已入安裝腳本(31/32/35 各兩筆);開立取配號已整合(PCE_LIB_AR_BookAllocate.js) |
| 文件 | SuiteApp 使用說明 §5.5/§5.6、本藍圖 §9.5 |
| SuiteApp | 與進項同一 app:com.netsuite.pceguitw |
本階段不做:交易子列表、CSV、外部 API。
Prototype:僅作 UX/版面參考;正式欄位以「完整對齊加值中心」為準(§9.1)。
已定案不做:在 Invoice/Credit Memo 上複製進項 「PCE 進項資料」1:N 子列表(一筆交易掛多筆 customrecord_pce_ar_invoice)。銷項維持 PCE 銷項主檔 CR +開立 Suitelet;交易頁僅 表身 PCE 欄位、自訂商品明細、檢視頁開立(Phase 1 已部分交付,見使用說明 §3.5)。
Phase 2 規劃主項:
| 範圍 | NetSuite 類型 | 備註 |
|---|---|---|
| Phase 2(本階段) | Customer Deposit | 轉開發票(見下表) |
| 現行/維護 | Invoice、Credit Memo | 表身 CS/UE、開立按鈕;不做 AP 式 1:N 子列表 |
| 暫不做 | Cash Sale | 門市/現金流程另議 |
| 暫不做 | Cash Refund | 同上 |
Customer Deposit → 銷項發票(規劃)
Customer Deposit 在 NS 無稅碼、無商品明細;開立電子發票時需特別處理:
| 面向 | 方向 |
|---|---|
| 金額基礎 | 以原 Customer Deposit 總額為含稅金額,依適用稅率(由客戶設定之發票明細/課稅別推定)反推未稅金額與稅額;明細加總須與含稅總額一致(尾差規則待訂) |
| 發票明細 | 提供客戶可自行設定之 Customer Deposit 預設發票商品明細(品名、數量、單價邏輯、課稅別等;儲存位置待訂:模組設定 CR 或子公司/客戶層級) |
| 開立入口 | 自 Customer Deposit 檢視/開立 Suitelet 選定訂金 → 帶入或覆寫明細 → 建立 PCE 銷項主檔並取配號 |
| 文件/測試 | 使用說明 §5、含稅反推與多列明細之單元測試(待建) |
Invoice/Credit Memo(現行,非 Phase 2 新建):custtab_pce_trx_ar_einvoice 為表身與自訂商品明細;開立仍走 開立銷項發票 Suitelet,來源交易帶入商品列(§9.2 A 寫入 PCE 主檔+line CR)。
| 工作項 | 說明 |
|---|---|
| 發票本/期別 | 進階控管(多本、鎖定、盤點) |
| 加值中心 | 上傳流程銜接(若專案範圍包含) |
| 權限與回歸 | 權限收斂、冒煙測試 Suitelet、Browser/API 回歸清單 |
| 欄位精簡 | 依實務刪減「完整對齊」後確認不需要的欄位(呼應 §9.1) |
目標:提供客戶每一申報期別(營業稅雙月期)申報前所需的對帳報表——自 NetSuite/PCE 銷項資料彙整,供會計與顧問勾稽帳載、發票本、加值中心(若已上傳)是否一致。
規劃範圍(待細化規格):
| 面向 | 方向 |
|---|---|
| 期別/主體 | 依統一編號、申報期別(ROC 雙月)、子公司篩選 |
| 資料來源 | PCE 銷項主檔/明細、關聯 Invoice/Credit Memo、發票本狀態、上傳狀態欄(Phase 3 若已接加值中心) |
| 報表類型 | 開立/作廢/折讓明細、格式與稅額小計、與 NS 交易金額差異、缺號/重複號警示(規則待訂) |
| 交付 | Suitelet 查詢+匯出(CSV 為 MVP;PDF/Excel 視需求);可選 Saved Search/Workbook 範本 |
| 文件 | 對帳邏輯說明、顧問操作步驟(併入使用說明 §5 或獨立對帳手冊) |
優先序:高於 Phase 6(外部憑證寫入);申報週期性剛性需求,宜在加值中心銜接(Phase 3)就緒或並行規劃。
目標:提供使用者下載已開立銷項憑證與申報/加值中心作業所需之 PDF(必要時再擴充 ZIP 批次下載)。
規劃範圍(待細化規格):
| 文件類型 | 方向 |
|---|---|
| B2B 發票 PDF | 已開立之 B2B 電子發票(如格式 35 等);內容對齊 MIG/加值中心版面(範本待訂) |
| 折讓單 PDF | 已開立折讓證明(格式 33/34) |
| 零稅率清單 PDF | 依期別/統編彙整零稅率銷項之清單 PDF(申報或內部覆核用) |
| 其他 | 依加值中心、申報或客戶合約所需之附表、證明或匯出(類型清單待與顧問確認後增列) |
| 面向 | 方向 |
|---|---|
| 入口 | Suitelet 查詢+下載;可選 PCE 銷項主檔/來源交易頁連結 |
| 資料來源 | customrecord_pce_ar_invoice+明細、關聯 NS 交易、發票號碼/狀態 |
| 文件 | 使用說明 §5、PDF 欄位與範本對照(待建) |
目標:讓已在 NetSuite 以外開立的銷項憑證(含對應交易資料)寫入 NS——批次匯入與外部系統介接,技術面比照 AP Write。
優先序:低於 Phase 1–5。主路徑是 NS 內開立/Suitelet;Phase 6 給「外部先開票、後補登 NS」或異質系統匯入,非多數客戶上線必備。
與 Phase 1 發票本 CSV 區隔:發票本 CSV 是字軌/配號主檔維護(Phase 1 已交付);Phase 6 是銷項憑證/Write API,不是發票本匯入。
| 元件 | 建議 |
|---|---|
| Suitelet | customscript_pce_sl_ar_csv_import(範本/欄位說明/validateOnly) |
| RESTlet | customscript_pce_rl_ar_write |
| Actions | arInvoiceOnly/transactionOnly/transactionWithArInvoices(命名對齊 AP) |
| Log | customrecord_pce_ar_write_log |
| Auth | 沿用 OAuth 2.0 Bearer |
| 文件/Postman | PCE_GUI_MODULE_ar-write-api-*.md + collection |
目標:在 Phase 1 互動式開立穩定後,設計自動化流程,支援自動/批次開立銷項發票與銷項折讓(折讓證明),降低大量重複人工操作。
規劃範圍(待細化規格):
| 面向 | 方向 |
|---|---|
| 觸發方式 | Saved Search+排程 Map/Reduce、Workflow Action、條件式 User Event,或 Suitelet 批次選取(待選型) |
| 批次開立發票 | 來源為已勾選開立、表身就緒之 Invoice 等;重用既有開立/取配號 lib;需 idempotency、失敗重試與部分成功策略 |
| 批次開立折讓 | 來源 Credit Memo/可折餘額規則與現行 Suitelet 一致;非當期無主檔等邊界與 Phase 1 相同 |
| 治理與可觀測 | 治理額度分批、批次/逐筆 log、失敗清單與通知(email 或 Center 待辦,待訂) |
| 與 Phase 6 區隔 | Phase 6=外部已開立憑證寫入 NS;Phase 7=NS 內待開立交易自動/批次開立 |
| 文件 | 自動化觸發條件、顧問設定步驟、與手動 Suitelet 差異說明(待建) |
優先序:低於 Phase 2–5;本階段以設計規劃為主,實作待 Phase 2 與取配號/折讓規則收斂後啟動。
目標:依 PCE 營業人 合併該營業人之 進項(PCE 進項資料等)與 銷項(PCE 銷項主檔/明細),產出申報營業稅所需之 TXT 與 T02 檔案。
| 面向 | 方向 |
|---|---|
| 期別/主體 | 依統一編號、申報期別(ROC 雙月)、營業人 |
| 進項來源 | customrecord_pce_ap_invoice、交易子列表關聯進項等 |
| 銷項來源 | customrecord_pce_ar_invoice+明細 |
| 產出 | 申報 TXT、T02(對齊 Documentation/ 報稅 TXT Mapping 與組字範例) |
| 空白字軌/空白發票 | 依發票本(格式、字軌、期別)列印空白發票;未使用字軌/號碼彙整與申報檔銜接 |
| 入口 | Suitelet 或 Center(規劃中) |
| 與 Phase 4 區隔 | Phase 4 為申報前對帳報表;本項為正式申報檔產生 |
| 與 Phase 5 區隔 | Phase 5 為已開立憑證 PDF;本項為媒體申報檔 |
優先序:與 Phase 3 加值中心、Phase 4 對帳可並行規劃;SuiteTax 實作排在申報檔能力之後(見 SuiteTax 規劃)。
| 階段 | 藍圖定義 | 狀態 | 備註 |
|---|---|---|---|
| Phase 0 | 規格、MIG 對照、命名 | 完成 | 見 藍圖 |
| Phase 1 | 主檔、開立 Suitelet、發票本、取配號 MVP | 已交付 | 作廢、折讓核心亦在程式內;持續小修 |
| Phase 2 | Customer Deposit 轉開發票 | 進行中 | Inv/CM 維持表身+Suitelet;不做 AP 式 1:N 子列表 |
| Phase 3 | 進階控管、加值中心上傳銜接、權限收斂 | 未開始 | |
| Phase 4 | 每期申報對帳報表(期別/統編彙整、勾稽匯出) | 未開始 | 申報前對帳;規格見 藍圖 §5 |
| Phase 5 | 憑證 PDF 下載(B2B 發票、折讓、零稅率清單等) | 未開始 | 已開立憑證;其他所需 PDF 依需求增列 |
| Phase 6 | 銷項 CSV、AR Write RESTlet、write log | 未開始 | 外部已開立憑證寫入 NS;優先序低。發票本 CSV 屬 Phase 1,不算 Phase 6 |
| Phase 7 | 開立自動化(設計規劃):自動/批次開立銷項發票、銷項折讓 | 未開始 | 與 Phase 6(外部寫入)區隔;見 藍圖 §5 |
詳細範圍仍以 藍圖 §5 為準;本頁反映 程式與文件現況,若與藍圖頂部日期舊述不一致,以本頁為準。營業稅申報(TXT/T02) 見 獨立進度頁。
狀態 決議不做:產品/顧問已正式決議不在本 SuiteApp 範圍內,不是待開發項目。
| 項目 | 狀態 | 說明/入口 |
|---|---|---|
| PCE 銷項資料(主檔/明細 CR) | 完成 | Center → 銷項 |
| PCE GUI Portal | 完成 | Center → 功能入口 → PCE GUI Portal;集中連結各銷項/設定工具 |
| 開立銷項發票/折讓 Suitelet | 完成 | 查詢、合併、自訂明細、POST 開立 |
| 開立取配號(31–36、折讓 33/34) | 完成 | 取號邏輯 |
| 發票本 CR、配號、查詢/手動建立 | 完成 | 模組設定/發票本相關 Suitelet |
| 發票本 CSV 匯入(MR+匯入紀錄) | 完成 | customscript_pce_sl_ar_book_csv_import |
| 作廢 Suitelet+lib | 完成 | 帳上流程需自行 smoke |
| 折讓閘道/可折餘額 | 完成 | lib+單元測試;UI 隨開立/折讓流程 |
| 模組通用系統設定 → 銷項開關 | 完成 | Account ID mapping;PCE_LIB_ModuleSettings |
| 無營業人主檔 → 銷項視為關 | 完成 | subsidiary 無 business info 則 effective AR off |
| Invoice/CM 表身銷項欄位 CS/UE | 完成 | 開立勾選、feature gate、銷項未開時 disable |
| 交易頁「開立銷項發票/折讓」按鈕 | 完成 | 僅檢視(VIEW);編輯頁不顯示(避免未存明細) |
| 開立/作廢 Suitelet POST feature assert | 完成 | 模組+營業人未就緒時拒絕 |
| AP 式交易 1:N 銷項子列表 | 決議不做 | 已決;銷項用主檔 CR+開立 Suitelet |
| Customer Deposit 轉開銷項發票 | 未做 | Phase 2;訂金總額視為含稅,反推未稅/稅額 |
| Customer Deposit 發票商品明細設定 | 未做 | Phase 2;客戶可設定預設明細範本(規格見藍圖 §5) |
| 營業稅申報檔(TXT+T02,進項+銷項合併) | 未做 | 營業稅申報進度 |
| 每期申報對帳報表(Suitelet/匯出) | 未做 | Phase 4;申報前對帳,規劃中 |
| B2B 已開立發票 PDF 下載 | 未做 | Phase 5 |
| 已開立折讓單 PDF 下載 | 未做 | Phase 5 |
| 零稅率清單 PDF 下載 | 未做 | Phase 5 |
| 其他申報/加值中心所需 PDF | 未做 | Phase 5;類型待確認 |
| 銷項憑證 CSV 匯入 | 未做 | Phase 6;外部已開立發票寫入 NS |
| AR Write RESTlet/write log | 未做 | Phase 6;同上,優先序低 |
| 自動/批次開立銷項發票 | 未做 | Phase 7 設計規劃;排程/MR 或 Workflow 等待選型 |
| 自動/批次開立銷項折讓 | 未做 | Phase 7 設計規劃;與現行折讓規則對齊 |
| B1-7 歷史交易批次清勾 issue flag | 未做 | 僅文件標「未來 MR」 |
| NetSuite SuiteTax 支援(課稅別/開立) | 未做 | SuiteTax 規劃;營業稅申報檔完成後排程;導入時定案 Legacy/SuiteTax |
使用者操作細節:SuiteApp 使用說明 §5(帳上副本:PCE_LIB_UserGuideHtml.js,改手冊時需同步)。
npm run test:ar-phase1 # 核心:開立、取號、發票本 CSV、module-settings、交易 UE 等
npm run test:ar-allowance # 折讓
npm run test:ar-void # 作廢
npm run test:ar-custom-lines # 自訂明細案數與檔案對照:Phase 1 測試清單。
| 文件 | 何時看 |
|---|---|
本頁 PCE_GUI_MODULE_ar-status.md | 進度、做/沒做、最近變更 |
| HTML 版 | 瀏覽器檢視(由 npm run build:status-html 產生) |
| 藍圖 | 階段策略、命名、決策 §9 |
| 使用說明 §5 | 會計/顧問操作步驟 |
| 取號邏輯 | 開立取號現行規則 |
| MIG 欄位對照 | 主檔/表身欄位 |
| Phase 1 測試清單 | 單元測試範圍 |
| 進項進度 | 進項(AP)一頁式 status |
| SuiteTax 規劃 | NetSuite SuiteTax 支援(規劃中,非 AR 階段內交付) |
| 日期 | 摘要 | Commit/備註 |
|---|---|---|
| 2026-09-17 | 新增 Phase 7:自動/批次開立銷項發票與折讓(設計規劃) | (pending) |
| 2026-09-17 | Phase 3 移除空白發票備註(僅列營業稅申報頁) | (pending) |
| 2026-09-17 | 空白字軌/空白發票下載改列營業稅申報進度;Phase 3 移除該項 | fc33a02 |
| 2026-09-17 | 營業稅申報改獨立進度頁+頂部導覽分頁(進銷項合併 TXT/T02) | 49442f0 |
| 2026-09-17 | 全 SuiteApp 用語稽核:落地→已交付、煙測/煙霧→冒煙、開立程序→開立流程、透過 NS 空格 | (pending) |
| 2026-09-17 | 用語:SuiteTax「適配」改「支援」(進度頁/索引/規劃文件) | 0d7d545 |
| 2026-09-17 | 功能清單「決議不做」列:徽章、整列樣式、圖表圖例(不計完成度) | e828a92 |
| 2026-09-17 | AR 進度頁用語:分期改為階段(表格、stepper、圖表) | 92b43bd |
| 2026-09-17 | 進度頁/藍圖用語改台灣繁體(掛、擴充、比照 AP Write 等) | f8878ad |
| 2026-09-17 | 新增 Phase 5 憑證 PDF 下載;原 CSV/Write API 改 Phase 6 | (pending) |
| 2026-09-17 | 定案不做 AP 式 Invoice/CM 1:N 銷項子列表;Phase 2 聚焦 Customer Deposit 轉開 | a1f3477 |
| 2026-09-17 | Phase 2 納入 Customer Deposit 轉開(含稅反推、可設定發票明細) | (pending) |
| 2026-09-17 | 新增 Phase 4 每期申報對帳報表;原 CSV/Write API 改 Phase 5 | (pending) |
| 2026-09-17 | Phase 5 敘述:外部已開立發票寫入 NS、優先序低於 Phase 1–4 | (pending) |
| 2026-09-17 | 藍圖/status:Phase 3 與 Phase 4 對調(強化合規前移、CSV/API 後移) | (pending) |
| 2026-09-17 | 用語統一為加值中心(Phase 3、文件/UI 標籤;取代關網、大平台) | dbfd706 |
| 2026-09-17 | 進度頁納入 SuiteTax 規劃(功能列+文件連結) | (pending) |
| 2026-09-17 | Center 分類「工作台」改為「功能入口」 | fe6dac6 |
| 2026-09-17 | PCE GUI Portal 更名並精簡使用者可見文案(Center/手冊/入口頁) | fa1b3eb |
| 2026-09-17 | 工作台左側選單+panel 導向修正;銷項工具頁可返回 Portal | b9d321f |
| 2026-09-17 | PCE 全功能工作台(Center「工作台→全功能入口」;Portlet 捷徑) | 0d4d8d9 |
| 2026-09-17 | 開立/作廢/發票本管理 Bootstrap 頁配色對齊操作手冊(共用 PCE_LIB_PceTheme) | 098e6c0 |
| 2026-09-17 | 操作手冊 Suitelet/Portlet 配色與進度頁一致(PwC 橙+白底頂列) | e90bbdc |
| 2026-09-17 | 進度頁 Logo 改去背 mark、頂部白底+橙底線(對齊簡報) | 4945c94 |
| 2026-09-17 | 進度 HTML 頂部列加入簡報 PwC logo | eae556c |
| 2026-09-17 | 進度頁 PwC 簡報配色;維護用語改 CP/CPD | bf4ee74 |
| 2026-09-17 | HTML 進度頁嵌入藍圖 §5 Phase 細項;分期 stepper 顯示定義/備註 | 7820bb8 |
| 2026-09-17 | 新增本進度頁;整理 Phase 1 交付與 Phase 2 部分、Phase 3 未開始 | (本 commit) |
| 2026-09-17 | 帳內操作手冊 HTML 與 markdown 規則同步(模組設定、檢視頁開立、營業人 gate) | 1393d24 |
| 2026-09-17 | 開立按鈕僅 VIEW;UE 單元測試 | 4cd305d |
| 2026-09-17 | 無 PCE 營業人主檔則 effective 銷項關閉 | 36bd6f3 |
| 2026-09-17 | AR feature gate:UI、Suitelet POST、CS/UE 連動 | 8ac2311 |
PCE_LIB_UserGuideHtml.js?package.json scripts?npm run build:status-html 更新 docs/html/PCE_GUI_MODULE_ar-status.html 與 docs/html/index.html?由 npm run build:status-html 自 Markdown 產生;來源:docs/PCE_GUI_MODULE_ar-status.md。修改進度請先改 Markdown 再重建 HTML。