Ctrl K

PCE TW GUI MODULE — 操作手冊

對象:NetSuite 管理員、會計/財務使用者、實作顧問
目的:帳上已交付功能的欄位、選單與規則對照(第一次設定、日常步驟、CSV 範本下載)
從無到有的操作步驟:操作手冊(會計照這份做;本文件保留欄位與腳本對照)
HTML:HTML 版
帳上摘要:PCE GUI Portal → 說明 → 操作手冊(含範本直接下載)
English:User guide
相關 API 文件:AP Write 介接手冊 · 技術說明

1. 產品概覽

PCE TW GUI MODULE(Publisher:com.netsuite,Project ID:pceguitw)是一套以 SuiteCloud SDF 建置的 SuiteApp,用來支援台灣營業稅/進項憑證在 NetSuite 的登錄、檢核與介接。

目前已交付能力:

模組做什麼
營業人基本資料申報用營業人主檔(統編、地址、子公司、進項/銷項功能開關)
課稅別 NS 稅碼對應把課稅別 1/2/3 對到 NetSuite(NS) Tax Code(銷項開立前必設)
進項憑證登錄「PCE 進項資料」可掛 Vendor Bill(應付帳款發票)/Expense Report(費用報銷)/Vendor Credit(廠商折讓)/Vendor Prepayment(廠商預付),或獨立建立
進項 CSV上傳/貼上 CSV,單次最多 100 列;可先 只驗證不寫入
進項 APIIT/廠商介接 AP Write(§5.4)
發票本管理查詢/調整配號、手動建立、CSV 匯入(31/32/35)
開立銷項發票/折讓單單張/合併開立、開立折讓單、開立淨額發票;頁首按鈕或查詢頁
背景自動開立多筆 Invoice 排入佇列、35-07 加值中心上傳;提交與進度同一頁分頁(§5.8)
作廢銷項發票/折讓單Suitelet 查詢已開立主檔;作廢或作廢換開(§5.7)
加值中心上傳錯誤清單上傳失敗主檔;勾選改回待上傳並重新 enqueue(§5.9)
營業稅申報檔依營業人與雙月期別下載進銷項 TXT、零稅率 T02(§5.10)
自訂商品明細Invoice(銷項發票)/Credit Memo(貸項通知單,CM)「PCE 銷項」分頁改寫開立用商品列;開立時相同品項+單價+課稅別+品名合併為一列(品名不同不合併)
導覽選單頂部 PCE GUI(Classic Center/BASIC)

帳上操作手冊與範本下載:PCE GUI Portal → 說明 → 操作手冊。規格與分期見 銷項藍圖。

這本手冊怎麼用

  1. 新帳號先做完 §4 第一次設定(營業人 → 課稅別 → 統編 → 發票本)。
  2. CSV 匯入前先到 §1.1 範本下載 取檔,Excel 編輯後另存 CSV UTF-8。
  3. 日常進項見 §5.1~5.3;日常銷項見 §5.5~5.9。
  4. 帳上同一份手冊可直接下載範本,不必再到各功能頁找檔。

1.2 流程總覽

帳上 PCE GUI Portal → 說明 → 操作手冊 亦以相同結構呈現(CSS 流程圖,無需額外外掛)。

flowchart TB
  deploy[部署 SuiteApp] --> setup[第一次設定 §4]
  setup --> ap[進項日常 §5.1–5.3]
  setup --> ar[銷項日常 §5.0–5.8]
  setup --> book[發票本管理 §5.6]
  ar --> void[作廢 §5.7]
  ar --> bg[背景開立 §5.8]
  book --> ar

流程圖原文

1.3 術語與縮寫

本手冊與流程圖常用縮寫之完整名稱如下。帳上 PCE GUI Portal → 說明 → 操作手冊 中,§1.3 術語表本身為純文字對照;其餘章節帶虛線底線的縮寫游標停駐可見相同說明:

縮寫完整名稱說明
SEUISales Exempt from Uniform Invoices(銷項免用統一發票)格式 36 之系統號碼前綴;後接時間戳 10 碼,共 14 字(例 SEUI4567890123)
NSNetSuite本 ERP 平台;如「課稅別 NS 稅碼對應」「是否透過 NS 傳至加值中心」
APAccounts Payable/進項進項憑證(應付/進項)模組
ARAccounts Receivable/銷項銷項憑證;開立發票/折讓單
VBVendor Bill(應付帳款發票)供應商應付帳款發票交易單
ERExpense Report(費用報銷)員工費用報銷單
VCVendor Credit(廠商折讓)廠商貸項通知單
VPVendor Prepayment(廠商預付)廠商預付款交易單
CMCredit Memo(貸項通知單)客戶貸項通知單;折讓單之來源交易
CSVComma-Separated Values(逗號分隔值)試算表文字檔;Excel 請另存 CSV UTF-8
invCatCodeInvoice Category Code(發票類別代號)代號 01~08;格式 21/25/31/32/35 常用
OAuthOpen Authorization(開放授權)AP Write API 介接授權(由 IT 設定)
M2MMachine-to-Machine(機器對機器)OAuth 用戶端憑證模式,無需使用者登入

畫面速覽

PCE GUI 選單

圖:頂部 PCE GUI 選單(說明/模組設定/進項/銷項)。

1.1 範本下載

請替換範例統編、字軌與金額。單次最多 100 列。建議先勾只驗證不寫入。

帳上:PCE GUI Portal → 說明 → 操作手冊 → 範本下載。各功能頁也提供同一批檔案。

用途下載(帳上說明頁)專案樣本使用頁
進項 CSV 範本?action=template&kind=apap-invoice-import-sample.csvPortal → 進項 → 進項 CSV 匯入
進項欄位說明?action=guide&kind=apap-invoice-import-field-guide.csv同上
進項 invCatCode 對照?action=invcatmap&kind=apap-invCatCode-erp-mapping.csv同上
發票本 CSV 範本?action=template&kind=arbookar-invoice-book-import-sample.csvPortal → 模組設定 → 發票本管理 → CSV
發票本欄位說明?action=guide&kind=arbookar-invoice-book-import-field-guide.csv同上
發票本 invCatCode 對照?action=invcatmap&kind=arbookar-invCatCode-mapping.csv同上

IT/介接另見 docs/postman/(AP Write Postman)與 介接手冊。

2. 前置條件

2.1 NetSuite 功能

manifest.xml 宣告:

Feature必要性
Custom Records必填
Server SuiteScript必填
Subsidiaries必填
Accounting建議開啟(交易單相關流程)

2.2 權限與角色

部署後腳本多設為 All Roles(僅涵蓋內部角色)。實務上請確認角色至少具備:

  • Custom Record 權限:PCE 營業人資料、PCE 進項資料(及代碼對照表如需維護)
  • 交易權限:Vendor Bill/Expense Report/Vendor Credit/Vendor Prepayment(視流程)
  • Suitelet/RESTlet:CSV 匯入頁、AP Write(外部介接另需 Integration/Token)

2.3 部署方式(開發/顧問)

# 開發帳(已設定 suitecloud auth)
npm run deploy:sdf

# 客戶正式/UAT(LOCK 頂層物件、HIDE server 程式、帳號防呆)
npm run deploy:sdf:customer
  • Application ID:com.netsuite.pceguitw
  • 部署完成後會執行安裝腳本,自動建立代碼對照表初始資料(同名略過,可重跑)
  • 客戶帳從本機準備到驗收的步驟與流程圖見 客戶帳部署;部署後帳上設定接本手冊 §4

3. SuiteApp 內容清單

3.1 導覽(Center)

Script ID類型顯示名稱
custcentertab_pce_guiCenter TabPCE GUI(center=BASIC/Classic Center,allroles=T;總覽預設 Script Portlet)
custpubdashboard_pce_guiPublished DashboardPCE GUI 總覽:顯示「SuiteApp 操作手冊」Portlet(套用至 Administrator/Full Access;既有使用者需在帳上 Publish/Personalize 一次)
custcentercategory_pce_workbenchCategory功能入口 → PCE GUI Portal(customscript_pce_sl_workbench;左側選單 + 右側 iframe)
custcentercategory_pce_basic_dataCategory模組設定(模組通用系統設定/營業人資料/發票本配號設定)。課稅別對應與發票本管理改在 PCE GUI Portal
custcentercategory_pce_apCategory進項(PCE 進項資料)。進項 CSV 匯入改在 PCE GUI Portal
custcentercategory_pce_arCategory銷項(PCE 銷項資料)。開立、背景開立、作廢改在 PCE GUI Portal → 銷項;上傳監控/錯誤在 PCE GUI Portal → 加值中心

PCE GUI → 功能入口 → PCE GUI Portal

  • 頁首正中間顯示已對應的通用系統設定名稱、該列 NetSuite Account ID、使用者、角色,例如「測試區 (TD2905095) | 使用者: … | 角色: …」。沒有對應時,名稱顯示 —,也不加帳號。
  • 進項 只在已對應的通用系統設定勾了 進項功能(custrecord_pce_modsys_ap_feature)時出現。銷項 只在勾了 銷項功能(custrecord_pce_modsys_ar_feature)時出現。營業稅申報 → 進銷項與零稅率 只在勾了 產報稅檔功能(custrecord_pce_modsys_taxfile_feature)時出現。沒勾則該組不顯示。
  • 單頁切換多數 PCE 工具(說明、模組設定、進項、銷項、加值中心等),右側 iframe 載入各 Suitelet。
  • 左側 ☰ 可收合/展開選單:展開時顯示完整功能名稱;收合後僅保留 ☰(選單隱藏,要換功能須先按 ☰ 展開)。游標停駐按鈕可見「收合選單」或「展開選單」。
  • 發票本管理、作廢、背景自動開立等頁面內的分頁,在 iframe 內切換,不需整頁重新載入。
  • 查詢條件區塊(可收合)為多數銷項工具共用。背景自動開立與作廢銷項發票/折讓單採 workbench 單卡版面(分頁在 card 標題列、查詢條件嵌在卡內)。開立清單、發票本仍為傳統分頁+獨立查詢 card。技術說明見 PCE GUI Portal — 銷項內頁 UI(查詢條件/workbench)。

PCE GUI Portal → 說明 → 操作手冊

  • Suitelet(可下載進項/發票本 CSV 範本;PCE GUI 總覽 Portlet 仍顯示摘要)

SuiteApp 內容與使用說明(Suitelet)

圖:Portal「說明 → 操作手冊」完整頁面。

PCE GUI → 模組設定

  • 模組通用系統設定 → customrecord_pce_module_sys_setting(正式區/測試區各一筆;以 NetSuite Account ID 對應環境)
  • PCE 營業人資料 → customrecord_pce_business_info
  • 發票本配號設定 → customrecord_pce_ar_book_profile
  • 課稅別 NS 稅碼對應、發票本管理 → PCE GUI Portal → 模組設定

模組設定選單

圖:PCE GUI → 模組設定 → PCE 營業人資料。

PCE GUI → 進項

  • PCE 進項資料 → customrecord_pce_ap_invoice(中心標籤。PCE GUI Portal 不顯示這份清單)
  • 進項 CSV 匯入 → PCE GUI Portal → 進項(已勾 進項功能 時;Suitelet customscript_pce_sl_ap_csv_import)

進項選單

圖:PCE GUI → 進項(進項資料/CSV 匯入)。

PCE GUI → 銷項

  • PCE 銷項資料 → customrecord_pce_ar_invoice
  • 開立、背景自動開立、作廢 → PCE GUI Portal → 銷項
  • 上傳監控、上傳錯誤 → PCE GUI Portal → 加值中心

3.2 Custom Records(業務)

Script ID名稱用途
customrecord_pce_module_sys_setting模組通用系統設定正式區/測試區;Account ID 對應;模組級進項/銷項/報稅開關
customrecord_pce_business_infoPCE 營業人資料營業稅營業人主檔
customrecord_pce_biz_sys_setting(營業人下系統設定)進項/銷項/報稅:繼承/啟用/停用(customlist_pce_setting_override)覆寫模組預設
customrecord_pce_ap_invoicePCE 進項資料進項憑證明細(可關聯交易)
customrecord_pce_ap_write_log進項匯入紀錄每次 CSV/API 寫入的請求與結果(對帳用)
customrecord_pce_ar_invoicePCE 銷項資料銷項憑證主檔(發票/折讓);狀態(customlist_pce_ar_status)與加值中心上傳狀態(customlist_pce_ar_upload_status)見 §3.2.1。表單:基本資訊含建立日期與最後修改;已折讓為已折讓未稅/稅額/總計與可折餘額;作廢/註銷含作廢換開
customrecord_pce_ar_invoice_linePCE 銷項商品明細開立後寫入的商品子明細
customrecord_pce_ar_custom_linePCE 銷項自訂商品明細Invoice/CM 開立前可改寫的商品列(掛 PCE 銷項分頁)
customrecord_pce_ar_invoice_line(銷項商品明細)主檔下商品列
customrecord_pce_ar_invoice_book發票本字軌/期別/配號/自定義發票本配號(無 Name 欄)
customrecord_pce_ar_book_import_log發票本匯入紀錄CSV/手動匯入背景處理狀態與各區段結果
customrecord_pce_ar_book_profile發票本配號設定自定義配號群組(Name/說明);發票本連結後以 profileName 對應
customrecord_pce_mof_track字軌財政部字軌相關

3.2.1 PCE 銷項主檔:狀態與上傳(與交易表身不同)

PCE 銷項資料(customrecord_pce_ar_invoice)與 Invoice/Credit Memo 表身各有一套「狀態」欄位,用途不同,請勿混用。

層級欄位 Script ID清單用途
主檔custrecord_pce_ar_statuscustomlist_pce_ar_status(PCE 銷項狀態)憑證生命週期:草稿/已開立/已作廢/已註銷。Suitelet 開立成功後寫 已開立(不再以草稿表示已開立)。
主檔custrecord_pce_ar_upload_statuscustomlist_pce_ar_upload_status(PCE 銷項上傳狀態)加值中心上傳流程:待上傳/上傳中/上傳失敗/上傳成功/不上傳。開立時依確認頁 是否透過加值中心上傳:選 上傳(35/33 等)→ 待上傳;不上傳(紙本 31/32、35 不上傳、36 等)→ 不上傳,可直接符合作廢閘道。電子發票須待上傳 job(Phase 3)或人工改為 上傳成功 後才能作廢。
主檔custrecord_pce_ar_upload_error_msgLong Text上傳失敗或介接錯誤訊息;開立成功時清空。
交易表身custbody_pce_ar_inv_statuscustomlist_pce_ar_inv_status(PCE 發票狀態)對應 NetSuite 來源 Invoice/CM 的發票上傳/開立狀態(開立:已開立等待上傳/已開立,不透過NS上傳/已開立上傳中/已開立但上傳失敗,請確認錯誤訊息/已開立且已成功上傳大平台;作廢:已作廢等待上傳/已作廢,不透過NS上傳/已作廢上傳中/已作廢但上傳失敗,請確認錯誤訊息/已作廢且已成功上傳大平台;上傳中/失敗/已上傳大平台由 Phase 3 上傳與 ACK 回寫)。開立:確認頁選上傳 → 已開立等待上傳;不上傳 → 已開立,不透過NS上傳。一般作廢:原主檔 不上傳 → 已作廢,不透過NS上傳;否則 已作廢等待上傳(作廢換開清空以便重開)。
交易表身custbody_pce_ar_error_msgLong Text(唯讀)發票錯誤訊息(Invoice/Credit Memo/Customer Deposit,PCE 銷項分頁):背景自動開立失敗時寫入原因(前綴「背景自動開立失敗:」,僅 Invoice;此時發票狀態為空白,可修正後重開);Phase 3 起加值中心上傳失敗也寫在此欄,並搭配「…但上傳失敗,請確認錯誤訊息」狀態。開立成功、重新排入背景開立、Make Copy、作廢換開或改回待上傳重送時自動清空。

3.3 代碼/對照表 Custom Records

部署時由 customscript_pce_sl_install_lookup 灌入初始資料(已存在則略過):

Script ID說明初始資料
customrecord_pce_doc_format_code憑證格式代碼(進項 21~29 共 11 筆、銷項 31~36;21/25/31/32/35 各拆 2 筆;含進銷項別、發票類別代號)有
customrecord_pce_tax_type課稅別有
customrecord_pce_deduction_code進項扣抵代號有
customrecord_pce_summary_mark彙加/分攤註記有
customrecord_pce_ar_book_status發票本狀態(0 未使用/1 使用中/2 使用完畢/9 停用)有
customrecord_pce_customs_mark通關註記進項暫無預設列
customrecord_pce_export_decl_cat出口報單類別(G3、G5、D1、D5、B1、B2、B8、B9、F4、F5)有
customrecord_pce_zero_rate_mark適用零稅率註記進項暫無預設列
customrecord_pce_city營業縣市對照用
customrecord_pce_filing_type申報種類對照用
customrecord_pce_filing_mark自行/委託申報註記對照用
customrecord_pce_consol_code總繳代號對照用

Name 格式多為「代碼-說明」(例如 21-三聯式統一發票、25-進項一般稅額計算之電子發票(…))。API/CSV 傳 docFormatCode: "21" 或 "25" 時須加 invCatCode(21:01/05;25:06/07)或 docFormatName。

3.4 Entity 自訂欄位(Vendor/Customer)

Script ID標籤適用
custentity_pce_vendor_tax_idPCE 廠商統一編號Vendor
custentity_pce_vendor_invoice_titlePCE 廠商發票抬頭Vendor
custentity_pce_vendor_reg_addrPCE 廠商登記地址Vendor
custentity_pce_cust_tax_idPCE 客戶統一編號Customer
custentity_pce_cust_invoice_titlePCE 客戶發票抬頭Customer
custentity_pce_cust_reg_addrPCE 客戶登記地址Customer

多顯示於 PCE 發票 Entity Subtab(custtab_pce_einvoice)。Vendor/Customer 統編由 Client Script/User Event 驗證(8 碼檢核碼;B2C 客戶可為 10 個 0)。

3.5 交易 Subtab

Script ID標題類型
custtab_pce_trx_einvoicePCE 進項資料Transaction
custtab_pce_trx_ar_einvoicePCE 銷項Transaction

進項 Subtab 用於 Vendor Bill 等;銷項 Subtab 用於 Invoice/Credit Memo 表身欄位與自訂商品明細子列表(見 §3.5.1)。

3.5.1 Invoice/Credit Memo 表身欄位(PCE 銷項)

Script ID標籤說明
custbody_pce_ar_issue_invoice是否開立發票/折讓單見下方 銷項功能與此欄位
custbody_pce_ar_use_custom_lines使用自訂商品明細勾選後開立改讀下方自訂商品明細子列表(非交易 item);首次勾選且子列表為空時會從 item 帶入
custbody_pce_ar_inv_status發票/折讓單狀態清單 customlist_pce_ar_inv_status(PCE 發票狀態,綁交易)。與主檔 custrecord_pce_ar_upload_status(上傳狀態)不同,對照 §3.2.1
custbody_pce_ar_locked鎖定中流程鎖定用
custbody_pce_ar_invoice_no發票號碼僅 Invoice 顯示(Credit Memo 由 User Event 隱藏)。開立成功後回寫(一般為字軌 2 碼+流水 8 碼;格式 36 為 SEUI(Sales Exempt from Uniform Invoices)+時間戳 10 碼,共 14 字)
custbody_pce_ar_allowance_no折讓單號碼僅 Credit Memo 顯示。開立折讓單成功後回寫(最多 16 碼)
custbody_pce_ar_orig_invoice_no折抵發票號碼僅 Credit Memo 顯示。開立折讓單時填寫/回寫之原發票號碼(最多 10 碼)
custbody_pce_ar_error_msg發票錯誤訊息Invoice/Credit Memo/Customer Deposit(唯讀);背景開立失敗或 Phase 3 上傳失敗原因;見 §3.2.1
custbody_pce_ar_main_remark總備註Invoice/Credit Memo/Customer Deposit 可填(最多 200 字);自交易頁進入確認開立內容時預填 發票備註,開立後寫入銷項主檔總備註
custbody_pce_ar_cd_line_description品名僅 Customer Deposit;新建時預設帶入 PCE 營業人系統設定 → 顧客押金品名(有值),否則 模組通用系統設定;可於訂金上修改;確認開立頁單列明細品名讀取本欄

同一分頁另有子列表 PCE 銷項自訂商品明細(customrecord_pce_ar_custom_line),主要欄位如下:

欄位Script ID說明
品項custrecord_pce_ar_cstmline_item對應來源 item;勾選帶入時自動寫入
品名custrecord_pce_ar_cstmline_description開立用品名(可改寫)
數量/單位/單價/金額…_qty/…_unit/…_unit_price/…_amount未稅金額;金額 0 的商品列仍會開立。說明、小計、群組等非商品且金額 0 則略過。單位帶入 Units 縮寫,最多 6 字
營業稅額custrecord_pce_ar_cstmline_tax_amount各列加總須等於單頭 taxtotal
課稅別custrecord_pce_ar_cstmline_tax_type對應 customrecord_pce_tax_type(1/2/3 等)
明細備註custrecord_pce_ar_cstmline_remark最多 120 字;可自 item 子列表帶入

已勾選但沒有商品列時,開立會被拒絕。金額 0 的商品列仍算有效列。未稅合計與營業稅合計必須與 NetSuite 單頭一致(容許 0.02)。儲存時若營業稅全空,系統會依課稅別(應稅 5%)推算並對齊單頭。

銷項功能與此欄位(依 模組通用系統設定 Account Mapping + PCE 營業人主檔 +營業人 effective 銷項開關):

情境行為
本帳號 未 Mapping 至正式區/測試區模組銷項全關;此欄 禁用、不勾選;交易頁 無 開立按鈕;開立/作廢/發票本 Suitelet 拒絕
該 subsidiary 沒有 對應的 PCE 營業人資料(未建主檔或未填 subsidiary)銷項一律關閉(即使模組通用已勾銷項)
該 subsidiary 銷項 停用(營業人覆寫或子設定)同上
銷項 啟用 且已選 客戶 (entity)新建與複製時自動勾選。使用者自行取消後,畫面儲存與再次開啟編輯都不會再勾回。變更客戶或 subsidiary 時仍會依銷項功能重算
銷項 啟用 但 無客戶不勾選
已開立(已有發票/折讓號碼或狀態)不顯示開立按鈕(與銷項開關無關)

Suitelet(開立、作廢、發票本手動建立/查詢)在 POST 時會再次驗證銷項是否啟用。從交易頁按開立若遭拒,訊息會註明「此交易所屬營業人銷項功能未啟用」。

開立按鈕僅在 Invoice/Credit Memo「檢視」頁顯示(編輯頁不顯示,以免未存檔的自訂商品明細與表頭與開立資料不一致)。請先 儲存 再進檢視頁開立;或改用 PCE GUI Portal → 銷項 → 開立發票/折讓單 查詢已存檔交易。

未來(B1-7):若需一次性將歷史 Invoice/Credit Memo 上「銷項已停用但仍勾選」的紀錄批次清勾,可另排 Map/Reduce;目前未內建。

3.5.2 Invoice/Credit Memo item 子列表欄位

Script ID標籤說明
custcol_pce_ar_line_remark明細備註銷售 item 列備註(最多 120 字)。勾選「使用自訂商品明細」且子列表為空帶入時,會寫入自訂列 明細備註
表單設定:部署 custcol_pce_ar_line_remark 後,須至 Customization → Forms → Transaction Forms,在 Invoice/Credit Memo 的 Items 子列表加入 明細備註 欄,使用者才能在 item 列維護備註。

3.6 Scripts

Script ID類型說明
customscript_pce_ue_apinv_defaultUser Event進項資料儲存前驗證(非 UI 路徑補強)
customscript_pce_cs_ap_invoiceClient進項資料畫面欄位行為
customscript_pce_cs_trans_ap_sublistClient交易單上進項子列表聯動(VB/ER/VC/VP)
customscript_pce_rl_ap_writeRESTlet進項/交易寫入 API
customscript_pce_sl_ap_csv_importSuitelet進項 CSV 匯入 UI
customscript_pce_sl_install_lookupSuitelet(安裝)代碼表初始資料
customscript_pce_sl_ap_write_smokeSuiteletAP Write 冒煙測試(開發/驗證用)
customscript_pce_sl_ap_write_smoke_inst安裝相關冒煙測試安裝輔助
customscript_pce_cs_ar_invoiceClientPCE 銷項資料主檔欄位聯動/驗證
customscript_pce_ue_arinv_defaultUser Event銷項資料 beforeSubmit 驗證
customscript_pce_sl_user_guideSuitelet操作手冊(`?lang=zh\en;範本 action=template\guide\invcatmap+kind=ap\arbook`)
customscript_pce_sl_taxtype_mappingSuitelet課稅別 NS 稅碼對應
customscript_pce_sl_ar_issueSuitelet開立銷項發票/折讓單(查詢 NS Invoice/Credit Memo)
customscript_pce_sl_ar_voidSuitelet作廢銷項發票/折讓單(查詢已開立 PCE 銷項主檔)
customscript_pce_sl_ar_invoice_bookSuitelet發票本清單入口
customscript_pce_sl_ar_book_csv_importSuitelet發票本管理 UI(CSV/手動/查詢/更新)
customscript_pce_mr_ar_book_importMap/Reduce發票本建立背景 job
customscript_pce_mr_ar_book_alloc_updateMap/Reduce發票本配號批次更新背景 job
customscript_pce_ue_ar_book_defaultUser Event發票本新增預設狀態 0-未使用
customscript_pce_cs_trans_ar_bodyClientInvoice/Credit Memo「是否開立發票/折讓單」預設、自訂商品明細帶入、開立按鈕
customscript_pce_ue_trans_ar_bodyUser Event同上(非 UI 路徑補強)
customscript_pce_cs_vendor_taxid / customscript_pce_ue_vendor_taxidClient/UEVendor 統編驗證
customscript_pce_cs_customer_taxid / customscript_pce_ue_customer_taxidClient/UECustomer 統編驗證

3.7 File Cabinet(主要路徑)

SuiteApps/com.netsuite.pceguitw/
├── ap/
│   ├── clientscripts/     # 進項/交易 Client Scripts
│   ├── libraries/         # CSV、驗證、Payload、WriteLog 等
│   ├── restlets/          # AP Write RESTlet
│   ├── suitelets/         # CSV Import、Smoke
│   └── userevents/        # 進項 Default/驗證
├── ar/
│   ├── clientscripts/     # 銷項主檔、交易表身
│   ├── libraries/         # 驗證、Lookup、開立邏輯、開立畫面 HTML
│   ├── suitelets/         # 開立銷項發票、發票本管理、Smoke
│   └── userevents/        # 銷項驗證、交易表身
└── common/                # 統編檢查、字軌資料等共用函式庫

4. 部署後設定步驟

建議依序完成:

flowchart TD
  A[A 確認選單] --> B[B 營業人資料]
  B --> B2[B2 課稅別 NS 稅碼對應]
  B2 --> C[C Vendor/Customer 統編]
  C --> D[D 匯入或建立發票本]
  D --> E{需要 API 介接?}
  E -->|是| F[F OAuth + AP Write]
  E -->|否| done[可開始日常作業]
  F --> done

流程圖原文

步驟 A — 確認選單

  1. 重新整理 NetSuite(或切換角色/Center 後再回來)。
  2. 頂部應出現 PCE GUI。
  3. 點開確認:
    • PCE GUI Portal → 說明 → 操作手冊(含範本下載)
    • 模組設定 → 模組通用系統設定、PCE 營業人資料、發票本配號設定(中心標籤);課稅別稅碼對應、發票本管理在 PCE GUI Portal
    • 進項 → PCE 進項資料(中心標籤)。Portal 不顯示進項資料。已勾 進項功能 時,Portal 顯示 進項 CSV 匯入
    • 銷項 → PCE 銷項資料(中心標籤);開立、背景開立、作廢在 PCE GUI Portal → 銷項;上傳監控、上傳錯誤在 PCE GUI Portal → 加值中心

若看不到 Tab:確認角色為 Classic Center、以及 custcentertab_pce_gui 的 Audience(預設 all roles)。

步驟 A0 — 模組通用系統設定(必做)

  1. PCE GUI → 模組設定 → 模組通用系統設定。
  2. 確認已有 正式區、測試區 兩筆(安裝腳本會種子;功能預設關閉)。名稱與設定鍵在表單上不可修改。
  3. 在對應環境的那一筆 NetSuite Account ID(必填)填入本帳號 ID 一筆(Free-Form Text;不分大小寫,-/_ 視為相同)。欄位 ID:custrecord_pce_modsys_ns_account。未填不能儲存。
  4. 依需求勾選 銷項(進項 Phase 尚未全面接線,可之後再開)。模組功能 → 申報檔強制背景下載(custrecord_pce_modsys_vat_force_bg,預設不勾):勾選後,進銷項 TXT 與零稅率 T02 不論筆數都改在背景產生。未勾選時,單邊 2 萬筆以內直接下載,超過才改背景。模組功能 → suiteTax(custrecord_pce_modsys_suite_tax,預設不勾):只有帳號已啟用 NetSuite SuiteTax 才勾。勾選後,銷項改從交易 Tax Details 讀稅碼與稅額;進項建立交易與交易建立寫入 Vendor Bill 等單據時,稅碼與稅額改寫入 Tax Details,不寫 tax1amt。未勾維持 Legacy。這張交易沒有 Tax Details 時仍依 Legacy 讀寫。課稅別對應維持既有稅碼清單,不另對 SuiteTax 稅碼。
  5. (Customer Deposit)可設定 顧客押金品名(新建訂金表頭「品名」預設;預設為「顧客押金」)。
  6. 銷項共用 → 開立品名來源(custrecord_pce_modsys_desc_src,選填):開立 Invoice/Credit Memo 商品明細的品名要讀哪個搜尋欄位。空白則用商品列說明(填 memo),該欄沒有值再用品項名稱。可填 memo、item、custcol_ 開頭的商品列欄位,或 item.欄位ID(例如 item.salesdescription)。請用小寫。畫面上的 Description 在搜尋是 memo,不可填 description。格式不符無法儲存。自訂商品明細與顧客押金不使用本欄。
  7. 銷項共用 → 綁定部門/綁定類別(custrecord_pce_modsys_bind_dept、custrecord_pce_modsys_bind_class,核取方塊,預設不勾):勾選後,開立確認頁會帶入來源交易的部門或類別,並依該值配發票本。可在確認頁改選其他值。未勾選時不自動帶入。開立所選的部門、類別、自定義配號須與發票本完全相同;留空只對到該欄也空白的發票本。
  8. 銷項共用 → 額外查詢欄位(custrecord_pce_modsys_extra_flt,選填,長文字):開立清單(含提交背景開立)在原有條件下,再加 Invoice 表頭查詢欄位。一行一個,最多 8 行,請用小寫。格式為 欄位ID|選項來源|畫面上的名稱,第四段可加說明(顯示在條件下方)。選項來源是下拉要讀的紀錄類型或清單 ID,例如 location|location|地點、custbody_xxx|customlist_xxx|名稱。類別的紀錄類型是 classification。沒填選項來源時,依欄位型別顯示文字、日期或是否。下拉留在「全部」不篩選。不可填商品列 custcol_、join(例如 item.xxx),也不可重複統編、買方、部門、類別、單號、日期。格式不符無法儲存。選項來源無法搜尋時該下拉沒有選項,不影響整頁查詢與營業人下拉。
  9. 銷項共用 → 稅差容許(custrecord_pce_modsys_tax_diff,預設 1,只能填正整數):開立時單頭稅額與應稅未稅合計×稅率的容許差距(元)。大於此值會阻擋開立。
  10. 加值中心 sFTP(Phase 3 上傳用):安裝腳本會依 正式區/測試區 帶入汎宇主機與使用者名稱(正式 sftp.einvoice.com.tw、測試 sftp-t.einvoice.com.tw、使用者 53530703);HostKey 安裝後為空白,取得指紋後請手動填入。密碼不在 modsys 明文欄位:三支 MR 各一 NetSuite Credential(passwordGuid),請貼到 modsys 加值中心 sFTP GUID(開立/作廢/Ack) 三欄(TEST/PRODUCTION 各填);MR Script Parameter 僅作後備。勾選「加值中心 sFTP 啟用」時,三支 GUID 與 HostKey 為必填。目前帳上於 2026-10-07 已通過加值中心 sFTP 連線、三支 GUID、正式區路徑、MR 排程與開立上傳→ACK;新帳仍須自行填 HostKey 與 GUID。詳 ar-phase3.md §5.1.1。
  11. 未 Mapping 的帳號:所有模組功能視為關閉。

各 PCE 營業人資料 下 PCE 營業人系統設定 子記錄可再以 進項/銷項/報稅 的「繼承/啟用/停用」覆寫模組預設,並可填 顧客押金品名(Customer Deposit 表頭品名預設;空白則繼承模組通用)與 折讓單前綴(格式 33/34 自動號碼用;空白則不加前綴)。

步驟 B — 維護營業人資料

  1. PCE GUI → 模組設定 → PCE 營業人資料 → New
  2. 至少填寫:
    • 營利事業統一編號(8 碼)
    • 營業人名稱
    • 其他申報相關欄位(稅籍編號、營業地址、聯絡人/申報人等,依實際申報需求)
  3. 若有多子公司,請依環境維護對應資料與「子公司」關聯。
  4. 於營業人記錄的系統設定確認進項功能與銷項功能開關。銷項開立前必須啟用銷項功能。

步驟 B2 — 課稅別 NS 稅碼對應

  1. PCE GUI Portal → 模組設定 → 課稅別稅碼對應
  2. 為課稅別 1(應稅)/2(零稅率)/3(免稅) 各選對應的 NetSuite Tax Code(可多選)。
  3. 儲存。Invoice/Credit Memo 自訂商品明細與開立讀稅時會用到這份對應;未對應會無法開立。

PCE 營業人資料清單

圖:PCE 營業人資料清單。

PCE 營業人資料明細

圖:營業人資料欄位範例(含子公司)。

步驟 C — 維護供應商/客戶主檔

  1. 開啟 Vendor/Customer。
  2. 到 PCE 發票 Subtab。
  3. 填入統編、發票抬頭、登記地址,供進項/銷項檢核與後續帶入。

步驟 D —(選用)外部 API 介接

若需系統對系統寫入:

  1. 建立/設定 OAuth 2.0 Integration(建議 Client Credentials M2M,Scope 含 RESTlets)。
  2. 取得 AP Write RESTlet External URL。
  3. 依 介接手冊 取得 Bearer Token 後呼叫。
  4. 可於 進項匯入紀錄 清單檢視每次匯入(進項 CSV 匯入頁導覽亦提供連結;NetSuite 清單顯示名稱可能仍為「PCE AP Write 呼叫紀錄」)。

步驟 E —(選用)限制腳本對象角色

正式環境建議將關鍵 Suitelet/RESTlet 的 Audience 從「全部角色」收斂為會計/介接專用角色。

5. 日常使用步驟

5.0 準備 Invoice/Credit Memo 自訂商品明細

當會計要改寫開立用的品名或金額(而非直接用交易 item):

  1. (選用)在 Items 子列表維護 明細備註(custcol_pce_ar_line_remark;須已加入表單,見 §3.5.2)。
  2. 開啟 Invoice 或 Credit Memo → PCE 銷項。
  3. 勾選 使用自訂商品明細。若子列表為空,Client Script 會從 item 帶入(含金額 0 的商品;說明、小計、群組等非商品且金額 0 不帶入),含:品項、品名、數量、單價、金額、課稅別、營業稅額(依課稅別 5% 或 item 的 tax1amt)、明細備註。
  4. 可在 PCE 銷項自訂商品明細 再編輯各列;變更 金額 或 課稅別 時,營業稅額會自動重算(手改營業稅額則不覆寫)。
  5. 儲存。未稅合計須等於單頭 subtotal、營業稅合計須等於單頭 taxtotal(容許 0.02)。不符時 Client Script 會擋儲存;若營業稅全空,User Event 會依課稅別補齊後再驗證。
  6. 開立時:確認頁與寫入 PCE 銷項主檔的商品列,會將 品項、單價、課稅別、品名皆相同 的多列合併為一列(加總數量、金額、營業稅額;明細備註以 ; 串接)。品名不同則不合併。Invoice 上的自訂子列表仍保留原始多列供對帳。外幣 Invoice/Credit Memo 的自訂明細維持交易幣別;開立時以外幣未稅依課稅別還原含稅,再乘該張匯率四捨五入成台幣,然後反推未稅與稅額。已存的自訂列不會改寫成台幣。
  7. 取消勾選 使用自訂商品明細 不會清空已維護的自訂列,只是開立改回讀 item。

5.1 在交易單上登錄進項(建議會計流程)

flowchart TD
  start[進項登錄] --> path{選擇方式}
  path -->|建議| trx[交易單 PCE 進項子列表]
  path --> list[獨立 PCE 進項資料]
  path --> csv[CSV 匯入]
  trx --> save[儲存 → 建立 PCE 進項資料]
  list --> save
  csv --> validate{只驗證?}
  validate -->|是| preview[試跑結果]
  validate -->|否| save
  preview --> csv

流程圖原文

適用:Vendor Bill、Expense Report、Vendor Credit、Vendor Prepayment。

  1. 建立或開啟交易單,選擇 Vendor(若適用)。
  2. 切到 PCE 進項資料 Subtab/子列表。
  3. 新增一列進項明細,填寫例如:
    • 憑證格式代碼(21~29)
    • 憑證開立日期
    • 資料所屬年月/申報期別(民國五碼 YYYMM)
    • 進項扣抵代號、課稅別
    • 發票號碼/其他憑證號碼(依格式)
    • 買受人/銷售人統編
    • 銷售金額、稅額、總計
    • 彙加註記等(依需求)
  4. 儲存交易單。系統會以 Client Script 協助欄位聯動與前端檢核;User Event 於進項記錄儲存前再驗證。交易單進項子列表會依 header 子公司 對應 PCE 營業人資料帶入買受人統編;獨立新增進項資料時需手動填入。逐條規則(格式、統編、稅額、字軌、期別)見 進項憑證檢核規則。畫面、CSV、API 用同一套。

一張交易可對應 多筆 進項資料(1:N)。

Vendor Bill 上的 PCE 進項資料子列表

圖:Vendor Bill → PCE 進項資料 子列表(可新增進項列)。

5.2 直接維護「PCE 進項資料」清單

  1. PCE GUI → 進項 → PCE 進項資料
  2. New/Edit 記錄。
  3. 可選擇填 來源交易單據,掛回既有 Vendor Bill(應付帳款發票)、Expense Report(費用報銷)、Vendor Credit(廠商折讓) 或 Vendor Prepayment(廠商預付);也可先不掛交易、僅建立進項資料。

PCE 進項資料清單

圖:PCE 進項資料清單。

PCE 進項資料明細

圖:進項資料欄位範例(憑證格式、統編、金額等)。

5.3 進項 CSV 匯入

  1. PCE GUI Portal → 進項 → 進項 CSV 匯入
  2. (建議)先下載(說明頁或本頁皆可):
    • 範本 CSV(action=template)
    • 欄位說明 CSV(action=guide)
    • 發票類別代號對照(action=invcatmap)
  3. 以 Excel/試算表填寫後另存 CSV(建議「CSV UTF-8」,避免中文亂碼),或於頁面貼上 CSV 文字。
  4. (建議)先勾 只驗證不寫入(試跑,不建立資料),確認無誤後再取消勾選正式匯入。
  5. 按 匯入,系統建立 PCE 進項資料。
  6. 匯入完成後會自動導向結果頁(網址含 action=result 與 進項匯入紀錄 id)。重新整理頁面不會再次送出 CSV,可安心按 F5 檢視結果。
  7. 檢視結果摘要:
    • 成功/失敗筆數(失敗優先顯示)
    • 可下載失敗列 CSV
    • 成功列可連到進項記錄
    • 可開啟 進項匯入紀錄 對帳(「進階資訊(IT/對帳用)」含 匯入批號、結果代碼)
  8. 限制:單次最多 100 列。

進項 CSV 匯入頁

圖:進項 CSV 匯入(範本下載、上傳/貼上、只驗證不寫入)。

CSV 常用欄位(摘要)

欄位必填說明
docFormatCode必填21~29;格式 21/25 須搭配 invCatCode
invCatCode條件必填發票類別代號;格式 21(01/05)、25(06/07)必填
docDate必填YYYY/MM/DD 或 YYYY-MM-DD
docPeriod必填民國五碼所屬年月
filingPeriod必填民國五碼申報期別
deductionCode必填1~4
invoiceNo條件多數格式必填
buyerTaxId必填8 碼
sellerTaxId條件依格式
taxType必填如 1/2/3/F/D
salesAmount/taxAmount/totalAmount金額銷售金額與稅額依 檢核規則;總計不檢核
fileBizTax選填是否申報營業稅
filed選填是否已申報。true/T 會勾起;既有進項整批更新請用 NetSuite CSV 匯入,欄位 ID custrecord_pce_ap_tax_filed
clientRef選填來源參考號
transaction選填掛回既有 NetSuite 交易單據(須填 internal id;請向 IT 索取)

完整說明與範例列見 docs/samples/ap-invoice-import-sample.csv、頁面欄位一覽。

5.4 透過 API 寫入(系統介接)

對會計使用者:通常由 IT/廠商執行。重點:

action用途
apInvoiceOnly只建進項
transactionOnly只建/引用交易(最多 10 筆)
transactionWithApInvoices交易+一至多筆進項(1:N)

公版只有上表三種 action。API進項審核與請購單(custompurchase_dfo_purchase_req)不在這份套件。

  • 僅支援 POST + OAuth 2.0 Bearer
  • API 參數 options.validateOnly: true 等同畫面上的 只驗證不寫入(試跑,不建立資料)

細節、範例與 Postman:介接手冊。

5.5 開立銷項發票/折讓單(Phase 1)

完整取號流程、篩選條件與錯誤代碼見 銷項開立取號流程與邏輯。

flowchart TD
  prep[Invoice/CM 準備 §5.0] --> search[查詢或頁首按鈕]
  search --> select[勾選來源單據]
  select --> mode{開立模式}
  mode -->|只發票| inv[單張/合併開立]
  mode -->|只折讓| allow[開立折讓單 33/34]
  mode -->|兩者| net[開立淨額發票]
  inv --> form[確認格式/日期/配號]
  allow --> form
  net --> form
  form --> num[取號]
  num --> ok[建立 PCE 銷項 + 回寫 NS]

流程圖原文

flowchart TD
  start[確認格式與加值中心上傳] --> fmt{格式?}
  fmt -->|36| gen["系統 SEUI 號碼<br/>Sales Exempt from Uniform Invoices"]
  fmt -->|35 上傳| auto[發票本自動取號]
  fmt -->|35 不上傳/31/32| manual[手填反查發票本]
  fmt -->|33/34 折讓| allowNum[手填或留空自動 PCE 號]
  auto --> ok[成功回寫]
  manual --> ok
  gen --> ok
  allowNum --> ok

流程圖原文

  1. PCE GUI Portal → 銷項 → 開立發票/折讓單(Bootstrap 全頁:查詢 → 確認開立)。也可從尚未開立的 Invoice 頁首按 開立銷項發票、Credit Memo 頁首按 開立折讓單、Customer Deposit 頁首按 開立銷項發票(轉開)。頁首按鈕會開啟同一個 Portal:右側是該單的確認開立頁,左側選單預設收合,可按 ☰ 展開。已開立(已有發票號碼/折讓單號碼或發票/折讓單狀態)則不顯示按鈕。
  2. 設定查詢條件(統一編號/買方公司/部門/分類/NetSuite 發票編號/NetSuite 折讓單編號/日期等)後按 查詢。下拉選單可輸入關鍵字過濾。
  3. 清單僅顯示同時符合下列條件的銷項發票或折讓單:
    • 是否開立發票/折讓單=是
    • 發票/折讓單狀態空白
    • 鎖定中=否
    • 發票號碼空白
    • 折讓單號碼空白
    • NetSuite 單據狀態不是 已作廢、也不是 已拒絕(Rejected)。這兩種不會出現在清單,檢視頁也不顯示開立按鈕;直接開立會被拒絕。未結、已付清單據仍可開立。
  4. 查詢結果的欄位標題可點選排序,再點一次改為相反方向(勾選欄不排序)。每一列的 課稅別 為 應稅、免稅、零稅率 或 混合稅(依將開立的明細;金額不是 0 且課稅別超過一種就是混合稅。有勾 使用自訂商品明細 時看自訂列,沒有自訂列才看交易品項稅碼)。在 銷項發票清單 或 折讓單清單 分頁勾選後開立:
    • 只選發票:單張或合併開立
    • 只選折讓單:開立折讓單(折抵已開立的發票)
    • 同時勾選發票與折讓單:開立淨額發票
  5. 進入憑證開立表單後,確認 格式代號、是否透過加值中心上傳、發票號碼/折讓證明單號碼(依下表)。只選發票時格式不含 33/34;開立折讓單時格式只顯示 33/34;折讓證明單號碼可手填,或留空依 PCE 營業人系統設定 → 折讓單前綴(空白則不加前綴)加上時間戳 13 碼(不經發票本)。格式 33 可選擇透過加值中心上傳;折讓單不填載具/捐贈,但須填 折讓扣抵發票號碼(原發票號碼;成功後回寫 Credit Memo 的 折抵發票號碼)。課稅別為零稅率時,確認頁另須選擇 通關方式(1 非經海關出口、2 經海關出口)與 零稅率原因(71–79);折讓單不填。兩欄寫入銷項主檔,並在上傳 TXT 帶出。同一頁可再選 出口報單類別(例如 G5 國貨出口),並可填 出口報單號碼(14 碼英數)、輸出或結匯日期、證明文件名稱、證明文件號碼;沒填仍可開立,只存主檔,不進上傳 TXT。經海關出口選報單類別、填報單號碼;非經海關出口填證明文件名稱與號碼。開立發票時 發票部門/發票分類/自定義發票本配號 預設為 不指定(只對到該欄也空白的發票本)。模組通用勾了 綁定部門 或 綁定類別 時,確認頁會帶入這張發票的對應值,可改回不指定。自定義配號仍預設不指定。三欄須與發票本完全相同。查詢清單上的部門/分類只用來篩選,不會帶進配號。若來源交易已勾 使用自訂商品明細,確認頁商品明細來自該分頁自訂列(畫面會提示),且列數可能少於自訂子列表(相同品項+單價+課稅別+品名已合併)。合併開立且多張來源皆勾選自訂明細時,跨單相同條件亦會合併;淨額開立(發票+折讓)則不合併正負列。確認頁商品明細的品名可直接修改,最多 500 字;留白則沿用原品名,並寫入銷項明細。
  6. 系統建立 PCE 銷項資料主檔與商品明細。從 PCE GUI Portal 開立(含交易頁首按鈕)時,主檔在新分頁開啟,Portal 內留開立摘要(日期、格式、買方、金額)與 回查詢清單。主檔設 狀態=已開立;上傳狀態依確認頁 是否透過加值中心上傳 為 待上傳 或 不上傳(§3.2.1),並清空 上傳錯誤訊息。來源交易回寫 發票/折讓單狀態(上傳 → 已開立等待上傳;不上傳 → 已開立,不透過NS上傳)、發票號碼或折讓單號碼等。Invoice 另初始化 已折讓未稅/稅額/總計=0、可折餘額=總計。Credit Memo 回寫 折讓單號碼 與 折抵發票號碼(不寫入發票號碼欄)。折讓開立時依折抵發票的申報雙月期別(相對折讓憑證日期)控管: 明細過多時表單僅預覽部分筆數,其餘可至系統報表「PCE 銷項開立商品明細」依來源單號查詢。
    • 當期且無銷項主檔 → 阻擋
    • 有銷項主檔(當期或非當期)→ 可折餘額足夠才可開立,成功後累加已折讓並重算可折餘額
    • 非當期且無銷項主檔 → 可開立,但不控管可折餘額;系統會寫入總備註提醒自行管控(並請填原發票日期以判斷期別)
建立銷項發票/折讓單時,若已選客戶且單據子公司對應之 PCE 營業人已啟用 銷項功能,是否開立發票/折讓單 會自動勾選。使用者自行取消後再儲存,不會再勾回去。
自訂商品明細:詳見 §5.0。重點:item 列可填 明細備註(custcol_pce_ar_line_remark)並帶入自訂列;帶入時含品項、課稅別、營業稅額;儲存須與單頭未稅/稅額一致(外幣單是交易幣別);開立時外幣自訂明細再換算成台幣,相同品項+單價+課稅別+品名合併為一列;品名不同不合併(Invoice 上自訂子列表仍保留原列數,也不改寫成台幣)。

Customer Deposit 轉開發票(Phase 2)

Customer Deposit 在 NetSuite 無稅碼、無商品明細。自訂金檢視頁按 開立銷項發票 時:

  • 以訂金 總額視為含稅金額,依預設 應稅(5%) 反推:未稅金額(含單價)四捨五入至整數元,稅額=訂金總額 − 未稅金額(表頭稅額同此反推值,不採 NS 訂金表頭 0 稅)。
  • 確認開立頁商品明細預設 一列:品名來自訂金表頭 品名(空白時依 營業人系統設定 → 顧客押金品名(有值)→ 模組通用 → 顧客押金品名)、數量 1;開立前僅驗證 未稅+稅額=訂金含稅總額。
  • 不可與 Invoice/Credit Memo 合併或淨額開立;僅能單筆訂金,且須自 Customer Deposit 檢視頁 按 開立銷項發票(不支援開立 Suitelet 多筆訂金合併)。
  • 成功後回寫訂金 發票號碼 與 發票/折讓單狀態(與 Invoice 相同欄位)。
  • 課稅別固定應稅 5% 反推(不另做可設定課稅別)。

發票號碼規則

格式與上傳發票號碼發票本
36(銷項免用統一發票)系統產生 SEUI(Sales Exempt from Uniform Invoices,免用統一發票號碼前綴)+時間戳後 10 碼(共 14 字),不可手填;Name 與發票號碼相同不找本、不回寫
35 且加值中心=上傳系統自動取號(字軌 2 碼+流水 8 碼)依賣方統編、格式、發票日期對應之雙月期別、配號條件找本;須已勾選 是否透過 NS傳至加值中心
35 且加值中心=不上傳,或紙本(31/32 等)必填手填(例 CA00000075)依號碼反查涵蓋該流水的發票本;只驗「號碼是否已用」
33/34(開立折讓單)可手填(最多 16 碼);留空則依營業人 折讓單前綴(空白則不加)+時間戳 13 碼並查重不找本、不回寫

自動取號(35+上傳)

  1. 搜尋未停用、狀態 0-未使用/1-使用中、統編/期別/格式相符,且已勾選 是否透過 NS傳至加值中心 的發票本。
  2. 配號篩選:發票部門、發票分類、自定義配號須與發票本完全相同。不指定只對到該欄也空白的發票本。例如開立選部門 A、類別 B、配號不指定,只用部門 A、類別 B、配號也空白的發票本。
  3. 多本只取 internal id 最小者。該本最後驗證未過(發票日期早於最新取號日、已無下一號、回寫衝突等)會顯示錯誤(含發票本 id),不會改試其他本。
  4. 成功後回寫發票本 last_no、last_issue_dt;未使用改為使用中,用盡則改為使用完畢。
  5. 發票日期須 ≥ 該本最新取號日期(同日可接受;尚未取號則不限)。

手填號碼(紙本/35 不上傳)

  1. 號碼須為字軌 2 碼英文+流水(不足 8 碼會補零)。
  2. 系統以字軌+流水反查起訖範圍涵蓋該號的發票本;找不到或多本同時涵蓋都會失敗,請再確認統編/期別/格式。
  3. 若銷項主檔或 Invoice/Credit Memo 已使用同一號碼,會拒絕開立。
  4. 手填不檢查是否接續 last_no;成功後 last_no 取「既有最後取用」與本次號碼的較大值,並更新最新取號日期。

5.6 發票本管理

開立時如何取號/手填反查見 §5.5。本節說明如何建立與調整發票本。

  1. PCE GUI Portal → 模組設定 → 發票本管理(頁面分三個分頁:查詢/更新發票本、手動輸入、CSV 匯入;預設開啟查詢分頁)
  2. 查詢/更新發票本:先選 統一編號(必填)查詢該公司發票本;發票本期別、格式(不含 33/34/36)、NetSuite→加值中心 為選填,可縮小結果。格式若選定且不是「35-銷項一般稅額計算之電子發票」(35-07),NS→加值中心 篩選只能為 否(紙本/35-06 等皆不上傳)。結果表顯示 NS→加值中心 與 狀態。若要修改,可勾選多筆 批次調整配號(僅部門/類別/配號),或於單列 調整設定(另可改 是否透過 NS 傳至加值中心 與 狀態,但 NS 僅 未使用 且格式 35-07 可改;狀態 僅 未使用 或 停用 可改)。一次超過 25 本改背景處理,請稍後重新查詢確認;亦可按 ID 連結開啟單筆紀錄。
  3. 手動輸入:切換至「手動輸入」分頁,先選 統一編號(下拉選單,與查詢相同),再填 格式(不含 33/34/36;選定後發票類別自動帶入且不可修改)、期別、字軌、起訖號等(規則同 CSV)。格式 35-07 時須選 是否透過 NS 傳至加值中心(同 CSV 的 nsToPlatform;選「是」才供開立 35+上傳 自動取號)。可選 發票本部門、發票本類別、自定義發票本配號(選項與查詢/更新相同);狀態固定為未使用,無須填寫。可勾 只驗證不寫入 後按 建立發票本。
  4. CSV 匯入:下載 CSV 範本、欄位說明 與 發票類別代號對照(下載檔名含 invCatCode),以 Excel/試算表填寫統編、字軌、起訖號等,完成後另存 CSV(建議「CSV UTF-8」);上傳或貼上 CSV,建議先勾 只驗證不寫入(試跑,不建立資料)試跑。
  5. 匯入/手動建立完成後會自動導向結果頁(網址含 action=result 與 發票本匯入紀錄 id)。重新整理頁面不會再次送出。
  6. 結果頁顯示「正在建立發票本…」(含載入動畫)→ 完成後顯示成功/失敗摘要;明細表會自動更新為發票本連結。
  7. 成功列可連至新增的 PCE 發票本;失敗列(含背景批次處理失敗的區段)可下載修正後再匯入。
  8. 限制:CSV 最多 100 列;不需 Name;狀態空白時預設 0-未使用。寫入由背景批次處理建立,並寫入 發票本匯入紀錄;背景工作編號等技術資訊在「進階資訊(IT 用)」。
  9. 起訖號尾數規則(8 碼正規化後看尾數 2 碼): 例:單本 50 張可填 50~99 或 0~49;三聯式 3 本可填 0~149。
    • 起號:須為 50 的倍數(00 或 50)
    • 訖號:須為 50 的倍數減 1(49 或 99)
  10. 自動切分:同一列可填跨多本的 beginNo/endNo,系統依 invCatCode 切分: 起訖號總張數須為每本張數的整數倍(例:01 類別填 0~149 → 自動建立 3 本)。
    • 手開式(01 三聯式、02 二聯式、05 電子計算機)與電子發票(07):50 張/本
    • 收銀機(03 二聯式收銀機、06 三聯式收銀機):250 張/本
  11. 不可重複:切本後的每一本,若期別、字軌、起訖號已有發票本(含停用),只擋該本,同一列的其他本仍會建立。同一檔案裡重複的起訖號,只建立先出現的那本。

範例檔:docs/samples/ar-invoice-book-import-sample.csv 發票類別對照:docs/samples/ar-invCatCode-mapping.csv(格式 31/32/35 須填 invCatCode 辨識)

CSV 常用欄位(摘要)

欄位必填說明
taxId必填8 碼統一編號;須已存在於 PCE 營業人資料
invCatCode必填發票類別代號 01~08;格式 31 填 01/05;32 填 02/03;35 填 06/07
docFormatCode必填銷項格式 31~36;31/32/35 須搭配 invCatCode 或 docFormatName
period必填民國五碼 YYYMM
track必填二碼英文大寫字軌
beginNo / endNo必填8 碼數字;起號尾數 00/50、訖號尾數 49/99;可填多本區間(見 §5.6 切分規則)
statusCode選填0/1/2/9,預設 0
profileName選填自定義發票本配號 Name 或 id
nsToPlatform選填僅 35-07 有效;其餘格式匯入時固定 false(CSV 值不採用)
paperInvoice選填匯入時自動設定:35-07 固定 false,其餘固定 true(CSV 值不採用)
remark選填備註
clientRef選填對帳用參考鍵

5.7 作廢銷項發票/折讓單

  1. PCE GUI Portal → 銷項 → 作廢發票/折讓單(Suitelet customscript_pce_sl_ar_void;Bootstrap 全頁:查詢 → 填寫作廢資料 → 確認)。
  2. 查詢條件可含子公司、客戶、發票號碼/折讓單號碼、憑證日期區間等。結果僅列出主檔狀態=已開立的 PCE 銷項發票或折讓單(不含草稿、已作廢),並依憑證日期由舊到新排列。
  3. 選定一筆後填 作廢日期(須落在本期申報期別)、作廢原因(必填,最多 20 字),並選擇方式:
    • 作廢:PCE 主檔標記 已作廢,並依憑證種類更新 NetSuite 來源 Invoice 或 Credit Memo(清除或作廢對應表身狀態/號碼,詳帳上訊息)。來源是 Customer Deposit 時只更新訂金上的發票狀態,不把訂金本身作廢。
    • 作廢換開:主檔同樣 已作廢(折讓單會回沖原發票之已折讓金額)。來源 Invoice 清空發票號碼、發票/折讓單狀態、錯誤訊息與鎖定;Credit Memo 清空折讓單號碼、折抵發票號碼、狀態、錯誤訊息與鎖定;Customer Deposit 清空發票號碼、狀態、錯誤訊息與鎖定。交易本身不作廢,以便再走一般開立。
  4. 作廢前閘道(主檔,見 §3.2.1):
    • 狀態須為 已開立。
    • 上傳狀態須為 上傳成功 或 不上傳。若仍為 待上傳/上傳中/上傳失敗,Suitelet 會拒絕並顯示目前上傳狀態。
  5. 其他限制(發票):可作廢本期憑證;單月 15 日(含)以前,上一期仍可作廢。例如 11/15 仍可作廢期別 11510(9–10 月)的發票與折讓單,11/16 起則不可。已有折讓入帳或未作廢折讓單時須先處理折讓。折讓單作廢的期別規則相同,並驗證來源交易存在。
  6. 作廢成功後:主檔 狀態=已作廢;上傳狀態若作廢前為 不上傳(紙本/35 不上傳等)則維持不上傳,否則重設為 待上傳。一般作廢與作廢換開只要作廢後是 待上傳,都會寫入作廢上傳佇列,來源交易有沒有作廢成功不影響排入(須在帳上設定 Credential 並排程或手動執行 Void 上傳 MR)。作廢換開的上傳中、ACK 成功、ACK 失敗與重送都只更新主檔,不回寫來源交易。上傳錯誤訊息清空,並寫入作廢日期/時間/原因。一般作廢時來源 Invoice/Credit Memo 的 發票/折讓單狀態 設 已作廢等待上傳 或 已作廢,不透過NS上傳(與作廢前主檔是否 不上傳 一致)後再 void 交易。來源是 Customer Deposit 時只更新同一狀態,不 void 訂金。
35/33 選上傳:開立後主檔為 待上傳,須 上傳成功(Phase 3 job 或人工)後才能作廢。紙本/35 不上傳 開立即 不上傳,無須再改主檔即可作廢(仍須符合期別等其它條件)。

5.8 背景自動開立(提交與進度)

適用 多筆 Invoice 一次排入背景開立(固定 35-07、透過加值中心上傳)。詳細規格見 背景自動開立。

  1. PCE GUI Portal → 銷項 → 背景自動開立(一般「開立銷項發票/折讓單」確認頁不提供背景開立)。同一 Suitelet 以分頁切換:提交背景開立|進度與結果(舊書籤「進度」部署仍可用,提交分頁會導向主入口)。
  2. 提交背景開立分頁:查詢條件與可勾選清單邏輯同 §5.5(是否開立=是、狀態空白、未鎖定、無發票號碼等);僅 Invoice,單次最多 25 筆。
  3. 清單可填 指定開立日期(套用到已勾選發票)、發票部門/發票分類/自定義發票本配號(預設 不指定。三欄須與發票本完全相同;不指定只對到該欄也空白的發票本。若模組通用已勾選綁定部門或綁定類別,不指定時各張發票改用自己的部門/類別)。背景自動開立不提供通關方式、零稅率原因、出口報單或證明文件。零稅率發票請改走一般開立,在確認頁填寫。
  4. 勾選後按 下一步(背景開立) → 確認頁核對後 提交背景開立。系統立即鎖定來源 Invoice(發票/折讓單狀態=背景自動開立發票、鎖定中=是)並寫入佇列,由背景程序逐筆開立。
  5. 提交成功時自動切至 進度與結果分頁(依內部批次篩選,不向使用者顯示批次 ID 或背景工作編號);畫面顯示 已提交背景自動開立發票→立即查看進度與結果。若有部分筆數未排入佇列,會另提示「另有 N 筆未成功:…」。
  6. 進度與結果分頁:進入時不會自動查詢;請按 查詢。條件含 建立日期(起/迄)、NetSuite 發票編號、狀態(無批次 ID 輸入欄);日期未填時,查詢以 UTC+8 當日 為預設起迄。可看批次摘要與每筆 Invoice 狀態;成功列 發票號碼 可連 PCE 銷項主檔,發票日期 來自主檔憑證日期。仍有待處理或處理中時,頁面約 45 秒 自動重新整理。
  7. 開立失敗時,來源 Invoice 會解鎖、發票/折讓單狀態清為空白,並在 發票錯誤訊息欄顯示「背景自動開立失敗:…」。修正交易後可再開立(一般或背景),成功即自動清空該欄。

5.9 加值中心上傳錯誤清單(重送)

適用 主檔上傳狀態=上傳失敗 的 PCE 銷項資料(開立或作廢出站失敗)。規格見 Phase 3 — 加值中心上傳(TXT+sFTP)與進階控管。

  1. PCE GUI Portal → 加值中心 → 上傳錯誤(customscript_pce_sl_ar_upload_err)。查詢條件:營業人統編、發票/折讓期別(民國五碼雙月)、憑證種類、訊息類別(開立/作廢)。清單最多 100 筆;欄位含憑證號碼、種類、日期、客戶、錯誤訊息、最後 upload_log 時間、主檔/來源交易連結。
  2. 變更條件後勿勾選列,按 查詢/改回待上傳(重送) 可重新查詢。勾選要重送的列再按同一按鈕:主檔改回 待上傳、清空 上傳錯誤訊息,並依 已開立/已作廢 重新 enqueue(Issue 或 Void)。
  3. 實際上傳的 TXT 與下載的 ACK 會存進檔案櫃資料夾 PCE 加值中心交換檔,並掛在 PCE 加值中心上傳紀錄 的 留存檔案。PCE GUI Portal → 加值中心 → 上傳監控 的最近紀錄也可直接開啟該檔核對。
  4. 重送後須手動或排程執行對應的 Issue 上傳 MR 或 Void 上傳 MR,並以 Ack MR 確認加值中心回覆;modsys sFTP 與三支 MR 的 Credential GUID 須先設定(手冊 §4、ar-phase3 §5.1.1)。
  5. 來源 Invoice/Credit Memo 的 發票/折讓單狀態 與 發票錯誤訊息 會一併還原為等待上傳/清空(詳帳上實作);若資料本身有誤,請先修正交易或主檔後再重送。

5.10 營業稅進銷項 TXT 與零稅率 T02

  1. PCE GUI Portal → 營業稅申報 → 進銷項與零稅率(customscript_pce_sl_vat_filing)。已對應的通用系統設定須勾 產報稅檔功能;沒勾時 Portal 不顯示這一組。
  2. 選 營業人、民國年、申報期(1–2 月、3–4 月,以此類推)。民國年從 115 年起。開啟頁面時,單月 15 日(含)以前預設為上一期,例如 11 月 15 日為 9–10 月,16 日才改為 11–12 月。可取消「含空白未使用號碼」。勾「含已申報資料」才會把已勾 已申報 的進項放進 TXT;沒勾則不含。
  3. 預覽筆數 會列出進項、銷項、空白未使用、零稅率筆數,以及要再核對的訊息。
  4. 下載進銷項 TXT 產生 {統編}.TXT(每筆 81 碼)。下載零稅率 T02 產生 {統編}.T02(每筆 83 碼)。進項只含已勾 申報營業稅 的資料;未勾「含已申報資料」時,已勾 已申報 的進項不會進 TXT。銷項含已開立、已作廢、已註銷。進項或銷項單邊在 2 萬筆以內直接下載;超過則改在背景產生。重新整理會留在同一個營業人,背景下載列表直接出現,不用再按預覽筆數。若通用系統設定勾了 申報檔強制背景下載,則不論筆數都改背景。單邊超過 10 萬筆不產生檔案。
  5. 營業人主檔請先填 9 碼稅籍編號 與 縣市。這兩支檔不是銷售額與稅額申報書,也不能列印空白發票。

6. 常見問題

現象可能原因處理
看不到 PCE GUI角色/Center、快取重新整理、確認 Tab Audience、檢查是否在 More 選單
Portal 收合後無法換功能收合時選單刻意隱藏按左側 ☰ 展開選單後再點目標功能
課稅別未對應、無法開立尚未設定 NS Tax CodePCE GUI Portal → 模組設定 → 課稅別稅碼對應 為 1/2/3 指定稅碼
零稅率開立被拒絕未選通關方式或零稅率原因課稅別為零稅率時,一般開立確認頁必填通關方式(1/2)與零稅率原因(71–79)。背景自動開立不收集這些欄位,請改走一般開立
自訂明細合計不符自訂列未稅/營業稅與單頭不同留在確認開立頁;回 PCE 銷項分頁調整金額/營業稅後再開
Items 看不到明細備註表單未加入欄位至 Invoice/CM 表單 Items 子列表加入 custcol_pce_ar_line_remark
開立列數比自訂子列表少開立時合併相同品項+單價+課稅別+品名正常;品名不同不合併;Invoice 自訂子列表仍保留原列
沒有開立按鈕已開立、銷項未啟用、或部署 Audience 為空確認尚未開立;模組通用系統設定 Account ID 與銷項開關;營業人系統設定;Deployment → Audience
銷項 Suitelet 拒絕/下拉無營業人未 Mapping 或該營業人銷項關閉模組通用系統設定 補 Account ID 並啟用銷項;必要時在營業人覆寫為「啟用」
CSV 全部失敗表頭/日期/統編格式下載欄位說明,對照錯誤訊息與失敗列 CSV
CSV 中文亂碼非 UTF-8 編碼Excel 另存新檔 → 選「CSV UTF-8」
發票號碼被拒字軌不符合公告檢查 customrecord_pce_mof_track/期別字軌
自動取號失敗、找不到發票本統編/雙月期別/格式/配號不符、未勾選透過 NS 傳至加值中心,或該本已用盡至 發票本管理 確認字軌、期別、配號與「是否透過 NS傳至加值中心」;錯誤訊息會標示發票本 id
作廢被拒:上傳狀態不符主檔仍為待上傳/上傳中/上傳失敗電子發票須先 上傳成功;若為 上傳失敗 可至 §5.9 重送;待上傳/上傳中則先跑 Issue MR+Ack 或修正主檔
發票本 id:日期不可早於最新取號日期開立日期早於該本上次取號日調整發票日期,或確認是否應使用其他配號條件
手填號碼已使用銷項主檔或 NS 交易已有同一號碼改填其他號碼
手填號碼對到多本多本字軌與起訖範圍重疊縮小統編/期別/格式,或至發票本管理檢查起訖號
API 401Token 過期或 Integration 設定重新取 token;確認 Scope=RESTlets
SuiteApp 部署衝突「script ID already exists」帳上有同名但未綁定本 SuiteApp 的物件先刪除帳上未綁定物件再部署

7. 相關文件索引

文件說明
User guide本文件英文版
進項憑證檢核規則畫面、CSV、API 共用的逐條檢核
AP Write 介接手冊AP Write 外部介接手冊
技術與測試文件AP Write 技術與測試
文件索引CSV 範本、欄位說明、invCatCode 對照(與帳上說明頁同一批)
銷項開立取號流程與邏輯銷項開立取號流程與邏輯
銷項藍圖銷項(AR)規格與分期藍圖
背景自動開立背景自動開立發票(Phase 7)
prototypes/einvoice-issue.html開立銷項發票 UX prototype
專案根目錄 README.mdSDF 專案結構與命名慣例

8. 版本資訊

項目值
SuiteAppcom.netsuite.pceguitw
Project namePCE TW GUI MODULE
Manifest version1.0.0
文件日期2026-10-03